(七)zk数据模型介绍

1、是一个树形结构,类似于前端开发中的 tree.js组件;


可以说是参照linux或者unix的结构;

同样,与上面类似,另一种显示方法只是以一个路径的形式来显示:

2、zk的数据模型也可以理解为linux/unix的文件目录:/usr/local/...

3、每一个节点都称之为znode,它可以有子节点,也可以有数据。

4、每个节点可以分为临时节点和永久节点,临时节点在客户端断开之后消失。
永久节点就是一个持久化的过程。比如说一个节点存储了一些数据,只有人为的才可以删除,如果客户端session丢失或者session超时,那么他的数据还是会存在的;临时节点,也可以人为的删除,在session失效之后,那么节点的数据就会丢失。

5、每一个zk节点都有各自的版本号,可以通过命令行来显示节点信息。

6、每当节数据发生变化,那么该节点的版本号会累加
( 版本号累加可以理解为数据库里的表的乐观锁,乐观锁是控制的一个version,每当数据变化,是累加1的)

7、删除/修改过时的节点,版本号不匹配则会报错(这也是早期数据库中使用乐观锁的表现)

8、每个zk节点存储的数据不宜过大,几k即可

9、节点可以设置权限acl,可以通过权限来限制用户的访问

你可能感兴趣的:((七)zk数据模型介绍)