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

  • Boto = 2.6.0
  • AWS account

Features

  • Python <–> DynamoDB type mapping
  • dict and lists serialization
  • default values
  • Multi-target transaction support with auto-retry (new in 1.6.0)
  • Sub-transactions (new in 1.6.2)
  • Single object migration engine (new in 1.7.0)
  • Auto-inc hash_key
  • Protection against the ‘lost update’ syndrom (refactored in 1.7.0)
  • Full low-level chunking abstraction for scan, query and get_batch
  • 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)

Project Versions

Table Of Contents

Previous topic

Dynamodb-mapper’s documentation.

Next topic

Getting started with Dynamodb-mapper

This Page