6

Announcing Tempest 1.0

 3 years ago
source link: https://cashapp.github.io/2020-08-31/announcing-tempest-1-0
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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.

Tempest API

tempest-api.png

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.

Learn More

Today we are releasing Tempest 1.0 for Kotlin and Java. Check out the project website for API documentation and code samples.

Posted by Zhixuan Lai on August 31, 2020

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK