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
Q

What is stored in a BigTable value?

A

An uninterpreted byte string

26
Q

When does BigTable perform authorization checks?

A

During both read and write operations

27
Q

How does DynamoDB handle conflicting updates?

A

Through either application-level resolution or system-level resolution (e.g., last write wins)

28
Q

What is the role of Chubby in BigTable authorization?

A

Stores the list of permitted writers

29
Q

What distinguishes BigTable from traditional databases?

A

Its non-relational interface and data model

30
Q

Since when has BigTable been operational?

A

2005