Amazon DynamoDB – Support for Binary Data
If you are a DynamoDB user, you already know the drill — create a table, provision the throughput (in terms of read and write capacity units per second), and start storing and retrieving data without worrying about hitting storage or performance limits, reprovisioning throughput as needed in response to changes in the size, scale, or needs of your application.
To date, DynamoDB has focused on storing numeric and string data (and sets of each). Because you (and a lot of others) are using DynamoDB in so many diverse ways, we know that additional flexibility is important.
You can now store binary data in DynamoDB without having to convert it to a string. You can also store sets composed of binary data. This change will result in greater storage efficiency, along with the potential for lower storage and I/O costs for you. If you are storing binary data of any appreciable size, the increased storage efficiency may very well let you read and write the data with fewer provisioned capacity units.
This new functionality is available now in all of the Regions where DynamoDB is supported (see our Products and Services by Region grid for details). You will need to update to the latest version of the appropriate AWS SDK in order to start storing and retrieving binary data. For example, the put_item method in the AWS SDK for PHP now accepts Binary and BinarySet attributes for the items.
PS – DynamoDB’s integration with Elastic MapReduce doesn’t currently support binary data types. We’re working on this now, and we’ll release it as soon as it is ready.