NoSQL Flashcards
What does NoSQL stand for and when was the term first used?
NoSQL stands for “Not Only SQL” and was first used in 1998 by Carlo Strozzi for an open-source RDBMS that used a non-SQL query language. The term was popularized in 2009 during a meetup in San Francisco discussing new database solutions.
What are the strengths of traditional RDBMSs?
Strengths include ACID properties for data consistency
What are common weaknesses of RDBMSs?
Weaknesses include impedance mismatch with object-oriented programming
What are common features of NoSQL databases?
Features include support for multiple data models
What are the main data models used in NoSQL databases?
Key-value
What is the key-value data model?
A simple model where a unique key is associated with a value (e.g.
What is a document data model?
A model where data is stored as documents in a structured format like JSON or BSON
What is the wide-column data model?
Data is stored in tables with rows and columns
What is the graph data model?
A model that focuses on the relationships between entities using vertices and edges. Ideal for social networks
What is sharding in NoSQL databases?
Sharding is the process of splitting data into smaller parts called shards
What are the main sharding strategies?
Hash strategy (even data distribution but inefficient for range queries)
What is replication in NoSQL databases?
Replication involves creating copies of data on multiple nodes to improve fault tolerance and availability
What are the pros and cons of master-slave replication?
Pros: Easy handling of read-heavy workloads
What is peer-to-peer replication and its drawbacks?
All nodes can handle reads and writes
What is the CAP theorem in NoSQL?
It states that a distributed database can only guarantee two of the three properties: Consistency