Krati
discontinuedby LinkedIn (SNA team, Jingwei Wu) · since 2010 · also known as sna-projects Krati
LinkedIn's hash-based persistent key-value store for the JVM, tuned for low latency and little GC.
discontinued. No commits since Sept 2013; last release 0.4.9 (Feb 2013). For embedded JVM key-value storage use RocksDB (RocksJava), LMDB or MapDB.
Overview
Krati is a Java library from LinkedIn's Search, Network and Analytics (SNA) team, released in 2010. It offers array-style stores keyed by integer index and hash-based stores for arbitrary byte keys, writing values into segment files and relying on periodic checkpoints for durability. The pitch was very low latency and high throughput for read-write-heavy services with little effort spent on configuration, performance tuning or JVM garbage collection, and a krati-avro module added Avro-serialized stores. The last release, 0.4.9, came out in February 2013 and the repository has been dormant since.
Strengths & trade-offs
Strengths
- +Low, predictable latency for read-write-heavy JVM workloads
- +Minimal tuning and little garbage-collection pressure
- +Simple array and hash store abstractions with Avro support
Trade-offs
- −Unmaintained since 2013
- −No transactions, range scans or secondary indexes
- −Durability limited to checkpoints and segment logs
Great for
- +Studying segment-log plus memory-mapped index designs
- +Legacy JVM services that still embed it
Think twice for
- −New projects (choose RocksDB, LMDB or MapDB)
- −Workloads needing ordered scans or transactions
Capabilities
Native or official first-party support · 2 of 25 tracked
Scale & consistency
- Comfortable data size
- Small · ≤ 100 GB
- Horizontal scaling
- None
- Multi-region
- No
- Transactions
- None
- Consistency
- Strong
- Schema
- Schemaless
- Architecture
- Embedded
- Query languages
- Java API
Single-JVM library; sharding is up to the application.
Deployment
Ecosystem
Alternatives to Krati
Meta's embeddable LSM-tree key-value engine, the storage layer under dozens of databases.
krati vs rocksdb →Tiny memory-mapped B+tree with ACID transactions and lock-free readers; reached 1.0 in 2026.
krati vs lmdb →Embedded Java database exposing concurrent Maps, Sets and Queues backed by disk or off-heap memory.
krati vs mapdb →The 1990s-era embedded key-value library, now Oracle-owned, AGPL-licensed and rarely updated.
krati vs berkeley-db →Google's original small, fast LSM key-value library, now in limited-maintenance mode.
krati vs leveldb →The standard embedded JVM cache, with heap, off-heap and disk tiers and optional Terracotta clustering.
krati vs ehcache →Krati FAQ
What is Krati?
Krati is a key-value database by LinkedIn (SNA team, Jingwei Wu), first released in 2010. Krati is a Java library from LinkedIn's Search, Network and Analytics (SNA) team, released in 2010. It offers array-style stores keyed by integer index and hash-based stores for arbitrary byte keys, writing values into segment files and relying on periodic checkpoints for durability. The pitch was very low latency and high throughput for read-write-heavy services with little effort spent on configuration, performance tuning or JVM garbage collection, and a krati-avro module added Avro-serialized stores. The last release, 0.4.9, came out in February 2013 and the repository has been dormant since.
Is Krati open source?
Yes. Krati is open source. License: Apache License 2.0.
Does Krati support ACID transactions?
No. Krati does not provide ACID transactions; its consistency model is strong.
Does Krati scale horizontally?
Krati does not scale horizontally; it runs on a single node, so you scale it up rather than out. It is comfortable at small scale (≤ 100 GB).
How can I run Krati?
You can self-host it and embed it in your application.
What is Krati best for?
Krati is a strong fit for studying segment-log plus memory-mapped index designs and legacy JVM services that still embed it. Think twice for new projects (choose RocksDB, LMDB or MapDB).
What are the best alternatives to Krati?
Common alternatives to Krati include RocksDB, LMDB, MapDB, Oracle Berkeley DB and LevelDB. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.
Is Krati still maintained?
Krati is discontinued. No commits since Sept 2013; last release 0.4.9 (Feb 2013). For embedded JVM key-value storage use RocksDB (RocksJava), LMDB or MapDB.
How popular is Krati?
Krati ranks #608 of 844 databases on the WhichDB Score (0.8/100), and #110 among key-value databases. The score combines public adoption signals such as package downloads, GitHub activity, job posts and developer discussion.