NoSQL DataBases

A NoSQL DataBase is a non-relational database. They are well-suited for loosely defined data structures that evolve over time.

Four Types of NoSQL Database

There are four types of NoSQL database systems: document databases, graph databases, key-value stores and wide-column stores. Each uses a different type of data model, resulting in significant differences between each NoSQL type.

Some NoSQL Database Management Systems (DBMSes)

OpenLink Virtuoso Swiss Army Knife

OpenLink Virtuoso provides an open source version of a RDF Graph database.

Virtuoso handles a whole host of database formats, including RDF, as well as relational and XML. It also functions as a document server and provides object to relational mapping functionality.

Virtuoso also serves as a web application server, providing a REST programming interface for the standard array of languages, including Java as well as those supporting the .NET Framework. In fact, it works with any language that can be hosted within a C/C++ runtime.

A commercial version of the database exists under the name, Virtuoso Universal Server. Both products were developed by OpenLink Software.

The only major functional differences between the open source and commercial versions of Virtuoso is the former's lack of support for the Virtual Database Engine and Data Replication Functionality. Virtuoso's SQL functionality is comparable to SQL Server or Oracle DB.

HyperGraphDB for Knowledge Management and Embedded Systems

(From The NoSQL Movement – Graph Databases, by Shannon Kempe)

HyperGraphDB is an open source versatile database system suitable for a wide range of applications. It uses a persistent memory model appropriate for web-based knowledge management, semantics, or analytics applications. The database also serves as a Graph database and can function in an object-oriented fashion downsized for Java-based embedded systems.

Given its Graph storage architecture and overall flexibility, HyperGraphDB offers the capability to perform both edge transversal queries as well as those following a relational style. It also includes a P2P framework for a distributed data flow.

HyperGraphDB's ability to function as a JSON-persisted Graph database in a Java environment led it to be used as the backend layer for the eVallaha project, essentially an anonymous blogging site covering failed technology projects at government agencies. The author of the site feels HGDB is a great option for web apps leveraging a REST API for the data layer.