A Look at Open Source NoSQL Databases and Cloud Computing
The paradigm shift to Web 2.0 has led to the enormous popularity of social networking, blogs, articles, and wikis, resulting in the demand for a huge knowledge base across enterprises.
We have two kinds of data: 1) SWUuFWuUHG GDWD, wKLFK LQFOuGHV D SUH-GHfiQHG GDWD mRGHO WKDW fiWV LQWR UHODWLRQDO WDbOHV, H.J., GDWDbDVHV, ;0/ fiOHV, DQG HQWHUSULVH VyVWHmV VuFK DV CR0 DQG (RP. 2) Unstructured data, which does not have a predefined data model, and does not fit into relational models; e.g., RSS feeds, audio files, video files, word documents, emails, and spreadsheets. ‘ Not only SQL’ or NoSQL is a type of database management system that is not centred around the SQLbased relational database model. It is extremely effective when working with a huge volume of structured or unstructured data. NoSQL databases do not use SQL for data manipulation operations.
SQL, NoSQL and Cloud Computing
The focus of traditional databases is mainly on consistency, buW bHLQJ UHODWLRQDO LV QRW QHFHVVDUy IRU VRmH VSHFLfiF uVH cases, and can add avoidable overhead. The use of NoSQL databases opens up the scope for enormous scalability, the ability to grow the capacity of your database on demand, low latency, and a relatively easier programming model—which SQL databases do not provide in a cost-effective manner.
In traditional SQL databases, data is normalised so that it can provide effective results, and prevent isolated records and duplicate data. Normalising data requires multiple tables, which requires multiple join statements, thus requiring more keys and indexes. A primary disadvantage of SQL databases is the high abstraction level. To execute a single statement, SQL often requires the data to be processed multiple times, which takes time, and requires high performance, e.g., multiple queries are executed when there is a join operation. In addition, RDBMSs might not scale out easily—but the new breed of NoSQL databases are designed to expand transparently, and are designed with low-cost commodity hardware in mind.
In SQL databases, there is always a schema involved. Requirements may change, and the database has to be modified to support the new requirements. For example, the application may need two extra fields to store data; with SQL databases, this may take some time and thinking, while in case of NoSQL, it can be done easily, allowing the database to adopt new business requirements. However, SQL databases do have the advantage of better support for Business Intelligence.