Announcing Tempest 1.0
At Cash we love AWS DynamoDB. It has a nice API, is highly available, and is able to scale with our growing business.
DynamoDB applications perform best and cost the least to operate when data is organized for locality:
- Multiple types per table: The application can store different entity types in a single table. DynamoDB schemas are flexible.
- Related entities are stored together: Entities that are accessed together should be stored together. This makes it possible to answer common queries in as few requests as possible, ideally one.
When we store multiple types in the same table for locality, we have a heterogeneous table. This improves performance. But it breaks type safety in DynamoDBMapper. This official Java API forces you to write weakly-typed code that models the physical persistence type.
Tempest gives you type safety without losing locality. It lets you declare strongly-typed key and item classes for each logical type in the domain layer. You build business logic with logical types. Tempest handles mapping them to the underlying persistence type.
Today we are releasing Tempest 1.0 for Kotlin and Java. Check out the project website for API documentation and code samples.