Storage nodes
As the name implies, the storage node fleet is responsible for storing the actual user data in DynamoDB. Unlike RRs, storage nodes are stateful instances that store data for one or more tables belonging to one or more AWS accounts. This means that a single storage node can host partitions for multiple DynamoDB tables owned by different AWS accounts simultaneously. Each partition hosted by a storage node has its own security measures, including encryption of data at rest using either AWS-owned or customer-owned encryption keys. All read and write requests issued by users of DynamoDB would ultimately be processed by the storage nodes.
Partition data within a storage node is stored in a B-tree structure along with write-ahead logs, referred to as replication logs. Both these are critical in terms of serving read and write requests.
When a request is forwarded by the RR to a storage node, the storage node verifies whether it hosts the partition associated with the request...