yadutaf
yadutaf

Reputation: 7152

How do I know how many partitions a DynamoDB table is spread over?

Amazon's DynamoDB in designed for guaranteed performances. A customer must provision throughput for each of it's tables.

To achieve this performances, tables are transparently spread over multiple "servers" AKA "partitions".

Amazon provides us with a "best practice" guide for dimensioning and optimizing the throughput. In this guide, we are told that the provisioned throughput is evenly divided over the partitions. In other words, If the requests are not evenly distributed over the partitions, only a fraction of the reserved (and paid) throughput will be available to the application.

In the worst case scenario, it will be:

worst_throughput = provisioned_and_paid_throughput / partitions

To estimate this "worst_throughput", I need to know the total number of partitions. Where can I find it or how do I estimate it ?

Upvotes: 22

Views: 16554

Answers (2)

mooreds
mooreds

Reputation: 4978

See this page: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GuidelinesForTables.html#GuidelinesForTables.Partitions

Which has some simple calculations you can carry out based on the amount of read and write capacity you provision. Note that this is only for initial capacity. As your usage of dynamodb continues, these calculations will have less and less relevance.

A single partition can hold approximately 10 GB of data, and can support a maximum of 3,000 read capacity units or 1,000 write capacity units.

Upvotes: 2

Fantius
Fantius

Reputation: 3862

It says, "When storing data, Amazon DynamoDB divides a table's items into multiple partitions, and distributes the data primarily based on the hash key element."

What you really want to know is the throughput of a single partition. It seems like you can test that by hammering a single key.

Upvotes: 1

Related Questions