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.

Storage Architecture

Disk-oriented

Data Model

Hierarchical

Stored Procedures

Not Supported

Storage Organization

Heaps

Query Interface

Custom API

System Architecture

Shared-Nothing

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.

Isolation Levels

Not Supported