I have been busy travelling recently but thought I would jot down a couple of NoSQL myths that are fresh in my head from my recent discussions.
- Twitter use Cassandra internally but have not migrated their tweet store, despite their earlier plans to. For now tweets are still stored in MySQL.
- Despite the widely accepted view that the use of Cassandra led to Diggs issues a couple of Digg engineers have apparently discounted this.
- Despite the widely accepted view that NoSQL databases all use eventual consistency this is not so. HBase, for example, offers full consistency.
- Despite the widely accepted view that NoSQL is only about unlimited distributed scalability this is also not so. Some of the most popular NoSQL platforms have fairly rudimentary (traditional RDBMS like) scalability options. Such as CouchDB and MongoDB which use sharding + replication to achieve scale.
- Despite being commonly reported as “easy to install” or “easy to use” the benefits of a document object model are much more significant. Why did we spend so much time during the 90’s trying to build ORDBMS? Because the object-relational impedance mismatch is major and this translates into significant development overhead. It is not uncommon to see 30-60% of all code in some applications purely “plumbing” to deal with mapping data to and from the RDBMS. This is not something necessarily well understood by DBA’s or even some long time database designers, something I will write a follow up post on.