vs

Apache ZooKeeper vs etcd

Apache ZooKeeper: The original coordination service: hierarchical znodes, watches and ephemeral nodes for clusters. etcd: Raft-based, strongly consistent key-value store that holds Kubernetes' cluster state.

key differences

  • Apache ZooKeeper is primarily a hierarchical database; etcd is key-value.
  • Transactions: Apache ZooKeeper offers limited ACID; etcd offers full.
  • Only Apache ZooKeeper has in-memory.
  • Only etcd has time travel.

choose apache-zookeeper for

  • +Coordination for HBase, Solr, Pulsar and legacy Kafka
  • +Leader election and distributed locks for JVM services
  • +Cluster membership and small shared configuration

best at · Coordination, Metadata

choose etcd for

  • +Kubernetes and control-plane state
  • +Service discovery and dynamic configuration
  • +Distributed locks and leader election
  • +Feature flags and small metadata for infrastructure

best at · Coordination, Metadata, Pub/Sub

overview
Primary model
Hierarchical
Key-Value
Also supports
Key-Value
–
Type
Database engine
Database engine
Status
Active
Active
Developer
Apache Software Foundation
etcd maintainers / CNCF
First release
2008
2013
Latest version
3.9.6 (Sep 3, 2026)
3.7.3 (Oct 22, 2026)
License
Open source (permissive)Apache License 2.0
Open source (permissive)Apache License 2.0
Free tier
✓
✓
popularity
WhichDB Score
39.9
32.4
Rank
#45
#71
GitHub stars
12.8K
52.4K
Stack Overflow questions
3.7K
478
scale & guarantees
Comfortable data size
Small (≤ 100 GB)
Small (≤ 100 GB)
Horizontal scaling
None
None
Multi-region
None
None
ACID
Limited
Full
Consistency
Strong
Strong
Schema
Schemaless
Schemaless
Architecture
Distributed, In memory, Client server
Distributed, Client server
deployment
Self-hosted
✓
✓
Vendor-managed cloud
—
—
Serverless
—
—
Embedded
—
—
Edge
—
—
Clouds
–
–
capabilities
Transactions
✓
✓
Joins
—
—
Secondary indexes
—
—
Full-text search
—
—
Vector search
—
—
Geospatial
—
—
JSON
—
—
Change data capture
—
—
Triggers
—
—
Stored procedures
—
—
Materialized views
—
—
TTL / expiry
✓
✓
Pub/Sub
✓
✓
Columnar storage
—
—
In-memory
✓
—
Durable persistence
✓
✓
Compression
—
—
Encryption at rest
—
—
Role-based access
✓
✓
Time travel
—
✓
Branching
—
—
Online schema changes
—
—
Streaming ingest
—
—
Offline sync
—
—
Runs in WebAssembly
—
—
interfaces
Query languages
ZooKeeper API
etcd v3 API
Client languages
Java, C, Python, Go, JavaScript, C#
Go, Java, Python, JavaScript, Rust, C++
Best for
Coordination, Metadata
Coordination, Metadata, Pub/Sub

Apache ZooKeeper vs etcd: FAQ

What is the difference between Apache ZooKeeper and etcd?

Apache ZooKeeper: The original coordination service: hierarchical znodes, watches and ephemeral nodes for clusters. etcd: Raft-based, strongly consistent key-value store that holds Kubernetes' cluster state. Apache ZooKeeper is primarily a hierarchical database; etcd is key-value. Transactions: Apache ZooKeeper offers limited ACID; etcd offers full. Only Apache ZooKeeper has in-memory.

When should I choose Apache ZooKeeper over etcd?

Choose Apache ZooKeeper for coordination for HBase, Solr, Pulsar and legacy Kafka; leader election and distributed locks for JVM services; and cluster membership and small shared configuration. Choose etcd for kubernetes and control-plane state; service discovery and dynamic configuration; and distributed locks and leader election.

Is Apache ZooKeeper or etcd more popular?

Apache ZooKeeper ranks #45 on the WhichDB Score (39.9/100) and etcd ranks #71 (32.4/100). Popularity is not fit: check the requirements that matter for your project.

Are Apache ZooKeeper and etcd open source?

Yes. Apache ZooKeeper is open source. License: Apache License 2.0. Yes. etcd is open source. License: Apache License 2.0.