Plog

五个Taurus垃圾回收compactor优化方案,减少系统资源占用

笑着哭i 提交于 2020-10-03 17:25:43
简介 TaurusDB是一种基于MySQL的计算与存储分离架构的云原生数据库,一个集群中包含多个存储几点,每个存储节点包含多块磁盘,每块磁盘对应一个或者多个slicestore的内存逻辑结构来管理. 在taurus的slicestore中将数据划为多个slice进行管理,每个slice的大小是10G,Taurus架构图如下: TauruDB的存储层支持append-only写和随机读,最小数据存储逻辑单元为plog,每个slice中包含多个plog,默认每个plog的大小为64M。slice中的plog主要用来存放page。Plog中存放中不同版本的page,有些老page已经过期,需要删除;有些page是新page,需要被保留下来。 Compator主要用来清理plog中过期的page,把一个plog上所有没有过期的page搬移到一个新plog,老的plog删除掉。 Compactor的任务需要频繁访问内存中索引结构和读写plog中的page页,这两部分都属于整个系统中关键资源,锁竞争的压力比较大,会直接影响性能,所以compactor的优化方案主要围绕减少内存访问和磁盘IO,需要考虑以下几个点: A、 选取的清理的plog集最优问题,每次回收需要搬运有效page,搬运的有效page数越少,磁盘IO就越小。如何每次调度都选取到垃圾量最大的一批plog; B、 垃圾量是否分布均匀

考研人的2019——一战跨考清华计算机的血泪史

▼魔方 西西 提交于 2020-08-10 21:15:16
2019已经过去好多天了,看到大师傅们纷纷秀出了他们的年终总结,而每年都有积极参与的我,却到现在还迟迟没有写下这段时光,我无法原谅我自己,抱歉,俺太迟了。 考研人的 2019 终究是苦逼的一年,从确定考研到真正上考场坦然地面对这一切,其实这段过程还是蛮令人怀念的,虽然结果可能没有预期那么美好,但是终究我为之付出了时间,付出了精力,也付出了我逝去的青春年华。 这一年,我坚持每周记录我的学习生活。当时为了记录我每周的日常学习和生活,我决定以一种特殊的方式来执行,所以突发奇想取名为我的 plog 日常。还记得我第一篇 plog 的发布时间是 2019.3.3,那是我考研正式开始复习的第一周,当时我就狠下了决心,把目标定在国内第一学府——清华大学。因为我觉得,既然要选择考研,那就直接报考最好的学校,那样即便是没考上,也不会觉得很难过,毕竟是清华嘛,又不是一般的高等学府。 佛曰:破执。 何为执?"我一定要去清华",这就是执,因为我只是想要得到这个,而不知为什么想要得到这个。事实上,我相信,在这个努力的过程中,我的所见所得,远远比 "清华" 这两个字的标签要值钱的多得多,我曾努力过,能去最好,不能去,也不必强求,不负青春就好。 现在想想,好像自己当时真的有点傻乎乎的,我怎么心这么大哈哈哈哈。 既然确定了要报考清华,肯定免不了要去瞅瞅目标院校的环境啥的,二话不说,直接拖个行李箱就奔赴北京

考研人的2019——一战跨考清华计算机的血泪史

