This is a session on DynamoDB if you're looking to understand how to design a distributed key-value stores. We'll start with what DynamoDB is and why people are using it. Expect a run-through of its architecture and a straightforward explanation of how data gets sliced for efficiency. We'll also cover what happens when things go south and how DynamoDB keeps data consistent and up-to-date as well as the pros and cons.
If you write code and care about making it scale, this will be worth your time.
Dynamo Basics: Understand what DynamoDB is built for and when to use it over other databases.
Architecture: Get to grips with DynamoDB's architecture - how it's built to scale effortlessly and provide consistent performance.
Data Handling: Learn about partitioning strategies that spread data across nodes effectively and replication techniques that prevent data loss.
Resolving Conflicts: Master vector clocks for resolving data conflicts in a system designed for eventual consistency.
Operational Workflow: Gain insight into the lifecycle of 'put' and 'get' operations and how DynamoDB handles data under the hood.
Merkle Trees: Understand how DynamoDB uses Merkle trees to synchronize data across distributed systems efficiently.
Gossip Protocol: Learn the workings of the gossip protocol for node communication and how it contributes to DynamoDB's robustness.
Thanks to Alex Poon for leading this session!