Databases, Message Queues, And Caches Flashcards
What is sharding?
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.
What kinds of sharding are there?
Vertical and horizontal
What is memcached?
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 would you invalidate a cache?
By deleting an entry or setting a TTL that will delete an entry once the expiration time has elapsed.
What is TTL
Time to live. Is to set an expiration on an object.
What is TTL
Time to live. Is to set an expiration on an object.
What is Redis?
A data store often used as a message queue.
What is Kafka?
A message queue with database-like durability guarantees.
What three concerns are often the most important in software systems?
Reliability, scalability, maintainability