We're thrilled to announce our first publicly available Release Candidate version of EfficientDynamoDb.
It aims to simplify major pain points of interacting with DynamoDB in C# that we faced in more than 4 years working with it:
- Unreasonably slow response processing. In some cases, parsing the result is slower than DynamoDB latency.
- Expressions syntax (query, update, etc.) is not suitable for C# tooling. Using strings for expressions is highly error-prone, hides usages, makes refactoring challenging, and has no validation whatsoever.
- Missing high-level APIs for transactions, batches, updates.
- Poor out-of-the-box data types support (especially collections) and limited extensibility.
We've put dozens of hours optimizing hot paths in our library to ensure that every single benchmark outperforms competitors. In some popular scenarios, EfficientDynamoDb can be up to 21x times faster and allocate 26x times less memory.
It's possible to build DDB expressions entirely in C# without using clumsy DDB expressions syntax and plain strings. Complicated operations like transactions, batches, updates, and parallel scans are easy to use via high-level API.
We have many ideas moving forward, like integrating composite keys, smart retry policies, supporting get-only properties, and so on. We'd love to hear the feedback from the community, so feel free to create an issue on GitHub or post your questions and suggestions here in the comments.