NoSQLDatabase Flashcards

1
Q

What are the three key elements that index BigTable’s map?

A

Row key, Column key, and Timestamp

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is a row key in BigTable?

A

An arbitrary string (10-100 bytes) that uniquely identifies a row

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the purpose of column families in BigTable?

A

They are basic units of access control and group together columns of the same data type for compression

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the maximum number of column families allowed in a BigTable table?

A

100

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

How does BigTable divide tables for scalability?

A

Into tablets (row ranges) of about 100-200 MB

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is the format of BigTable’s storage files?

A

SSTable

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are the three levels in BigTable’s location hierarchy?

A
  1. Root tablet in Chubby 2. METADATA tablets 3. SSTable identifiers
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What two systems does BigTable rely on for core functionality?

A

Google File System (GFS) for storage and Chubby for distributed lock management

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Where does BigTable store recently committed updates?

A

In memory in a sorted buffer called memtable

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is BigTable’s main disadvantage?

A

Cannot handle transactions (no ACID properties), making it unsuitable for banking and e-commerce

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are the three key priorities of Amazon DynamoDB?

A

High availability, scalability, and distributed key-value storage

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

How does DynamoDB achieve incremental scalability?

A

Through consistent hashing with virtual nodes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is the purpose of virtual nodes in DynamoDB?

A

They distribute load evenly and handle node failures/additions effectively

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

How many nodes is each data item replicated to in DynamoDB?

A

N hosts (N is configurable per instance)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is a preference list in DynamoDB?

A

The list of nodes responsible for storing a particular key

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What technique does DynamoDB use to detect replica inconsistencies?

A

Merkle trees (hash trees)

17
Q

What is the hinted handoff technique in DynamoDB?

A

Temporarily storing data for unavailable replicas on alternate nodes

18
Q

How does DynamoDB track causality in updates?

A

Using vector clocks with tuples indicating update counts per node

19
Q

What is DynamoDB’s approach to consistency?

A

Eventual consistency (prioritizes availability over strong consistency)

20
Q

Why was DynamoDB designed with eventual consistency?

A

To meet the needs of “always-on” applications requiring continuous operation

21
Q

What is the coordinator’s role in DynamoDB?

A

Responsible for replicating data items that fall within its range

22
Q

How are row keys ordered in BigTable?

A

Lexicographically

23
Q

What is a locality group in BigTable?

A

A grouping of column families to enable more efficient reads

24
Q

What type of compression does BigTable support?

A

Custom two-pass compression system based on Bentley and McIlroy algorithm

25
What is stored in a BigTable value?
An uninterpreted byte string
26
When does BigTable perform authorization checks?
During both read and write operations
27
How does DynamoDB handle conflicting updates?
Through either application-level resolution or system-level resolution (e.g., last write wins)
28
What is the role of Chubby in BigTable authorization?
Stores the list of permitted writers
29
What distinguishes BigTable from traditional databases?
Its non-relational interface and data model
30
Since when has BigTable been operational?
2005