An Elixir client for Riak with connection pooling, CRDT, and Timeseries support.
Riak Elixir Client is a library that enables Elixir applications to interact with Riak databases. It provides a comprehensive API for performing key-value operations, managing distributed data types (CRDTs), and handling time-series data. The client solves the problem of integrating Riak's distributed database capabilities into Elixir-based systems with native language support.
Elixir developers building distributed applications that require Riak for scalable, fault-tolerant data storage. This includes teams working on systems needing CRDTs for conflict resolution or time-series data management.
Developers choose this client because it offers full-featured, idiomatic Elixir support for Riak's advanced capabilities including connection pooling, CRDTs, and Timeseries. It's a mature library that improves upon earlier alternatives like riex with better performance and maintainability.
A Riak client written in Elixir.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Integrates with pooler for optimized management of multiple Riak connections, reducing overhead in distributed systems as shown in config examples.
Supports all Riak CRDTs—counters, sets, maps, and hyper-log-logs—enabling conflict-free data operations essential for distributed consistency.
Provides complete functions for Riak Timeseries, including table creation, data insertion, querying, and deletion, covering advanced use cases.
Built natively for Elixir with syntax-aligned abstractions, offering a seamless developer experience for key-value and distributed data operations.
CRDTs and Timeseries require manual bucket-type creation via riak-admin commands, adding significant operational complexity beyond standard configuration.
As admitted in the README, counters are prone to drift in failure states, making them unsuitable for critical applications like financial transactions.
Tied to Riak, which has a smaller ecosystem and community compared to other databases, potentially limiting support, resources, and long-term viability.