Hibari

discontinued

by Gemini Mobile Technologies / Hibari developers · since 2010

Erlang distributed ordered key-value store using chain replication for strong consistency.

key-valuedatabase engineopen source (permissive)legacy

discontinued. Unmaintained: last release 0.1.11 (April 2015) and no commits since 2017.

Overview

Hibari is a distributed, ordered key-value store written in Erlang, open-sourced in 2010 by Gemini Mobile Technologies after running a multi-million-user webmail service in Japan. Keys are split into chains by prefix and kept in lexicographic order within each chain, and every chain is replicated with chain replication, so reads and writes stay strongly consistent while a failed brick is repaired automatically. It adds compare-and-swap via key timestamps, micro-transactions over several keys in the same chain, per-key metadata and TTL, and performs particularly well for reads and values larger than 200 KB. The native Erlang client was the only production-grade one. The last release, 0.1.11, came out in April 2015, and the repository has been idle since 2017.

Strengths & trade-offs

Strengths

  • +Strong consistency from chain replication
  • +Ordered keys within chains enable prefix range scans
  • +Automatic repair after a brick fails
  • +Good performance for reads and large values

Trade-offs

  • −Unmaintained since 2017; targets old Erlang/OTP releases
  • −Only the Erlang client is production quality
  • −Multi-key transactions limited to keys in one chain

Great for

  • +Studying chain replication in practice
  • +Legacy Erlang systems already running Hibari

Think twice for

  • −New deployments
  • −Non-Erlang applications

Capabilities

Native or official first-party support · 3 of 25 tracked

✓Transactions
✓TTL / expiry
✓Durable persistence
–Joins
–Secondary indexes
–Full-text search
–Vector search
–Geospatial
–JSON
–Change data capture
–Triggers
–Stored procedures
–Materialized views
–Pub/Sub
–Columnar storage
–In-memory
–Compression
–Encryption at rest
–Role-based access
–Time travel
–Branching
–Online schema changes
–Streaming ingest
–Offline sync
–Runs in WebAssembly

Scale & consistency

Comfortable data size
Large · ≤ 1 PB
Horizontal scaling
Native
Multi-region
No
Transactions
Limited ACID
Consistency
Strong
Schema
Schemaless
Architecture
Distributed
Query languages
Erlang client API

Chains are distributed across bricks; the project cites production clusters spanning about 100 servers.

Deployment

Self-hosted Vendor-managed cloud Serverless Embedded Edge Kubernetes operator

Ecosystem

apis & protocolsErlang native client, Thrift (proof of concept), UBF
client languagesErlang

Alternatives to Hibari

Compare all→
Riak KVKey-Value18.1

Erlang-based, Dynamo-style key-value store built to stay up through ugly failures.

hibari vs riak-kv →
FoundationDBKey-Value36.8

Apple's ordered, strictly serializable distributed key-value store, built to have layers on top.

hibari vs foundationdb →
TiKVKey-Value20.8

CNCF-graduated, Raft-replicated transactional key-value store in Rust; the storage layer of TiDB.

hibari vs tikv →
etcdKey-Value32.4

Raft-based, strongly consistent key-value store that holds Kubernetes' cluster state.

hibari vs etcd →
Apache CassandraWide-Column55.9

Masterless wide-column database built for always-on writes across data centers.

hibari vs apache-cassandra →
Apple CloudKitDocument25.8

Apple's iCloud record store for apps: private per-user data, a public database and built-in sync.

hibari vs apple-cloudkit →

Hibari FAQ

What is Hibari?

Hibari is a key-value database by Gemini Mobile Technologies / Hibari developers, first released in 2010. Hibari is a distributed, ordered key-value store written in Erlang, open-sourced in 2010 by Gemini Mobile Technologies after running a multi-million-user webmail service in Japan. Keys are split into chains by prefix and kept in lexicographic order within each chain, and every chain is replicated with chain replication, so reads and writes stay strongly consistent while a failed brick is repaired automatically. It adds compare-and-swap via key timestamps, micro-transactions over several keys in the same chain, per-key metadata and TTL, and performs particularly well for reads and values larger than 200 KB. The native Erlang client was the only production-grade one. The last release, 0.1.11, came out in April 2015, and the repository has been idle since 2017.

Is Hibari open source?

Yes. Hibari is open source. License: Apache License 2.0.

Does Hibari support ACID transactions?

Partly. Hibari offers limited ACID guarantees (for example, single-record or single-partition transactions), with strong consistency.

Does Hibari scale horizontally?

Hibari scales horizontally out of the box, with built-in sharding or partitioning. It is comfortable at large scale (≤ 1 PB).

How can I run Hibari?

You can self-host it.

What is Hibari best for?

Hibari is a strong fit for studying chain replication in practice and legacy Erlang systems already running Hibari. Think twice for new deployments.

What are the best alternatives to Hibari?

Common alternatives to Hibari include Riak KV, FoundationDB, TiKV, etcd and Apache Cassandra. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.

Is Hibari still maintained?

Hibari is discontinued. Unmaintained: last release 0.1.11 (April 2015) and no commits since 2017.

How popular is Hibari?

Hibari ranks #623 of 844 databases on the WhichDB Score (0.6/100), and #113 among key-value databases. The score combines public adoption signals such as package downloads, GitHub activity, job posts and developer discussion.