Why NoSQL and how it will disrupt big data
Apr 7, 2014No secret that interactive applications have undergone some critical changes over the last fifteen years, and so have data management requirements. As more businesses understand the value of Big Data management on clusters of standard servers, NoSQL comes to be a viable alternative to relational databases such as DB2, Oracle or SAP that are very good at updating transactions and handling complicated update consistency issues, but fail at scaling to very large data sizes, and performing unstructured data search properly. Another weakness of relational databases consists in their inability to implement certain basic queries such as a shortcut between the two points.
In order to answer the question why NoSQL is a better alternative to Big Data management, let’s review the three trends that are disrupting the database status quo now.
1. Ever growing numbers of users
Remember the days when 1,000 daily users to your business application could wow your top management, and 10,000 users was just an extraordinary case? Today, even millions of daily users can’t surprise anyone, and are, in fact, pursued by many business apps. Numbers of app users increase due to a significant spread of the Internet and mobile technologies and the growing popularity of smartphones and tablets across the Globe. It’s a business critical task to support Big Users, but you need to consider the following factors to do it efficiently:
- Your newly launched app can go viral and get a million of users overnight, and
- All users are divided in 3 main categories: 1) very active users, 2) occasional users, and 3) the tried-once-and-never-returned users.
As such, your app usage patterns are rather dynamic and volatile, so you need an easily scalable database technology to manage users. SQL based databases do not allow any dynamic scalability, whereas NoSQL databases do!
2. Big Data
Today, data is very easy to capture and access via 3rd party platforms such as social media networks (e.g., Facebook or LinkedIn), or business information providers such as D&B or Hoovers. Examples of this data are many: personal user data, geo location information, social graphs, machine-to-machine, user- and sensor-generated data, etc. Big data has a tremendous impact on many areas of our daily life including shopping, advertisement, entertainment, relationship management, and many more. Apps that don’t leverage Big Data quickly simply have no chance to stay ahead of the competition and are condemned to fall behind quickly. Since most of data is very unstructured and chaotic, developers should be able to build applications able to store it efficiently. Because schema-based (or relational) databases are rigidly defined and can’t integrate new data types quickly and properly, NoSQL is a way to go, as it enables databases to map better to the most up-to-date data storage and maintenance needs.
2. Cloud
Almost everything is in Cloud today, either public or private, and large numbers of users are pretty easy to manage with this technology. Cloud allows you to add new commodity servers to the web app for every 10,000 concurrent users (or 100,000 depending on your daily traffic) to better manage them. Relational databases make it extremely difficult to manage Big Data in Cloud because of their centralized technology focused on scale-up rather than scale-out. NoSQL databases are meant to be distributed and also focus on scale-out which makes them a much better choice for the three-tier Internet architecture.
Now let’s wrap up:
- Compared to relational databases, NoSQL is a more flexible database model, as it uses clusters of standard physical or virtual servers to store and support Big Data
- NoSQL is a cheaper technology due to its focus on scale-out of data and its open source nature
Have anything to add to the list of NoSQL advantages? Let’s make it longer together!