Hybrid SQL-NoSQL Databases Are Gaining Ground

Hybrid SQL-NoSQL database solutions combine the advantage of being compatible with many SQL applications and providing the scalability of NoSQL ones. Xeround offers such a solution as a service in the cloud, including a free edition. Other solutions: Database.com with ODBC/JDBC drivers, NuoDB, Clustrix, and VoltDB.

Xeround provides a DB-as-a-Service based on a SQL-NoSQL hybrid. The front-end is a MySQL query engine, appealing to the already existing large number of MySQL applications, but its storage API works with an in-memory distributed NoSQL object store up to 50 GB in size. Razi Sharir, Xeround CEO, detailed for InfoQ:

Xeround provides a database-as-a-service for MySQL applications in the cloud. With it, developers can easily run their applications in the cloud and automatically scale up or down, all while ensuring availability in the event of failure or schema change. It has a true native 100% MySQL front end, not an emulation or alike since we continue using MySQL front end and uses our patented Telco pedigree as an alternate storage engine. As Hadoop is a distributed file system, we're a distributed object store balanced by a hash table. We run in memory so allocation resource on-demand in an elastic and linear mode is by-design. We were designed from day one as a virtualized solution, so we're not suffering from the pains of adjusting a traditional single storage solution into a cloud virtualized and distributed one.

The service runs in the cloud providing the high-availability (99.9%) and scalability generally associated with a NoSQL data store, it can be deployed on Amazon EC2 and Rackspace, and can be used as an add-on on Heroku for databases up to 500MB. Regarding failover, Sharir said:

End users do not need to care about failover – this is the beauty of a service. We run multiple replicas under the hood in a transparent mode to the end user. We handle failover, scalability, etc. Nothing to actually configure. We're like a peer network where all the nodes both read and write, i.e., we do not really care for master failover and read replicas… We add/remove resources on the fly to reflect scale and HA – this is what we're running live in a telco setup.

Xeround normally has charged the service per GB per hour, but they have decided to offer a free version of the service suitable for small applications and development, the database having a 10MB limit, and two new fixed-tier editions with higher scalability, additional support and SLA: Basic - up to 100MB for $17/month and Pro – up to 250MB for $33/month. Xeround Free is currently available only on Amazon EC2/US and as a Heroku add-on with plans to extend the service to other data centers, while Basic and Pro are available on Amazon, Rackspace and Heroku.

There are other solutions more or less similar. Database.com services via Progress Software’s ODBC and JDBC Connect Drivers (beta).

Also in beta, NuoDB is a NoSQL database with a SQL front-end understanding SQL 92 statements with ‘99 extensions and accessed from applications through ODC, JDBC, and ActiveRecord drivers. NuoDB is supposed to run on any key-value store and be deployed on Amazon, Rackspace, etc.

Clustrix offers a hardware solution advertising linear scalability as nodes are added to the database cluster. It comes with appliances having a 4 or 8-cores processor, 24-48GB RAM, and 448-896GB SSD. It supports MySQL, it is fault tolerant, and the entire cluster is seen and managed as one database.

VoltDB is an in-memory RDBMS with SQL and ACID transaction support plus Hadoop and OLAP database integration, advertising great scalability due to its shared-nothing architecture. It does not provide DB-as-a-service, being a software solution for the datacenter. It also comes with EC2 and WMware images so one can evaluate it in the cloud.