DBDB.io The Encyclopedia of Database Systems · Est. 2017
Database of Databases

Database Entry

Zookeeper


ZooKeeper is a distributed hierarchical key-value database system. It is often used as a fault-tolerant storage for meta-data in large-scale distributed systems.

Source Code
https://github.com/apache/zookeeper[02]
Country of Origin
US
Start Year
2008 [07]
Project Type
Open Source
Written in
Java
Operating System
All OS with Java VM
License
Apache v2

Database Entry

Zookeeper


ZooKeeper is a distributed hierarchical key-value database system. It is often used as a fault-tolerant storage for meta-data in large-scale distributed systems.

History


ZooKeeper was originally developed at Yahoo as centralized repository for meta-data in Hadoop clusters. It became a standalone Apache Foundation project in 2008.

Data Model


Isolation Levels


Joins


Logging[05]


Zookeeper uses Apache log4j 1.2 as an abstraction layer for logging with Apache log4j 1.2 as the current logging implementation. Future plans include allowing the end user to choose the logging implementation.

Query Interface


Storage Architecture


Storage Model


Storage Organization


Stored Procedures


System Architecture[06]


ZooKeeper follows a client-server model where clients are the nodes (machines) that make use of the service, and servers are the nodes that provide the service. The client library is responsible for the interaction between clients and ZooKeeper servers. Each client imports the client library. Every ZooKeeper client is connected to one ZooKeeper server, which can handle multiple client connections at the same time. Each client periodically sends pings to the server it is connected to. The server responds with an acknowledgement of the ping to indicate that it is alive as well. If the client does not receive an acknowledgment within the specified time, the client connects to another server, and the client session is transferred over to the new server.

Citations

7 sources
  1. Apache ZooKeeper apache.org
  2. GitHub - apache/zookeeper: Apache ZooKeeper · GitHub github.com
  3. ZooKeeper: Because Coordinating Distributed Systems is a Zoo apache.org
  4. Apache ZooKeeper - Wikipedia wikipedia.org
  5. ZooKeeper: Because Coordinating Distributed Systems is a Zoo apache.org
  6. http://www.corejavaguru.com/bigdata/zookeeper/architecture corejavaguru.com Dead — Check Archive
  7. https://medium.com/@markobonaci/the-history-of-hadoop-68984a11704 medium.com Dead — Check Archive
Revision #2 Last Updated: