NoSQL databases Flashcards
What are the main advantages of NoSQL database?
- speed
- schemaless data representation ( you don’t need to think about data structure too much )
- scalability ( it’s much scalable than relation db )
- no complex SQL request
What type of NoSQL database do you know?
- key-value
- document
- graph
- column-oriented
What is RDBMS?
Relational Database Management System
What are the most popular NoSQL databases?
- Mongo
- Redis
- Hadoop
- Casandra
- Neo4j
What is column-oriented store?
This db stores data in columns instead of rows:
relation db
Name, Surname
name1, surname1
name2, surname2
column-oriented db
name1, name2
surname1, surname2
What is document store?
This database use XML, JSON or YAML to represent their data.
# first record { "EmployeeID": "SM1", "FirstName" : "Anuj", "LastName" : "Sharma", "Age" : 45, "Salary" : 10000000 } # second record { "LocationID" : "Bangalore-SDC-BTP-CVRN", "RegisteredName" : "ACME Software Development Ltd" "RegisteredAddress" : { "Line1" : "123, 4th Street", "City" : "Bangalore", "State" : "Karnataka" }, }
Every record can have a different structure.
What is key-value database?
This is something like hash in Ruby
{ name: "Douglas Adams", street: "782 Southwest St.", city: "Austin", state: "TX" }
What is graph databases?
Graph databases represent a special category of NoSQL databases where relationships are represented as graphs.
What application is not good for NoSQL database?
- Transactional application ( data consistency is the most important factor)
- Computation application ( with less than a hundred million records)
What application is good for NoSQL database?
- Computation application ( lots of calculation) with more than a hundred million records
- Web-scale application ( lots of data for one user, you need to store a massive amount of data. )
- Your application requires super-low latency.
- Your data are unstructured, or you do not have any relational data.