NOSQL Implementation and examples Maciej Matuszewski
QUERYING RESTful interfaces, SQL, SQL2 (JCR), Query by example, SPARQL (RDF Query Language), UnQL (Unstructured Query Language), XQuery, XPath, Other.
DOCUMENT STORE Documents encapsulate and encode data (or information) in some standard formats or encodings. Different implementations offer different ways of organizing and/or grouping documents: Collections, Tags, Non-visible Metadata, Directory hierarchies.
DOCUMENT STORE Documents are addressed in the database via a unique key that represents that document. Retrieval of documents based on their contents. Examples: eXist, Apache Jackrabbit (JCR), MongoDB (BSON – binary JSON), Apache CouchDB (JSON database).
GRAPH Elements interconnected with an undetermined number of relations between them. Any storage system that provides index-free adjacency. RDF databases. Examples: Oracle Spatial and Graph.
KEY–VALUE STORE Key–value stores allow the application to store its data in a schema-less way. The data could be stored in a datatype of a programming language or an object. There is no need for a fixed data model. Very fast access to data.
KEY–VALUE STORE Examples: Eventually ‐ consistent key ‐ value store: Apache Cassandra, Dynamo, Riak. Key–value cache in RAM: Redis, Velocity.
KEY–VALUE STORE Examples: Key–value stores on solid state or rotating disk: MongoDB, Oracle NoSQL Database, BigTable. Ordered key–value stores: IBM Informix C-ISAM, Berkeley DB.
OBJECT DATABASE Information is represented in the form of objects as used in object- oriented programming. Database is integrated with the programming language – the programmer can maintain consistency within one environment. Examples: db4o