Databases, Message Queues, And Caches Flashcards

1
Q

What is sharding?

A

Sharding is a technique that splits large databases into smaller, more manageable components called shards. Shards can be stored across multiple computers, called nodes, and each shard runs on a separate node. Sharding is used when a dataset is too large to be stored in a single database.

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

What kinds of sharding are there?

A

Vertical and horizontal

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

What is memcached?

A

Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering.

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

How would you invalidate a cache?

A

By deleting an entry or setting a TTL that will delete an entry once the expiration time has elapsed.

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

What is TTL

A

Time to live. Is to set an expiration on an object.

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

What is TTL

A

Time to live. Is to set an expiration on an object.

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

What is Redis?

A

A data store often used as a message queue.

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

What is Kafka?

A

A message queue with database-like durability guarantees.

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

What three concerns are often the most important in software systems?

A

Reliability, scalability, maintainability

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