rather than resources • Traditional databases: CPU, RAM, IOPS • DynamoDB: RCUs & WCUs • Provisioned capacity vs. pay-per-use • Do the math! Billing model
Think of what context is available when making a request • E.g. Username, TransactionId • Which patterns to handle first? Handling your access patterns
Think of what context is available when making a request • E.g. Username, TransactionId • Which patterns to handle first? • Writes (with conditions) Handling your access patterns
Think of what context is available when making a request • E.g. Username, TransactionId • Which patterns to handle first? • Writes (with conditions) • ‘Core’ entities Handling your access patterns
Aggregations • Complex filtering • Filtering by 2 or more properties, all of which are optional • ”Find me all transactions by Customer X Hard patterns in DynamoDB
Aggregations • Complex filtering • Filtering by 2 or more properties, all of which are optional • ”Find me all transactions by Customer X where token = ‘ETH’ Hard patterns in DynamoDB
Aggregations • Complex filtering • Filtering by 2 or more properties, all of which are optional • ”Find me all transactions by Customer X where token = ‘ETH’ and amount > 100 Hard patterns in DynamoDB
Aggregations • Complex filtering • Filtering by 2 or more properties, all of which are optional • ”Find me all transactions by Customer X where token = ‘ETH’ and amount > 100 and date between 2022-01-01 and 2023-01-01 Hard patterns in DynamoDB
Aggregations • Complex filtering • Filtering by 2 or more properties, all of which are optional • ”Find me all transactions by Customer X where token = ‘ETH’ and amount > 100 and date between 2022-01-01 and 2023-01-01 • DynamoDB likes exact matches! Hard patterns in DynamoDB
Aggregations • Complex filtering • Search • Queries across entire table • “Find the most recent 10 transactions on our platform” Hard patterns in DynamoDB
Aggregations • Complex filtering • Search • Queries across entire table • “Find the most recent 10 transactions on our platform” Hard patterns in DynamoDB