L10 Non Relational Databases Flashcards
Name features provided by object-relational database systems which are not available in (pure) relational database systems.
- user-defined types
- type inheritance
- table inheritance
- array and multiset types
- object identity
- reference types
- methods
What is a NoSQL database?
- NoSQL stands for “Not only SQL”
- Used to refer to various approaches which are non-relational
- examples:
- Key-value stores
- XML databases
- Document stores
- Graph databases
Offer scalability and extensibility over
loosely-coupled clusters of commodity hardware.
As a result, they are often used in large-scale
web-based applications.
They typically do not offer the extensive transaction
management (ACID) capabilities of RDBMSs.
Give three limitations of the relational model which have led to alternative data models being proposed.
- all data is value-based - all relationships are expressed through common values
- data must always be represented in ’flat’ (first normal form) relations
- for some applications, performance is not fast enough
Name four categories of NoSQL database systems
- kev-value store
- xml database
- document store
- graph database
What is a key-value store?
- A key-value store enables the storage and retrieval of values by key.
- It is essentially a big hash table.
- The values are simply sequences of bytes.
- It is up to an application to interpret any logical structure within the values. See Redis
What is a xml database?
- Data model is that of XML (elements and attributes).
- XML allows for flexible, nested structures (no schema is necessary).
- The query language is usually XQuery
- example eXist
What is a document store?
- Like a key-value store, a document store enables the storage and retrieval of values by key.
- In this case, the values do have structure (each is a “document”).
- The syntax used for documents is usually JSON (JavaScript Object Notation).
- Example: MongoDB
What is a graph database?
- Graph: A graph store represents information in a graph consisting of nodes and edges.
- Nodes and edges both typically have properties associated with them.
- Common queries in graphs involve findin connections (paths) between nodes.
- An example system is Neo4J (www.neo4j.com).
- Neo4J uses its own query language called Cypher.
What features of relational database systems are often missing in NoSQL database systems?
They typically do not offer the extensive transaction management (ACID) capabilities of RDBMSs.