In the first and second part of this blog series, we saw some basic differences between the scalability of Relational and Non-Relational Databases. In this post, I will show you how to use these databases correctly, and also tell you about some well-known companies that use these databases.
In the first part of this blog series, I talked about ACID properties. These properties are important to maintain a tight transactional integration. There are some industries like banking, retail, etc., where each transaction requires ACID properties. In bank transactions, if one account is credited, another should be debited. The partial update is never allowed, as it will affect the data integrity — Oracle, SQL Server, MySQL, and other RDBMS are used in this scenario.
Non-Relational Database (NoSQL DB)
In the first part of this blog series, I also talked about BASE properties. These are important to keep data consistent across all nodes in a database. Any information that does not require strict data integrity can be stored in a NoSQL DB. For instance, contents of a Search Engine System can be stored in a non-relational database, because it is easy to retrieve information quickly. A good example of a search engine system is Google. Google usually stores its cached web pages in a web layer that is refreshed periodically. These databases can store terabytes of historical data (say credit card transactions of a bank, for the past 5 years) in a distributed environment. It is easy to do analyze and mine data in a NoSQL DB using SQL-Like HIVE data warehouse software. NoSQL DBs can be used to store massive volumes of unstructured data and are suitable for text analysis too.
I have listed some top organizations who use these databases:
SQL Server: LG Electronics, MySpace, Hilton Hotels.
ORACLE: British Telecom, MasterCard, Reliance Ltd.
MySQL: Facebook, Twitter, LinkedIn. Facebook uses MySQL to store user interaction like status updates, shares, likes, etc.
CouchBase: LinkedIn, AdAction.
Cassandra: Facebook, Twitter, Digg.
MongoDB: LinkedIn, Pearson.
Neo4j: Cisco, eBay, etc.
As you have seen, companies like Facebook, Twitter, and LinkedIn use both Relational and Non-Relational Databases, based on their requirements.
Now let me return to the first part of this series, and answer the following questions:
Are relational databases capable of handling big data?
Are relational databases scalable?
Are relational databases suited for the modern age data requirements? Such as Real-time analytics, dealing with unstructured data?
The answer to all these questions is a vehement “YES”. Relational databases are not going away in this social world. Based on the nature and complexity of the data set, the right database should be used. Both Relational and Non-Relational Databases have their own advantages and disadvantages. The correct environment set up can make use of relational and non-relational databases in a proper way like how Facebook, Twitter, and LinkedIn have done it.