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.

Open PDF

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

Tags

Communities of Interest

  • Biomedical
  • C4I

DTIC Thesaurus Topics

  • Big Data
  • Commerce
  • Computer Programming
  • Computing System Architectures
  • Data Analysis
  • Data Centers
  • Data Sets
  • Databases
  • Engineering
  • Health Services
  • Lessons Learned
  • Operating Systems
  • Packet Loss
  • Relational Databases
  • Software Development
  • Test And Evaluation
  • Throughput

Fields of Study

  • Computer science

Readers

  • Database Systems and Applications
  • Distributed Systems and Data Platform Development
  • Systems Analysis and Design

Technology Areas

  • Space