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
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)