Overview of Dynamodb-mapper

DynamoDB is a minimalistic NoSQL engine provided by Amazon as a part of their AWS product.

DynamoDB allows you to stores documents composed of unicode strings or numbers as well as sets of unicode strings and numbers. Each tables must define a hash key and may define a range key. All other fields are optional.

Dynamodb-mapper brings a tiny abstraction layer over DynamoDB to overcome some of the limitations with no performance compromise. It is highly inspired by the mature MoongoKit project

Requirements

The documentation currently assumes that you’re running Boto 2.3.0 or later. If you’re not, then the API for query and scan changes. You will have to supply raw condition dicts, as is done in boto itself.

Also note that Boto 2.3.1 or later is required for autoincrement_int hash keys. Earlier versions will fail.

Features

  • Python <–> DynamoDB type mapping
  • dict and lists serialization
  • default values
  • Multi-target transaction support with auto-retry (new in 1.6.0)
  • Auto-inc hash_key
  • Protection against the ‘lost update’ syndrom
  • New table creation
  • Framework agnostic
  • Log all successful database access

Logging

Dynamodb-mapper uses 3 “logging” loggers:

  • model
  • model.database-access
  • transactions

Known limitations

  • Dates nested in a dict or set can not be saved as datetime does not support JSON serialization. (issue #7)

Table Of Contents

Previous topic

Dynamodb-mapper’s documentation.

Next topic

Getting started with Dynamodb-mapper

This Page