Busabase
Busabase is an open-source (MIT) database and workspace for AI agents — data, docs, skills, and apps in one place. Run it locally, self-host it inside your network, or use Busabase Cloud, and turn age
翻訳待ち
A modern replacement for Redis and Memcached
翻訳待ち
Loading the full README.
Read the full README ↗Before moving on, please consider giving us a GitHub star ⭐️. Thank you!
Other languages: 简体中文 日本語 한국어 Português ภาษาไทย
Website • Docs • Quick Start • Community Slack • Dragonfly User Conference • Join the Dragonfly Community
GitHub Discussions • GitHub Issues • Contributing • AI Agents Guide • Dragonfly Cloud
Dragonfly is an in-memory data store built for modern application workloads.
Fully compatible with Redis and Memcached APIs, Dragonfly requires no code changes to adopt. Compared to legacy in-memory datastores, Dragonfly delivers 25X more throughput, higher cache hit rates with lower tail latency, and can run on up to 80% fewer resources for the same-sized workload.
We first compare Dragonfly with Redis on an m5.large instance, which is commonly used to run Redis
due to its single-threaded architecture. The benchmark program runs from another
load-test instance (c5n) in the same AZ using memtier_benchmark -c 20 --test-time 100 -t 4 -d 256 --distinct-client-seed
Dragonfly shows comparable performance:
--ratio 1:0):| Redis | DF |
|---|---|
| QPS: 159K, P99.9: 1.16ms, P99: 0.82ms | QPS:173K, P99.9: 1.26ms, P99: 0.9ms |
--ratio 0:1):| Redis | DF |
|---|---|
| QPS: 194K, P99.9: 0.8ms, P99: 0.65ms | QPS: 191K, P99.9: 0.95ms, P99: 0.8ms |
The benchmark above shows that the algorithmic layer inside DF that allows it to scale vertically does not take a large toll when running single-threaded.
However, if we use a slightly larger instance (m5.xlarge), the gap between DF and Redis starts growing.
(memtier_benchmark -c 20 --test-time 100 -t 6 -d 256 --distinct-client-seed):
--ratio 1:0):| Redis | DF |
|---|---|
| QPS: 190K, P99.9: 2.45ms, P99: 0.97ms | QPS: 279K , P99.9: 1.95ms, P99: 1.48ms |
--ratio 0:1):| Redis | DF |
|---|---|
| QPS: 220K, P99.9: 0.98ms , P99: 0.8ms | QPS: 305K, P99.9: 1.03ms, P99: 0.87ms |
Dragonfly throughput capacity continues to grow with instance size, while single-threaded Redis is bottlenecked on CPU and reaches local maxima in terms of performance.
If we compare Dragonfly and Redis on the most network-capable instance c6gn.16xlarge, Dragonfly showed a 25X increase in throughput compared to a single Redis process, crossing 3.8M QPS.
Dragonfly's 99th percentile latency metrics at its peak throughput:
| op | r6g | c6gn | c7g |
|---|---|---|---|
| set | 0.8ms | 1ms | 1ms |
| get | 0.9ms | 0.9ms | 0.8ms |
| setex | 0.9ms | 1.1ms | 1.3ms |
All benchmarks were performed using memtier_benchmark (see below) with number of threads tuned per server and instance type. memtier was run on a separate c6gn.16xlarge machine. We set the expiry time to 500 for the SETEX benchmark to ensure it would survive the end of the test.
memtier_benchmark --ratio ... -t <threads> -c 30 -n 200000 --distinct-client-seed -d 256 \
--expiry-range=...
In pipeline mode --pipeline=30, Dragonfly reaches 10M QPS for SET and 15M QPS for GET operations.
We compared Dragonfly with Memcached on a c6gn.16xlarge instance on AWS.
With a comparable latency, Dragonfly throughput outperformed Memcached throughput in both write and read workloads. Dragonfly demonstrated better latency in write workloads due to contention on the write path in Memcached.
This is the beginning of the README. Read the rest at the original. Read the full README ↗