One of the major shifts in technology over the last few years has been the emergence and adoption of NoSQL databases. More and more firms are moving to NoSQL because it’s scalable, distributed, and flexible. Those are all elements that make NoSQL a good choice for today's big data applications.
Ahead of his talk at All Things Open 2015, I interviewed Bob Wiederhold, CEO of Couchbase (which develops and supports the NoSQL database Couchbase Server). Wiederhold offered some insights into the rise of NoSQL and how it can be an ingredient for a company’s success.
What are the advantages of using NoSQL databases for an enterprise?
The main advantages of NoSQL databases are superior flexibility, scalability, and performance. Enterprises increasingly rely on new digital business models that require online customer interactions through web and mobile applications. These applications must be highly responsive and able to support hundreds of thousands, and sometimes millions, of simultaneous users.
The applications need to collect and process huge amounts of information about customers so they can deliver the right user experience. NoSQL is the best option because it is able to deliver the performance, scalability, and unstructured data handling requirements of these applications.
What are the drawbacks?
While we’ve seen some of the largest brands building mission critical applications using NoSQL, it’s still a relatively new space compared to relational databases. There continues to be a skills gap, however we’re seeing more opportunities for learning NoSQL skills through online classes like MOOCs (Massive Open Online Courses) and other free online trainings offered through vendors that are making a significant impact.
What applications are NoSQL databases best suited for?
NoSQL databases are operational databases that are best suited for digital economy businesses that rely on delivering web, mobile and IoT applications. NoSQL provides a more scalable, higher performing, and more easily developed database compared to the relational database alternatives. Typical use cases include user profile stores, session state stores, product catalogs, and event logging.
In what areas do they fall flat?
There are use cases where a relational database is the more appropriate option. A typical example of where NoSQL databases are less effective is a use case that requires multiphase transactions.
Where does open source fit into the NoSQL world?
I believe we are in the early stages of a massive transformation in how software infrastructures will support web, mobile, and IoT applications that are at the heart of digital economy businesses. Most new infrastructure will be based on open source technology and increasingly, proprietary technologies won’t be considered.
For example, all the leaders in the NoSQL industry are open source companies. Likewise, the leaders in the Hadoop industry—Cloudera, Hortonworks, MapR—are also all open source.
How does NoSQL benefit from open source?
NoSQL benefits from open source in a number of ways. Open source projects often innovate faster than proprietary projects due largely to the openness of the community. Open source communities share and spread knowledge about the use of key technologies across companies and industries. This allows NoSQL developers to leverage the contributions from many outside developers.
Open source also allows for a more natural market adoption process. NoSQL technology can be adopted much more rapidly because it can be downloaded and tried for free for exploration or small usage.
What does open source gain from its association with NoSQL?
NoSQL is an example of an industry that is expected to grow into a multi-billion dollar industry that is likely to be dominated by open source-based companies. By 2020, Allied Market Research predicts the NoSQL industry will reach $4.2 billion with a CAGR of 35 percent from 2014. This will represent another important data point that open source use is expanding rapidly and will ultimately dominate the older proprietary model.
Would NoSQL have made the advances and inroads it has without open source?
No. Since open source is free to download and use, NoSQL adoption has been dramatically accelerated by the use of this open source model.
What open source technologies underlie NoSQL?
For Couchbase specifically, we use memcached as our caching layer. It is one of the most widely used open source technologies. We also use about 40 much smaller pieces of open source technology.
Some enterprises are wary of open source. Does the open source connection make NoSQL databases more or less attractive to such enterprises?
So long as there is a commercial company behind an open source project that can provide enterprise-quality 24/7 support, we don’t see much resistance to the use of open source in the enterprise. Enterprises are only leery of open source use when they are forced to support the technology on their own.