NewSQL or NoSQL – how to pick?

The title was interesting enough that I drove to Santa Clara to listen to a panel discussion this last week. The companies present were: TransLattice, MemSQL, Basho, and GenieDB. Out of the four companies present, only Basho (product Riak) was in the NoSQL category. The rest were in the NewSQL camp (whatever that means). I must say I was quite disappointed with the discussion.

GenieDB gives distributed database dimension to MySQL. That is their market and they offer that “globally distributed” functionality as a service. MemSQL  offers real-time analytics using the cloud delivery model, mostly via in-memory processing. They address a very different need and has very little to do with “operation data store” for transaction processing. TransLattice offers high availability and performance. This is what their website claims: TransLattice Elastic Database (TED) is the world’s first geographically distributed relational SQL database server. TED is built for online transaction processing (OLTP) and supports varying application loads (from small to huge) with high-availability and exceptional performance for remote users.

As you can see the group is quite diverse and camping them as NewSQL is also a strange force-fit. The only thing one could say is that all three support SQL as the database language. All of them claim scalability and performance including Riak. A database management system does many more things than supporting a query language. From my long years of working with DB2 and Oracle, I can say that it takes years to build extreme reliability, performance, and operational robustness. It’s not a fluke that that business is a $30 Billion market. These new products have a hard time identifying exactly what pain-points they are addressing and how fast customers are lining up to embrace them. As I have said before, pain killers sell, not vitamins. After listening for an hour, one feels like they are all making similar claims. Each one says they are far cheaper than the current RDBMS products. But for doing what? The NoSQL camp at least emphasizes the data model as a huge differentiator. But Riak is a key-value store and how far can that go addressing complex business objects. It’s fast as we know from 3 decades back. Hence the application portfolio will be limited.

There was some discussion on ACID vs eventual consistency. The general assumption is that most NoSQL products lack ACID properties, which is not necessarily true. For example, a MongoDB document (object) can be a complex one with nesting and hierarchy. Hence offering consistency within such a complex object can be adequate for many businesses. When you transcend one object within a transaction, then they forfeit consistency in favor of availability and partition tolerance (CAP theorem). MongoDB provides excellent durability via its locking scheme. The most important attraction of MongoDB is the simplicity of its data model and hence the agility for software developers.

Maybe it was me who expected a much more animated discussion and a clear articulation, but the mix of companies were like comparing apples to bananas. I had to mentally sort out what each one was trying to address from a business standpoint. What we don’t want is a solution looking for a problem.

Advertisements

2 responses to “NewSQL or NoSQL – how to pick?

  1. Good post. I learn something totally new and challenging
    on blogs I stumbleupon every day. It’s always useful to read content from other writers and practice a little something from their sites.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s