Category: Shaking Enterprises
Last Updated on Wednesday, 09 May 2012 12:59
All the cloud marketing is forcing a public review of all computing concepts... now it's time of... databases. SQL.
SQL language rules the current generation of databases. Since its birth (1970), it became the most widely used language for relational databases. We can fairly say SQL is well structured and with a solid foundation, very matured. Today, it's omnipresent. We are talking about MySQL, Oracle, SQLServer, etc. Everyone in the computing business has created at least some tables to model a system.
When I said SQL has a solid foundation, I mean the language is formally proved to be consistent (ACID properties), to guarantee transactions in order to preserve the information. The problem comes when we try to keep the consistency in a networked and distributed environment.
In a cloud fashion, there's a movement claiming for no more SQL, NoSQL. "NoSQL is a movement promoting a loosely defined class of non-relational data stores that break with a long history of relational databases.". So we have to forget the nice SQL place, and begin to think about Blobs (big large binary objects), data distribution, clustering, and redundancy.
To name some actors, we have several categories:
- Wide Column Store / Column Families (e.g. Hadoop / HBase, Cassandra)
- Document Store (e.g. CouchDB, Jackrabbit)
- Key Value / Tuple Store (e.g. Amazon SimpleDB, Azure Table Storage)
- Eventually Consistent Key Value Store (e.g. Amazon Dynamo, Voldemort)
- Graph Databases (e.g. Neo4J)
- Object Databases (e.g. Objectivity, Gemstone)
- Grid Database Solutions (e.g. GigaSpaces)
- XML Databases (e.g. EMC Documentum xDB)
- other databases (e.g. IBM Lotus/Domino)
Hype comes from vendor-oriented technology, trying to standardize a solution (as open source project... or not). Also, we are talking about young technologies, being developed along versions (missing features or performance issues are frequent). At the beginning, most of them were developed for a specific internal need, and further developed.
In our company, OQUMA, we have successfully implemented Jackrabbit as our core document management technology. The experience was smooth, and it's works pretty fine. Also, (very important) there's a wide ecosystem of companies working with it (Day Software, Nuxeo, Hippo, JBoss GateIn + EXO, Drools Guvnor, etc)
To be fair, SQL is always to be between us, because it's proved to be solid and solves the most frequent scenario. So, now the misleading term "nosql" is translated by the community mostly to "not only sql".