The most popular and comprehensive Open Source ECM platform
With the growth of Big Data, there is a proliferation of tools and techniques being developed to corral and analyze all the data being collected. Hadoop is one such technology that’s received it’s share of the hype. Google created the Google File System and the BigTable Database with the objective of becoming more nimble in tracking and acting on huge amounts of data; similarly, Amazon created a storage system called Dynamo. Another category of tools that’s frequently discussed falls into the NoSQL category.
NoSQL tools have three primary characteristics:
- Do not use SQL as the query language and avoid the use of the JOIN operator
- Do provide ACID guarantee [instead, 'eventual' data consistency is guaranteed]
- Allow scale out distribution across multiple machines, rather than scale-up
Popular NoSQL databases include Cassandra, CouchDB, Hbase, MongoDB, MemCache and Redis. Most NoSQL database technologies are Open Source and often tuned to work well in the cloud. A drawback of these technologies is that their focus to date has been on scalability and fast data transactions, with less of a focus, or even much thought, about being able to run within the enterprise. InformationWeek bluntly criticized the technologies as often lacking basic security.
Others question the overall hype around NoSQL technologies. NoSQL is not a replacement for RDBMS.
NoSQL databases excel at applications like serving web pages on high-traffic websites, delivering streaming media, and applications with low or nonexistent data integrity requirements. But in many cases NoSQL databases are a poor replacement for many standard business software applications that run today and handle and process huge volumes of very structured data. In order to emphasize the that NoSQL is more of a complementary technology, rather than a revolutionary replacement for existing data management tools, some people are beginning to translate the term ‘NoSQL’ to stand for ‘Not Only SQL’.