ZooKeeper的数据模型和分布式文件系统类似,是一种层次化的属性结构。和文件系统不同的是,ZooKeeper的数据是结构化存储的,并没有在物理上体现出文件和目录。
ZooKeeper树种的每个节点的被称为Znode,Znode维护了一个state状态信息,其中包含数据化的时间和版本等。并且每个Znode可以设置一个value,ZooKeeper并不用于通用的数据库或者大量的数据存储,它只是管理和协调有关的数据,所以value的数据大小不建议设置的非常大,较大的数据会带来更大的网络开销。
ZooKeeper上的每个节点的数据都是允许读和写的,读标识获得指定Znode上的value数据,写表示修改指定Znode上的value数据。另外,节点的创建规则和文件系统中文件的创建规则类似,必须要按照层级创建。