With more than 100 different NoSQL databases available, how do you choose one for your enterprise? InfoWorld suggests choosing one of the three most popular: MongoDB, Cassandra, and HBase.
Before looking at these three further, let’s look at the wider NoSQL environment. There are now five different categories, or classes, of NoSQL databases, according to Meta S. Brown, author of Data Mining for Dummies, writing for Forbes. Each of these is best suited for specific types of data analysis. The categories include column families, which are also known as wide-column stores or columnar databases; document, built for storing documents such as e-mail; graph structure databases, ideal for working with web applications; key-value, designed for developing applications; and native XML databases.
Since you can’t realistically use more than few types of these technologies simultaneously, no matter the size of your enterprise, let’s look at what makes MongoDB, Cassandra, and HBase popular.
MongoDB is the most popular NoSQL database, according to the latest DB Engines ranking for July 2015. It is ranked fourth overall, having swapped places with PostgreSQL since June 2015.
It’s attractive to database application developers because it is similar in function to a relational database—it has document-level ACID properties, for example, and supports commonly-used types of authentication—and is easy to learn. MongoDB has the same basic data model for both its code and database, which users find helpful in application development. Users can also reportedly implement it across a variety of project types.
MongoDB is designed specifically for online transaction processing, but is used for various applications including mobile applications, customer data management, and content management. It is open source and counts CERN, Expedia, The Weather Channel, and Under Armor as customers.
Cassandra is also in the DB Engines Top 10 ranking; it’s the second-ranking NoSQL database on the website’s list. It is being developed by the Apache Software Foundation.
Database developers like Cassandra for the way it scales, which is an increasingly important feature as operations grow and continue adding new resources. When clusters are added in a data center, for example, it easily takes care of the operations. It is touted for shining in high-performance settings.
Some users are wary about the learning curve associated with Cassandra, especially seeing as it has its own CQL query language. Developers will find it works with various mainstream programming languages, including C#, C++, Java, PHP, Python and Ruby.
Cassandra reportedly works ideally for applications such as fraud detection, messaging, and creating catalogs and playlists. It counts BestBuy, Comcast, The New York Times, and Sky among its users.
HBase has obtained its popularity as a result of its kinship with Hadoop. It runs atop the Hadoop Distributed File System. Like Cassandra, it is being developed by the Apache Software Foundation. It is a column-oriented key-value store database and it also incorporates aspects of BigTable—a database storage system based in part on Google File System—into its design.
It integrates well with Hadoop, and users like that it is able to use both SQL and queries using tools such as Cloudera Search.
It is ideal for use with data stored in very large tables, according to Apache. It is best for use with applications needing fast and random access to data.
Moving to NoSQL
If you’re still intrigued about adopting NoSQL in your organization, Brown advises consulting those people within the organization affected by moving to a NoSQL database prior to making a selection. The options should be carefully researched before making a move.
Matt Asay, vice president of mobile at Adobe, concurs:
Each database comes with its own strengths and shortcomings, but each of the three profiled here has filled a major hole in the big data landscape. While it’s possible that a new database will come along to claim a spot in the NoSQL top three (DynamoDB?), the reality is that developers and the enterprises they serve are already standardizing on a few strong options: MongoDB, Cassandra, and HBase.
This is not to say there are not upstarts seeking to upset the proverbial NoSQL apple cart. Redis is a good example. Redis Labs secured $15 million in funding precisely to help position its products to take on MongoDB and Cassandra in the still growing NoSQL database market. To date, its customers include Bleacher Report and Docker. InfoWorld specifically left it off their list because, “While a great data store, it’s primarily used for caching data and isn’t well suited for a wide array of workloads.”
Will using a NoSQL help your business now? Maybe, maybe not. But knowing what these databases do and where they fit will help you know the moment when the answer is “Yes.”
Datavail can work with you to support your database environment, whether it’s NoSQL or SQL. To learn more about our remote database services and how our experts can help with your ongoing database operations, please contact Datavail to discuss a custom solution designed for your enterprise. For more solutions to common and advanced DBA-related questions, please visit Datavail’s blog.
EPM applications help measure the business performance. This post will help you choose the best EPM solutions for your organization’s needs and objectives.
Which RAID should you use with SQL Server? Learn the differences between RAID 0, RAID 1, RAID 5, and RAID 10, along with best practices.