In the history of modern databases, relational database management systems (RDBMS)—typically including the use of SQL (Structured Query Language) for both data definition and data manipulation—have been pre-eminent. But in recent years, other mechanisms for storing and retrieving data have emerged that may be better adapted for scenarios involving, for example, unstructured data, distributed data, and/or big data.
A major subset of these emerging mechanisms are known as NoSQL databases. (For an introduction to these databases, see the article here.) Anything characterized by what it is not is often hard to pin down. The corresponding LCSH, "Non-relational databases," also fails to indicate the nature of these databases. Not surprisingly, NoSQL databases are not one thing, but take various forms, which are themselves known by a variety of names: key-value stores, document stores, XML databases, column store databases, column family stores, graph databases, triple stores, and so on.
Where then should literature on NoSQL databases be classed in the DDC? In considering this question, we took into account what the 2012 ACM Computing Classification System (ACM CCS) does with "Key-value stores," which are at the heart of the "structure" of NoSQL databases. The ACM CCS uses this hierarchy: Information systems / Data management systems / Database management system engines / Parallel and distributed DBMSs / Key-value stores. Similarly, in the DDC, we have decided that NoSQL databases are best classed in 005.758 Distributed data files and databases. To make that clear, the phrase "key-value stores" has been added to the class-here note at 005.758 and a large number of Relative Index terms for various forms of NoSQL databases now index that number.
Examples of works that should now be classed in 005.758 include the following:
But what about a work like Evaluation of relational database implementation of triple-stores, in which triple stores—now indexed to 005.758 Distributed data files and databases—are implemented as a relational database, which would normally be classed in 005.756 Relational databases? (A relational implementation of a non-relational database? How does that work? Well, NoSQL is also interpreted sometimes to mean Not Only SQL.) Here we are guided by the class-with-the-last instruction in the preference note under 004–006 Computer science; computer programming, programs, data; special computer methods: "Unless other instructions are given, class a subject with aspects in two or more subdivisions of 004–006 in the number coming last." Therefore, we would choose to class this work in 005.758 also.