‘Big Data’, ‘Non SQL DBMS’ and the ‘Internet of things’ are all terms we have heard of in recent times, but what do they actually mean? The ‘internet of things’ is nothing but the future of the internet where each and every device that a person uses, from the air conditioner in your bedroom to the water heater in your bathroom, will be online and remotely accessible. So what does this have to do with ‘big data’? Well, data is what makes the internet of today function. Social Networking sites work because they have data about over billion people stores on their databases, travel sites work because they contain data about different airlines and their flights etc. This data is constantly being updated and maintained. Now that the internet is undergoing changes and expanding its reach, the traditional methods of storing and updating databases have become cumbersome and inefficient. This is because there is a lot more data to be handled on the internet right now and also because the kind of data being stored is also changing.
Up until now the databases being used were SQL (Structured Query Language) based systems. This type of data structure has been in use since the 1970s. It is a simple tabular data structure, similar to a Microsoft Excel sheet, where you have different items being represented by each row while every column represents a particular type of information. This structure is simple and therefore easy to manage as long as you have simple data. It becomes difficult to manage when you have ever changing types of data that requires you to continuously change the fields (or columns) of your database. In order to solve this and other problems related to SQL databases; there have been developed, a number of new DBMS (Data Base Management Systems). Let’s take a look at some of them:
Document Databases – In this form of DBMS, data is stored in collections of different documents. The documents are formatted differently and there are links between the different documents.
Key Value Store – A very simple and old method of data storage. This method stores pairs of keys and accompanying data. Its simplicity makes it unsuitable for complex operations but its strength is in its high speed performance.
Graph Databases – A complex database suitable for changing, dynamic data. This system uses graphical structures to store data. It contains ‘nodes’ that contain data about different items in the form of ‘properties’ and all of these nodes are connected via ‘edges’ that are lines connecting all nodes in the database.
Columnar Databases – This is a system specifically designed to handle large amounts of data. It is somewhat related to traditional SQL. Instead of each row storing data pertaining to different fields/columns, the columns contain rows of data. This way there is no need to predetermine the number of columns needed before designing the database. Columns can always be added to accommodate more and different kinds of data.