NoSQL Benchmarks NoSQL use cases NoSQL Videos NoSQL Hybrid Solutions NoSQL Presentations Big Data Hadoop MapReduce Pig Hive Flume Oozie Sqoop HDFS ZooKeeper Cascading Cascalog BigTable Cassandra HBase Hypertable Couchbase CouchDB MongoDB OrientDB RavenDB Jackrabbit Terrastore Amazon DynamoDB Redis Riak Project Voldemort Tokyo Cabinet Kyoto Cabinet memcached Amazon SimpleDB Datomic MemcacheDB M/DB GT.M Amazon Dynamo Dynomite Mnesia Yahoo! PNUTS/Sherpa Neo4j InfoGrid Sones GraphDB InfiniteGraph AllegroGraph MarkLogic Clustrix CouchDB Case Studies MongoDB Case Studies NoSQL at Adobe NoSQL at Facebook NoSQL at Twitter



Scalable SQL: How do large-scale sites and applications remain SQL-based?

Well rounded ACM article on building scalable SQL solutions authored by Michael Rys[1]:

Building scalable database applications is not necessarily a question of whether one should use a relational database system or a NoSQL system. It is more a question of choosing the right application architecture that is agile enough to scale. For example, combining asynchronous messaging with a relational database system provides the powerful infrastructure that enables developers to build highly scalable, agile applications that provide partition tolerance and availability while providing a high level of eventual consistency.

Scale-out applications with SQL are being built using similar architectural principles as scale-out applications using NoSQL while providing more mature infrastructure for declarative query processing, optimizations, indexing, and data storage/high availability.

First thought after reading the article was that while it is probably possible to build systems with similar characteristics on top of either NoSQL databases or RDBMSs, using NoSQL solutions involves an incremental approach where you create and assemble together the building blocks fulfilling the requirements of the system, while using a relational database translates the set of requirements into solutions to overcome/eliminate limitations of the database. Differently put, using NoSQL databases feels like assembling your systems out of small Lego blocks, while using a relational database might feel like chopping a log to make it take the form you need.

  1. Michael Rys: principal program manager on the SQL Server RDBMS team at Microsoft  

Original title and link: Scalable SQL: How do large-scale sites and applications remain SQL-based? (NoSQL databases © myNoSQL)