The relational database is dead. Okay, that may be a stretch, but thanks
in large part to the demands of massively-popular consumer internet
services and sophisticated enterprise applications alike, more and more
developers are finding that, for certain applications, moving away from
relational databases is not only desirable, but practically necessary.
One of the biggest benefits of ‘NoSQL‘ solutions is that many do away
with schema. In other words, developers don’t need to define a rigid
structure for data, as they do with relational databases. When dealing
with certain kinds of data, this is ideal. Additionally, for some
applications, relational databases have less-than-stellar performance
and can be very difficult and expensive to scale.
The good news is that developers and companies evaluating whether it makes sense to adopt a NoSQL approach have a growing number of options, many of them free and open-source solutions. Here are five of the most prominent worth considering.
Another Apache Software Foundation project, Cassandra is a distributed database that allows for decentralized data storage that is fault tolerant and has no single point of failure. In other words, “Cassandra is suitable for applications that can’t afford to lose data.”
Who’s using it: Facebook, Twitter, Reddit, Digg
Modeled after Google’s BigTable database system, Hypertable’s creators aim for it to be the “open source standard for highly available, petabyte scale, database systems.” In other words, Hypertable is designed for storing massive amounts of data reliably across many cheap servers.
Who’s using it: Zvents, Baidu, Rediff.com
MongoDB is a document-oriented database that uses a JSON-style data format. It’s ideal for website data storage, content management and caching applications, and can be configured for replication and high availability.
Who’s using it: Foursquare, bit.ly, Etsy, The New York Times
A product of the Apache Software Foundation, CouchDB is another document-oriented database that stores data in JSON format. It’s ACID compliant, and like MongoDB, can be used to store data and content for websites, and to provide caching.
Who’s using it: BBC, Skechers, Meebo
Memcached is an in-memory caching system ideal for storing relatively small amounts of data that applications would otherwise need to retrieve from a database. Originally created for LiveJournal, Memcached is now one of the most popular caching tools for large consumer websites.
Who’s using it: Wikipedia, WordPress.com, Flickr, Craigslist