前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >zookeeper 的数据模型

zookeeper 的数据模型

作者头像
兮动人
发布2021-06-11 19:13:06
6240
发布2021-06-11 19:13:06
举报
文章被收录于专栏:兮动人的博客兮动人的博客

1. zookeeper的数据模型

  • zookeeper的数据节点可以视为树状结构(或者目录),树中的各节点被称为 znode(即zookeeper node),一个znode可以有多个子节点。zookeeper节点在结构上表现为树状;使用路径path来定位某个znode,比如/ns-1/xdr630/mysql/schema1/table1,此处ns-1、xdr630、mysql、schema1、table1分别是根节点、2级节点、3级节点以及4级节点;其中ns-1是xdr630的父节点,xdr630是ns-1的子节点,xdr630是mysql的父节点,mysql是xdr630的子节点,以此类推。
  • znode,兼具文件和目录两种特点。既像文件一样维护着数据、元信息、ACL、时 间戳等数据结构,又像目录一样可以作为路径标识的一部分。
在这里插入图片描述
在这里插入图片描述

那么如何描述一个znode呢?一个znode大体上分为3各部分:

  • 节点的数据:即znode data(节点path, 节点data)的关系就像是java map中(key,value)的关系
  • 节点的子节点children
  • 节点的状态stat:用来描述当前节点的创建、修改记录,包括cZxid、ctime等

节点状态stat的属性

在zookeeper shell中使用get命令查看指定路径节点的data、stat信息:

代码语言:javascript
复制
[zk: localhost:2181(CONNECTED) 7] get /ns-1/tenant
cZxid = 0x6a0000000a
ctime = Wed Mar 27 09:56:44 CST 2019
mZxid = 0x6a0000000a
mtime = Wed Mar 27 09:56:44 CST 2019
pZxid = 0x6a0000000e
cversion = 2
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 0
numChildren = 2

属性说明:

  • cZxid:数据节点创建时的事务 ID
  • ctime:数据节点创建时的时间
  • mZxid:数据节点最后一次更新时的事务 ID
  • mtime:数据节点最后一次更新时的时间
  • pZxid:数据节点的子节点最后一次被修改时的事务 ID
  • cversion:子节点的更改次数
  • dataVersion:节点数据的更改次数
  • aclVersion:节点的 ACL 的更改次数
  • ephemeralOwner:如果节点是临时节点,则表示创建该节点的会话的
  • SessionID;如果节点是持久节点,则该属性值为 0
  • dataLength:数据内容的长度
  • numChildren:数据节点当前的子节点个数

节点类型 zookeeper中的节点有两种,分别为临时节点和永久节点。节点的类型在创建时即被确定,并且不能改变。

  • 临时节点:该节点的生命周期依赖于创建它们的会话。一旦会话(Session)结束,临 时节点将被自动删除,当然可以也可以手动删除。虽然每个临时的Znode都会绑定到 一个客户端会话,但他们对所有的客户端还是可见的。另外,ZooKeeper的临时节 点不允许拥有子节点。
  • 持久化节点:该节点的生命周期不依赖于会话,并且只有在客户端显示执行删除操作 的时候,他们才能被删除
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-04-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. zookeeper的数据模型
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档