Use LEFT and RIGHT arrow keys to navigate between flashcards;
Use UP and DOWN arrow keys to flip the card;
H to show hint;
A reads text to speech;
28 Cards in this Set
- Front
- Back
What is the major disadvantage of relational databases? |
Impedance mismatch with the object model. |
|
What are the two main types of scaling? |
1. Vertical scaling (up) 2. Horizontal scaling (out) |
|
What are RDBMS not designed to do? |
Run on clusters of machines (distributed). |
|
Name two examples of NoSQL databases. |
1. Google Dynamo 2. Amazon BigTable |
|
Name five common NoSQL database characteristics. |
1. Does not use relational model 2. Runs well on clusters 3. Open source (not always) 4. Build for 21st century web applications 5. Schema-less |
|
Name four main types of NoSQL databases. |
1. Key-value 2. Document 3. Column store 4. Graph |
|
What is an aggregate structure? |
A collection of related objected to be treated as a unit. (nested lists etc) |
|
What does a relational database not capture? |
The structure of an aggregate. |
|
What is an important characteristic of how aggregates are chosen? |
Data related to a single aggregate should be maintained at the same cluster. |
|
Name two benefits of NoSQL design.
|
1. Freedom and flexibility 2. Easier to deal with non-uniform data |
|
Name a disadvantage of NoSQL design. |
In practice most programs rely on schemata. Schema is moved from data store to application. |
|
Name two method in which NoSQL distributes across the cluster. |
1. Sharding 2. Replication |
|
What is sharding? |
Distributing data between nodes. |
|
Sharding can improve performance for read & writes, what does it not improve? |
Since sharding distributes data across many machines there is a larger chance of failure.
|
|
What is replication? What is it best for? |
The process of maintaining multiple copies of data. Best for read-intensive databases. |
|
Name two replication schemes. |
1. Master - Slave 2. Peer to Peer |
|
How does master-slave replication work? What type of system is it bad for? |
Master copy is definitive source. Read requests are handled by slaves. Bad for write-intensive. |
|
How does peer-to-peer replication work? Name the issue with this method. |
All replicas accept writes and have equal weight. Read/write inconsistency. |
|
How do you fix inconsistencies with read/writes for sharding & replication? |
Locks. |
|
What is the caveat for 'aggregate oriented databases do support atomic transactions'? |
Only within aggregates and not necessarily across aggregates.
|
|
What is replication inconsistency in distributed systems? Over time, what happens? |
Updates reach different replicas at different times. They will eventually be consistent. |
|
What is the CAP theorem? |
Only possible to maintain 2/3 properties: 1. Consistency 2. Availability 3. Partition tolerance |
|
What is partition tolerance in the CAP theorem? |
The cluster can survive communication breakdowns that separate it into multiple parts. |
|
Name four feature compared in NoSQL database types. |
1. Consistency
2. Transactions 3. Query features 4. Scaling |
|
What is a key-value database? |
A key-value store has two columns (key | value). The value in a key-value store is not understood by the store. It's the application's responsibility to understand it. |
|
What is a document database? |
They store documents (XML, JSON...). Similar to key-value stores but the value is a document, and the document can be examined rather than just being fetched. |
|
What is a column-family store database? |
Column-families contain multiple related columns. |
|
What is a graph database? |
Nodes have properties such as name. Edges have types such as likes. -Edges can be set to bidirectional -Different edges in the same graph can have different types Traversing relationships in a graph database is fast |