- Key-value pair NoSQL databases
- Most basic type of NoSQL database
- Two main concepts are Keys and Values
- Keys are nothing but identifiers through which you can refer values
- Values are values corresponding to a key
- Values can be like string, blob, image etc.
- Some database support buckets to provide separate placeholder to logically separate data. For e.g. account data goes to account bucket, orders go to order bucket
- Databases: Oracle NoSQL, Redis, Cassandra
2. Document NoSQL Database
- Document database are similar to key-value databases with one different that they treat value as document of various types like JSON, XML etc.
For e.g.
{
“orderno”:”12345”,
“orderdate”:”08-10-2015”
}
- Values don’t need to be in predefined format.
- It can offers API to run against values to give custom results. For e.g. you can make query like give me order which was placed on date 08-10-2015
- Databases: CouchDB, MongoDB
3. Column style NoSQL databases
- Somewhat similar to relational databases as it stores value in columns.
- Little bit more complex than Key-value database or document store databases.
- Column have Name and Value
- One or more columns make Row
- Rows can have different columns
- Don’t need to have predefined schema
- Databases: HBase , Cassandra
4. Graph NoSQL Databases
- Little complex than other NoSQL databases
- Uses concept from graph theory called vertices and edges or nodes/relations to represent data
- Node is nothing but an object which have set of attributes
- Relationship is link between two nodes
- Attributes/Properties are the piece of information that relates two nodes
- Databases: Neo4J, OrientDB