As mentioned in my previous publication about NoSQL databases it’s impossible to have Consistency, Availability and Partitioning simultaneously (it’s the “CAP theorem”).
On the other hand, classical Relational Databases are not scalable enough and cannot provide the same performance as the NoSQL solutions.
That’s why some relational databases providers are trying to find technical alternatives to close the gap between SQL and NoSQL capabilities.
The “NewSQL” is a movement promoting a new type of relational databases (or extensions for existing relational databases). It seeks to provide the same scalable performance of NoSQL systems but it’s still based on a relational paradigm and it keeps the good old SQL as the query language. Moreover it guarantees ACID transactions (Atomicity, Consistency, Isolation, and Durability).
The term “NewSQL” has been created by Matt Aslett from “the 451 group”. He writes:
“ ’NewSQL’ is our shorthand for the various new scalable/high performance SQL database vendors. We have previously referred to these products as ‘ScalableSQL’ to differentiate them from the incumbent relational database products. Since this implies horizontal scalability, which is not necessarily a feature of all the products, we adopted the term ‘NewSQL’ in the new report.
And to clarify, like NoSQL, NewSQL is not to be taken too literally: the new thing about the NewSQL vendors is the vendor, not the SQL.”
The NewSQL’s goals are to bring the benefits of the relational paradigm to distributed architectures or to provide so good performances that horizontal scalability is no longer a necessity.
The “NewSQL promise” in brief:
Is NewSQL a competitor for NoSQL ?
A priory no, technically NoSQL offers specific benefits (flexibility due to the “schema-less” approach, natural integration with REST and JSON, etc) but with the historical usage of SQL everywhere and with the inevitable resistance to change it could curb the NoSQL adoption because it allows to continue to use existing SQL code and SQL skills.…
Some NewSQL solutions :
- VoltDB (in-memory database) : http://voltdb.com/
- ClustrixDB (distributed peer-to-peer SQL database) : http://www.clustrix.com/
- NuoDB (distributed database management) : http://www.nuodb.com/
- GenieDB (based on MySQL) : http://www.geniedb.com/
- ScaleArc (SQL traffic manager ) : http://www.scalearc.com/
- ScaleDB (MySQL scalability) : http://scaledb.com/
- Tokutek/TokuDB (MySQL/MariaDB scallability): http://www.tokutek.com/
- JustoneDB (built upon PostgreSQL) : http://www.justonedb.com/
- MemSQL (in-memory database) : http://www.memsql.com/
Some “In-Memory” databases provided by big vendors
- SAP Hana : http://www.saphana.com
- Oracle TimesTen : http://www.oracle.com/us/products/database/timesten/overview/index.html
- IBM solidDB : http://www-01.ibm.com/software/data/soliddb/
SQL, NoSQL or NewSQL : now you have the choice !