In this article I would like to go through pros of NoSQL and how it will fit in your office environment by that what I mean is if that will work for your organization and if that make any different in your daily day to day database activity like for data warehouse and OLTP, as there is many confusion about the name of this new technology.
In order to get the full picture about what NoSQL is we have to take into the picture the relation database that we work with now days and if you look into the bellow example it is a typical picture of how a conventional database looks like and you can see we have two simple rows.
Customer Table Relation Database:
|1235||James||Parker||NJ high school|
In above example “Customer” table you can see we have two rows in the table and you can think of rows as records in the database and the columns are field in the typical relation database and the way a relation database works is like you have multiple tables in one single database and then you will have a relationship between those tables in some way or other and in this example that we discuss we are have another table Orders below which the ID is foreign key to the purchased Item, which means that each of the customer ordered two items and it’s connected with their ID in this case we know that which order belong to which customer while doing analysis.
Order Table Relation Database:
But if we switch back to the NoSQL databases then things are changing completely and they look completely different from traditional relation database bellows table is an example of NoSQL database.
Customer Table NoSQL:
As you can see in above example of NoSQL database in first three column all data are the same but when it goes to the fourth column you can easily notice that the last column the names are different as well as the data, if it would have been tradition Relation Database then we have to have 5 column instead of four column and the last column for both records would be different in one the School would be empty and the other one the university would be empty.
As you can see with examples given the difference between NoSQL and traditional relation database and we have discussed the usage or how they are useful in the relation database you obviously have the power of relation (joints) between tables and you can easily do slicing and dicing the data easily based on fact table to speed up the output and reduce querying in all data that exist in the database.
I would like to discuss some of the usage where we can use NoSQL database here, and by no mean they are the only environment that we can use NoSQL database but these are some of the examples that I think they are using, this does not means they are using but they are good candidate to use.
- Addresses: as address are not structured data that is why they are best candidate for NoSQL.
- Documents: as same addresses these are also none structured data and it’s best to used.
- Friends & followers: the whole social graph can be a good fit.
Last but not least the other reason why people are using it is because it can very well handle the biggest concurrent connection to sites or Apps even though it would not be a big data to retrieve but the concurrent connection to request from server this can be handled very well by NoSQL, and also it’s very good in scalability you can scale NoSQL database very efficiently in the coming articles I will be explaining the usage of it and how it can be scaled efficiently.