Lecture 12 & 13 Flashcards
What is NoSQL Database?
Databases that do not follow the traditional Relational Model.
Why do we need NoSQL Databases?
To help with Big Data, in order to help with Horizontal and Vertical scaling of the Database
What is Horizontal scaling?
Adding more nodes to a system
What is Vertical scaling?
Adding more resources to a node
What is Availability?
a database always responding to queries
What is Consistency?
a database gives the same response at queries happening at the same time
what is Distributed Databases?
Splitting computational Load among different nodes
What is a Cluster?
The set of computers that co-operate to manage the Database
What is Two-phase Commit?
The algorithm used to enforce consistency during transactions
What is a Transaction?
a set of changes in a database that is treated as a single change
What does MVCC stand for?
Multi-Version Concurrency Control
What is MVCC?
it is a method that stores data in various versions to ensure availability and recovery of data from a partition by reconciling the single databases with revisions (data isn’t replaced, just given a new revision number)
What is Partition/Node Failure?
When a node in a cluster fails causing it’s data to become outdated.
What is MVCC used for?
Coarse-grained DBMS models like document-oriented DBMS e.g. CouchDB
What is Sharding?
The Horizontal partitioning of a databse i.e. the rows are partitioned in a subset that is stored on different servers.