2019年5月30日

字符集和比较规则

摘要: 字符集 字符集指的是某个字符范围的编码规则 ASCII(128个):1个字节进行编码,包含空格,标点符号,数字,大小写字母,一些不可见字符 ISO 8859-1/latin1(256个):1个字节进行编码,ASCII基础上扩充了128个西欧常见字符 GB2312(6762个):因兼容ASCII字符集 阅读全文

posted @ 2019-05-30 10:06 hangzhi 阅读(340) 评论(0) 推荐(0) 编辑

InnoDB数据页结构

摘要: 定义 InnoDB管理存储空间的基本单位,一个页一般是16kb。InnoDB有多种类型的页用于存储不同信息。我们以记录为单位将数据存储在表中,所以存放记录的页又称数据页。数据页是一个双链表记录记录上下页信息。 数据页结构 file header文件头部(38byte):描述页的基本信息,比如页号,页 阅读全文

posted @ 2019-05-30 10:05 hangzhi 阅读(540) 评论(0) 推荐(0) 编辑

B+树索引

摘要: B+树索引 起因 通过InnoDB数据页结构可知所有数据页组成双链表结构,每个数据页中的记录按照主键大小组成单向链表,根据主键查询某条记录是从页目录通过二分法比较主键大小找到对应的槽,再遍历槽中的记录找到目标记录。但是主键查找有方法,那其他的列查找又怎么实现。如果通过从最小记录开始依次遍历,很明显很 阅读全文

posted @ 2019-05-30 10:02 hangzhi 阅读(292) 评论(0) 推荐(0) 编辑

2019年4月28日

Zookeeper(一)客户端

摘要: Zookeeper-客户端 例子: 问题 基本功能 以树形结构存储数据,叶子节点可以存储数据 文件系统 配置管理 命名服务 当某个节点的子节点变更,连接在这个节点的client可以实时监听到变化 集群管理 client对节点操作时,是原子操作 远程锁:分布式锁 基本术语 States客户端状态: P 阅读全文

posted @ 2019-04-28 10:18 hangzhi 阅读(508) 评论(0) 推荐(0) 编辑

Zookeeper(六)服务器

摘要: Zookeeper(六)服务器 zkServer.cmd中声明 首先启动QuorumPeerMain 服务器启动 预启动--QuorumPeerMain 初始化--ZooKeeperServerMain 初始化数据管理器FileTxnSnapLog:根据配置解析出快照文件路径和数据文件路径 初始化服 阅读全文

posted @ 2019-04-28 10:17 hangzhi 阅读(241) 评论(0) 推荐(0) 编辑

Zookeeper 选举过程

摘要: Zookeeper 选举过程 问题 选举过程 服务器之间是怎么通信的? 答:QuorumCnxManager使用TCP-socket实现选举过程中的连接通信 Leader的选举过程在什么时候实现? Leader的选举过程是如何实现的? Zookeeper的角色都有哪些,且各自有什么作用 Zookee 阅读全文

posted @ 2019-04-28 10:17 hangzhi 阅读(299) 评论(0) 推荐(0) 编辑

Zookeeper(四))持久化日志文件

摘要: Zookeeper(四))持久化日志文件 持久化用途 存储两种文件 snapshot:内存快照 log:事务日志,类似MySQL的binlog,存储数据节点的操作日志 问题 序列化的本质其实就是将原数据重新写入 roll中的BufferedOutputStream.flush和commit中的Fil 阅读全文

posted @ 2019-04-28 10:16 hangzhi 阅读(748) 评论(0) 推荐(0) 编辑

Zookeeper(五)持久化快照

摘要: Zookeeper(五)持久化快照 用途 快照文件是指定时间间隔对zookeeper服务器上的节点数据的序列化后备份到磁盘中,快照文件不一定是最新的 如果zk集群挂了,可能会用到它来复原 基本术语 DataTree:zookeeper中数据存储结构 http://www.cnblogs.com/le 阅读全文

posted @ 2019-04-28 10:16 hangzhi 阅读(395) 评论(0) 推荐(0) 编辑

Zookeeper(二)数据模型

摘要: Zookeeper数据模型ZNode 问题 ZK的数据模型ZNodes是什么样的: 树形结构,每个叶子节点都存储着数据,且可挂载子节点; 路径作为叶子节点名称,数据作为叶子节点内的数据; Znode可以存储什么类型的数据 ZK的数据模型ZNodes是什么样的: 树形结构,每个叶子节点都存储着数据,且 阅读全文

posted @ 2019-04-28 10:15 hangzhi 阅读(169) 评论(0) 推荐(0) 编辑

2019年3月25日

CyclicBarrier源码阅读

摘要: 一种允许多个线程全部等待彼此都到达某个屏障的同步机制 多个线程并发执行同一个CyclicBarrier实例的await方法时,每个线程执行这个方法后,都会被暂停,只有当最后一个线程执行完await方法时,它自身不会暂停,且会唤醒所有等待线程。因为CyclicBarrier内部维护了一个显式锁,它可以 阅读全文

posted @ 2019-03-25 16:37 hangzhi 阅读(105) 评论(0) 推荐(0) 编辑

导航