|▌冷眼眸甩不掉的悲伤 提交于 2020-08-09 11:33:16
2019已经过去好多天了,看到大师傅们纷纷秀出了他们的年终总结,而每年都有积极参与的我,却到现在还迟迟没有写下这段时光,我无法原谅我自己,抱歉,俺太迟了。 考研人的 2019 终究是苦逼的一年,从确定考研到真正上考场坦然地面对这一切,其实这段过程还是蛮令人怀念的,虽然结果可能没有预期那么美好,但是终究我为之付出了时间,付出了精力,也付出了我逝去的青春年华。 这一年,我坚持每周记录我的学习生活。当时为了记录我每周的日常学习和生活,我决定以一种特殊的方式来执行,所以突发奇想取名为我的 plog 日常。还记得我第一篇 plog 的发布时间是 2019.3.3,那是我考研正式开始复习的第一周,当时我就狠下了决心,把目标定在国内第一学府——清华大学。因为我觉得,既然要选择考研,那就直接报考最好的学校,那样即便是没考上,也不会觉得很难过,毕竟是清华嘛,又不是一般的高等学府。 佛曰:破执。 何为执?"我一定要去清华",这就是执,因为我只是想要得到这个,而不知为什么想要得到这个。事实上,我相信,在这个努力的过程中,我的所见所得,远远比 "清华" 这两个字的标签要值钱的多得多,我曾努力过,能去最好,不能去,也不必强求,不负青春就好。 现在想想,好像自己当时真的有点傻乎乎的,我怎么心这么大哈哈哈哈。 既然确定了要报考清华,肯定免不了要去瞅瞅目标院校的环境啥的,二话不说,直接拖个行李箱就奔赴北京

五个Taurus垃圾回收compactor优化方案,减少系统资源占用

戏子无情 提交于 2020-08-04 21:25:32
简介 TaurusDB是一种基于MySQL的计算与存储分离架构的云原生数据库,一个集群中包含多个存储几点,每个存储节点包含多块磁盘,每块磁盘对应一个或者多个slicestore的内存逻辑结构来管理. 在taurus的slicestore中将数据划为多个slice进行管理,每个slice的大小是10G,Taurus架构图如下: TauruDB的存储层支持append-only写和随机读,最小数据存储逻辑单元为plog,每个slice中包含多个plog,默认每个plog的大小为64M。slice中的plog主要用来存放page。Plog中存放中不同版本的page,有些老page已经过期,需要删除;有些page是新page,需要被保留下来。 Compator主要用来清理plog中过期的page,把一个plog上所有没有过期的page搬移到一个新plog,老的plog删除掉。 Compactor的任务需要频繁访问内存中索引结构和读写plog中的page页,这两部分都属于整个系统中关键资源,锁竞争的压力比较大,会直接影响性能,所以compactor的优化方案主要围绕减少内存访问和磁盘IO,需要考虑以下几个点: A、 选取的清理的plog集最优问题,每次回收需要搬运有效page,搬运的有效page数越少,磁盘IO就越小。如何每次调度都选取到垃圾量最大的一批plog; B、 垃圾量是否分布均匀

机器学习面试之各种混乱的熵(一)

放肆的年华 提交于 2020-04-09 09:54:17
0x01 从随机变量说起 假设有一枚硬币,将其抛出,落下后朝上的面为y。 这里的y是对未知量的一个表示。但它的值却是不确定的,可能取正面和反面两个值。 类似的不确定变量还有好多,比如说,将人的身高设为z,z中也包含了不确定性,因为不同的人身高是不一样的。 这类包含不确定性的变量我们称为 随机变量 。统计学就是研究这类不确定性变量的工具。 刻画随机变量最有力的一个工具就是它的 概率分布 。关于什么是概率分布,这里就不多说了,可以百度百科。 有了概率分布,我们可以说对一个随机变量有了完全的掌握,因为我们可以知道它可能取哪些值,某个值的概率是多少。 以上,是对基础知识的简单复习,下面开始进入正题。 0x02 什么是熵? 上面,我们知道,概率分布是对随机变量的刻画,不同的随机变量有着相同或不同的概率分布, 熵 ,就是对不同概率分布的刻画! 为什么我们还需要对不同的概率分布进行刻画?本质上,是为了描述不确定的程度,并以此对不同的概率分布进行比较。 请允许我举个栗子。 假如我告诉你,我有两枚硬币,一个上抛一次正面朝上概率是 0.5,另一个是 0.8。此时,假设两枚硬币上抛一次落下后朝上的面分别是x,y。此时,我们可以很容易确定随机变量x,y的概率分布,并借此对两个随机变量有准确的掌握。 但我们要问,这两个随机变量哪个更随机?或者说,哪个随机变量包含的不确定性更大? 如果发挥直觉,我们可以感觉到