Systems Design Specific Tech Flashcards

1
Q

In Dynamo what is the difference between Global and Local indexes?

A

They are both Secondary indexes.

Global: Both partition id and sort key are different from base table values. Stored in its own partition space and scales separately from base table.

Local: Only sort key is different from base table values. Scoped to base table partition

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

Since data stores that write to disk can also keep data in memory, why are in memory data stores faster?

A

Because they don’t have to encode the data into the format it lives on disk.

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

What argument can you use for just using Postgres

A

With various extensions it supports
- TimeSeries
- Machine Learning
- OLAP
- Derived
- GeoSpatial
- Search
- Graph
- Federated queries to other data stores.

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

What type of replication does a Redis cluster use?

A

Leader/Follower

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

How many TPS can Redis handle?

A

A good number to use for interviews
- AWS Elasticache supports 1 million TPS

Enterprise versions with 26 AWS instances perf tested at 200 million TPS.

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

How many writes per second can SQL handle?

A

AWS Aurora 200,000 per second.

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

What are key scalability constraints for Kafka?

A
  1. Aim for less than 1 mb per message. This is an explicit constraint in Kinesis.
  2. 1 TB of storage per broker
  3. 1 kb message about 100,000 per second
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are constraints for throughput and querying on SQL database?

A

MySql: 10 to 50 million writes per second.
AWS Aurora: 200 million writes per second.
Query/Joins: 10 Million records in table is going to need special indexing. 50 to 200 million, you need to consider partitioning.

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

How many writes per second can DynamoDB handle?

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