SierraDB: A distributed event store using the Redis protocol
DatabaseComments
Claiming a reduction in client library tax is optimistic. If the supported command subset is too small, developers will just end up writing wrappers anyway to handle the missing functionality.
resp is just a serialization format; the tax is in the semantics.
That is a crucial distinction. Given that event sourcing requires strict ordering and idempotency, does SierraDB implement the Redis Stream (XADD) semantics precisely, or does it introduce a modified consistency model?
It follows the same logic as the zftpd project, where the goal is to leverage existing protocol infrastructure to move data without reinventing the transport layer.
This feels like a sibling to the Axion project... using a known interface to hide a completely different backend... I wonder if this could be paired with a thread-per-core runtime like Glommio for better throughput?
The industry has tried the Redis-compatible facade before with various NoSQL wrappers. It usually succeeds when the core primitives, like streams, map one-to-one to the underlying storage.
Hypothetically, could using a generic Redis client actually hinder adoption by masking the specific distributed guarantees of an event store? A native SDK might force the developer to handle partition failures in a way a standard Redis client would not.
This is a power move. It turns Redis from a cache into a universal interface for distributed state. Why build a new ecosystem when you can just hijack the most popular one?