Friday, September 16, 2011

NoSQL to NewSQL


Wow!! Its amazing how technlogy changing, it was few months back I was reading all good thing about NoSQL solutions. Recently came acorss another big buzz word, called “NewSQL”. 
Its like going from SQL to NoSQL and now NewSQL. Let me try to point out current major trend in the industry.

-NoSQL databases, designed to meet the scalability requirements of  distributed architectures, and/or schemaless data management requirements, 

-NewSQL databases designed to meet the requirements of distributed architectures or to improve performance such that horizontal scalability is no longer needed. 

-Data grid/cache products designed to store data in memory to increase application and database performance.

While NoSQL is still emerging and gaining popularity, such as MongoDB and Cassandra, as an answer to the limitations of traditional database systems.
Like any other technology there are some short coming or other problems: Many of the NoSQL solutions doesn’t provide ACID (atomicity, consistency, isolation, durability)-level operations, a widely used set of metrics that assure that a database-driven online transaction is carried out accurately, even if the system is interrupted. Assuring ACID compliance can be written in at the application layer, though writing the code for such operations.
Lastly, each NoSQL database comes with its own query language, while most of these follow key, value pair but still making it difficult to standardize application interfaces.
In contrast, NewSQL can provide the quality of assurance associated with SQL systems, while offering the scalability of NoSQL systems.
The NewSQL approach involves a number of novel architecture designs. It eliminates the resource-hogging buffer pool by running the database entirely in main memory. It removes the need for latching by running only as a single thread of the server (though some overhead would still be needed for other locking operations). And expensive recovery operations can be eliminated in favor of using additional servers for replication and failover.
Also, one of the most important aspect enterprise don’t have to re-write application to code against NewSQL solution.
It's amazing in short duration there are many NewSQL provider available in the industry to choose from. 
Here are some NewSQL solutions - Clustrix, EnterpriseDB, GenieDB, ScalArc, Schooner, VoltDB, RethinkDB, ScaleDB, Akiban, CodeFutures, ScaleBase, Translattice, and NimbusDB, as well as Drizzle, MySQL Cluster with NDB, and MySQL with HandlerSocket. The associated “NewSQL-as-a-service” category includes Amazon Relational Database Service.