As long as there have been computers, data storage and access has been an issue. At the height of the so-called “Web 2.0″ era, SQL databases were the talk of the town. The LAMP stack (Linux Apache MySQL and PHP) was the savior of dynamic websites around the world. Even today, MySQL and other SQL databases still play an important role, but there is also another option, particularly for high volume, high traffic websites. It is called NoSQL.
Over the past few years, NoSQL has gained significant traction and has become the database type of choice for many organizations. As the name implies, NoSQL is defined by what it is not. This makes the term very generic, as technically, any database that is not written in the SQL language could be NoSQL. Those who have attempted to define it have generally agreed on some other characteristics:
- It does not use a relational model, such as those found in relational database management systems (RDMS)
- It is designed to run on large clusters
- There is no scheme; fields are added to any record without controls
- It is intended for scalability, performance, and data model flexibility
NoSQL was truly created out of necessity, as major Internet companies such as Google, Facebook, and Amazon found themselves hitting a ceiling with their old database systems. They developed new systems, and in some cases, released those systems to the public through open source or proprietary licenses. As more enterprises adopt complex web-based applications that store session info, user-generated data, audio, and video, they require databases with greater agility and capabilities. NoSQL has fulfilled many of those needs.
The Major Players
It did not take long for startups to latch onto NoSQL and start offering services to enterprise customers. Over time, some of them have become very commercially successful offering NoSQL services in particular and Big Data services in general. Among the major players are the following companies:
- MarkLogic (proprietary) – Clearly the leader of the bunch in terms of revenue, MarkLogic’s enterprise NoSQL database has been around longer than many of the others and is available on a wide variety of server platforms.
- DataStax (open source / proprietary) – DataStax specializes in offering its customers enterprise-ready implementations of the open source Apache Cassandra. It describes its complete package as a “NoSQL database platform” that offers security, analytics, and monitoring features.
- Basho (open source) - Developers of the open source distributed database Riak, Basho deploys the database in enterprise-grade environments and promises availability, scalability, fault tolerance, and operational friendliness.
- Couchbase (open source / proprietary) – Described as a document-oriented NoSQL database, Couchebase stores data in JSON documents without the constraints of a fixed database schema. The company calls it easy to scale, flexible, and consistent in high performance.
- Aerospike (proprietary) – Relatively new to the game, Aerospike Database provides a flash optimized data layer, a self-managed distribution layer, and a cluster-aware data layer. It is designed for flash storage, although it can still work with traditional hard disks. It is known for its very fast response time and flawless uptime.
- MongoDB (open source) – MongoDB has managed to make the news as of late, raising $150 million in what has been called the largest database funding ever. Offering document-oriented storage, indexing, high availability, querying, and many other features, MongoDB describes itself as the “leading NoSQL database” based on Google Trends searches and other characteristics.
All of the above major players specialize in big data. It is their business, but many large corporations have also stepped up to the plate, including Amazon (DynamoDB), Oracle, IBM (in partnership with MongoDB), and others. These corporations have clearly noticed the rise of NoSQL, and we will likely see more partnerships and acquisitions of NoSQL companies in the future.
Current and Future Challenges
NoSQL is still relatively new, and while some have adopted it wholeheartedly, others range from reluctant to completely opposed to the new technology. There are a number of challenges that NoSQL still faces:
- Lack of trained administrators and developers. The most senior devs and admins have made their livelihood writing code for and managing SQL databases. NoSQL may be uncharted territory for many
- CIO caution – As one might expect, many CIOs are cautious and avoid jumping into new technology that they feel might not be ready for primetime.
- Few complementary applications – While some of the NoSQL databases might have even reached maturity, many CIOs want to see more analytic and transactional applications built around NoSQL and Big Data technology. They also want application development tools that allow them to build their own custom apps.
The future mostly looks bright for NoSQL, and it is clear that it has found a place for itself in the Big Data market alongside Hadoop. Over the next few years, expect to see more competing open source implementations, more startups, and more corporations partnering with startups and/or acquiring them. This will lead to more developers and administrators trained in NoSQL databases and ultimately more customer adoption.