Systems Design Specific Tech Flashcards
In Dynamo what is the difference between Global and Local indexes?
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
Since data stores that write to disk can also keep data in memory, why are in memory data stores faster?
Because they don’t have to encode the data into the format it lives on disk.
What argument can you use for just using Postgres
With various extensions it supports
- TimeSeries
- Machine Learning
- OLAP
- Derived
- GeoSpatial
- Search
- Graph
- Federated queries to other data stores.
What type of replication does a Redis cluster use?
Leader/Follower
How many TPS can Redis handle?
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.
What are key scalability constraints for Kafka?
- Aim for less than 1 mb per message. This is an explicit constraint in Kinesis.
- 1 TB of storage per broker
- 1 kb message about 100,000 per second
What are constraints for throughput and querying on SQL database?
MySql: 10 to 50 thousand writes per second.
AWS Aurora: 200 thousand 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 many writes per second can DynamoDB handle?
1000 write capacity units per table partition.