Quality Attribute-Guided Evaluation of NoSQL Databases: An Experience Report
Abstract
NoSQL is a family of database technologies that promises to provide unprecedented levels of performance, scalability and availability by simplifying data models and supporting horizontal scaling and data replication. Each NoSQL product embodies a particular set of consistency, availability and partition-tolerance (CAP) tradeoffs, along with a data model that reduces the conceptual mismatch between data access and data storage models. For software developers, the choice of a NoSQL technology imposes a specific distributed software architecture and data model, making the technology selection one that is difficult to defer in a software project. This means technology selection must be done early, often with limited information about specific application requirements, and the decision must balance speed with precision as the NoSQL solution space is large and evolving rapidly. In this paper we present the method and results of a study we performed to compare the characteristics of 3 NoSQL databases for use in healthcare. We describe the aims of the study, the experimental method, and the outcomes of both quantitative and qualitative comparisons of MongoDB, Cassandra and Riak. We conclude by reflecting on some of the fundamental difficulties of performing detailed technical evaluations of NoSQL databases specifically, and big data systems in general, that have become apparent during our study.
Document Details
- Document Type
- Technical Report
- Publication Date
- Oct 18, 2014
- Accession Number
- ADA613928
Entities
People
- Chrisjan Matser
- Ian Gorton
- John Klein
- Kim Pham
- Neil Ernst
- Patrick Donohoe
Organizations
- Carnegie Mellon University