云计算背后的秘密之YunTable的故事

在本系列之前的一篇文章,和大家提到过,其实业界已经出现很多NoSQL产品,那么笔者为什么在这些产品的基础上,研发新的NoSQL数据库呢? 因为在研发YunEngine的时候,笔者发现在业界还缺乏一款在架构上非常简洁,并同时可以适应各种云计算场景的NoSQL数据库,所以在那时本人就开始进行YunTable的开发工作。YunTable的目标并不是做一个像BigTable那样大而全的数据库,而是主要做一个精简版的分布式Key-Value数据库,上层的云计算应用将会根据其自身的需求去利用YunTable或者做修改,从而使YunTable能适应云计算各种场景,并且非常易用。YunTable已经在10月初正式开源,并发布其0.8版,官方地址是http://code.google.com/p/yuntable/。下面将对YunTable进行分析和介绍,包括它的设计、架构和如何适应不同的云计算环境。

  YunTable的设计

  谈到一个NoSQL数据库的设计时,肯定离不开数据模型、分布式架构和数据存储这三方面。

  在数据模型上,YunTable是Key-Value的,虽然Key-value这种数据模型在结构方面和传统的关系型相比较简单,有点类似常见的HashTable,一个Key对应一个Value,但是其能提供非常快的查询速度、大的数据存放量和高并发地操作,并非常适合通过主键(Key)来对数据进行查询和修改等操作,虽然不支持复杂的操作,但是可以通过上层的开发来弥补这个缺陷。

  在分布式架构方面,YunTable选择了Single Master模式来管理整个集群,虽然这个模式存在单点失败的隐患,但是不论是在实现,还是在语义方面都非常简单,而且为了避免Master出现单点失败的情况,YunTable将会在今后版本中引入Shadow-Master这种机制。

  在数据存储方面,YunTable选择了SSTable这种文件格式。简单而言,SSTable是一个用于存储已排序Key-Value对的文件格式,并且是不可变动的(Immutable),也就是写了之后,只能将其更新附加在其之后,而不能直接进行修改,这样是为了让系统能执行Disk所擅长的顺序访问,而不是随机访问。在内部格式方面,SSTable文件主要有Index和Data Block这两部分组成。在实际运行时,系统常会把Index载入内存,以确保查询的效率。

  YunTable的架构

  在架构方面,主要可分为Region、Master和Client这三个模块,而且这三个模块都是独立的,并负责各自的业务逻辑。

▲图1. YunTable的架构

  首先,介绍一下Master节点,Master节点在功能上面属于比较“轻”调,主要负责维护Table和Region节点之间的对应关系,实际数据的查询和输入则都通过Region节点和Client端之间的交互完成,和Master节点无关,这样能有效地减轻Master节点的负担,使得其能支撑百台服务器以上的集群。举个例子,比如,当一个Client端需要处理某个Table的时候,它只需在第一次处理时候,向Master请求和这个Table相关的Region节点的地址,当之后再次处理到这个Table的时候,Client端无需再和Master节点进行沟通,而是直接和相关的Region节点进行交互即可。

  其次,谈谈Region节点,其作用是负责处理来自Client端的请求,并存储和管理大量的数据,Region节点非常类似BigTable论文中所提到的Tablet服务器。每个Region服务器管理多个Tablet,每个Tablet对应一个Table,并负责存储属于这个Table的数据。除了管理多个Tablet之外,Region服务器还自带WAL日志,全称为“Write-Ahead Log”,主要用于暂存那些最新的数据更新请求,以避免当Tablet中的Memstore被意外关闭时所造成的数据丢失,而当Memstore完成对数据的写入之后,WAL也会清空那些对应的数据。用于存储数据的Tablet主要有两大部分组成:其一是Memstore:其是缓存在内存中的数据文件,主要存储最新添加的数据,当Memstore存储的数据接近限定值时,在Memstore上缓存的数据都将会被冲刷(Flush)到YFile中;其二是YFile,它是主要用于存储数据的持久化文件,它是基于上面提到的SSTable格式,YFile只会在当Memstore被触发冲刷时创建,平时常被顺序读,这样能有效地利用硬盘顺序读性能好的特性,文件的位置在其所属Tablet的目录中。

  现在Client端主要以名为“YunCli”的命令行为主,主要用于让用户输入与数据处理相关的命令,并与后端的Master节点和Region节点进行交互,但随着时间的发展,在形式上,Client端有可能是类似JDBC的驱动等。

  如何适应不同的云计算环境

  云计算主要常见的有两类场景:需要低延迟和高并发的读写能力,数据量虽大,但称不上海量,估计最多在TB级别,大部分现在使用RDBMS的Web应用基本上都属于这一类,有点类似传统的OLTP(联机事务处理);海量数据的存储和操作,比如PB级别的,这方面的例子有传统的数据仓库、Google海量的Web页面和图片存储等,有点类似传统的OLAP(联机分析处理)。

  那么YunTable是如何适应这两种环境?首先,坚持Key-Value、Single-Master和SSTable这样经典和通用的设计。其次,在数据存储方面,加入Hotness这个机制,主要是通过设置Hotness值来决定之前为了完成查询而读取到内存中的Data Block的生存时间,假设如果是低延迟的情况,那么将Hotness值设置长一点,如果是海量数据,则相反。

  最后,YunTable作为新一代的PaaS平台YunEngine的后端数据库已经投入实际运行中,而且即将发布其0.9版,在这个版本中,YunTable的单点性能和稳定性将会走上一个新的台阶。还有,下一篇将继续给大家关注NoSQL。

  作者简介

  吴朱华,之前在IBM中国研究院参与过多个云计算产品的开发工作,现在专注于YunTable(http://code.google.com/p/yuntable/)和YunEngine(http://yunengine.com/)的研发,并即将发表《剖析云计算》一书,敬请期待。

时间: 2024-09-20 17:50:44

云计算背后的秘密之YunTable的故事的相关文章

《纸牌屋》火爆背后的秘密:大数据进化生产力

在信息社会,数据将成为核心资源,就像农业时代的土地.工业时代的能源. 中国正在朝着那个时代奔跑,但还有些距离. <纸牌屋>背后的秘密 在这个网站上,用户每天产生高达三千多万个行为,如收藏.推荐.回放.暂停等.随着数据挖掘技术日渐成熟,Netflix开始用这些数据倒推来生产影片. 时下最火的一部美剧,毫无疑问当数<纸牌屋>. 这部被中国网友们戏称为"白宫甄嬛传"的美国政治悬疑剧,正在全球四十多个国家热播.严肃媒体们--无论是<纽约时报>.<洛杉矶

解密手雷团队背后的秘密之系出名门

近日,手雷发布了最新的1.6版本.据了解,某些资源的下载速度已经超过了PC端,此消息一经公布就引发了用户的广泛关注.公众也对手雷背后的团队产生了一系列的猜测.究竟手雷背后是怎样一支团队在支撑,手雷团队与下载梦之队迅雷7团队之间有着怎样的紧密联系,我们将在解密手雷团队背后的秘密系列文章中一一解开. 提到迅雷大家都不陌生,这个软件已经陪伴了我们十年的时光,经过十年的发展,迅雷占据中国互联网下载领域超过80%市场的份额,迅雷以它高速的下载.海量的资源赢得了用户的信任,几乎人人必备.迅雷7更是创造了一个

周令钊:我和人民币背后的秘密

您知道人民币设计过程中的秘密么?您想了解3元人民币的历史故事么?您知道为什么第四套人民币上才出现毛主席的头像么?让我们走近人民币的设计者周令钊先生,揭开这些问题背后的谜团. 抽文:主席说,这个人啊,有生之年不能上钞票.这个人有问题没问题,要一辈子过去了才知道. 目录一:人民币的设计过程.3元人民币的昙花一现.人民币上的主席头像--人民币的设计者周令钊先生为我们揭开人民币背后的秘密. 1950年的一天,两位不速之客敲开了中央美术学院党委副书记罗工柳的家门.这两位客人都来自中国人民银行,一位是印刷局

揭露物联网攻击断网半个美国背后的秘密!

前言:它们是谁?它们是各类智能家居产品,它们是物联网领域不可计数的感知终端.它们很小,最小的仅仅是一个还没有指甲大的芯片,里面只有几十K字节的代码.但当数百万的它们被"联合"起来,一场DDoS风暴席卷美国! 这不是一篇技术解读性文章,但它会帮助你认清更多物联网攻击背后的秘密. 你还敢忽视它们吗?! 美国东部时间2016年10月21日7点10分-17点(北京时间21日19点10分-22日5点),黑客操控数百万网络摄像头及相关DVR录像机作为"肉鸡",通过Mirai僵尸

《数字营销解析——揭开用户数据背后的秘密》一1.1 数字媒体类型

1.1 数字媒体类型 数字营销解析--揭开用户数据背后的秘密 从20世纪90年代中期以来,数字媒体领域发生了很大的变化.在整整10年里,尽管我们对媒体类型进行了重新标记,但是比较流行的主要媒体类型有两种.第一种媒体是付费媒体,一般以付费搜索(例如Google AdWords)广告的形式或者展示广告(例如DoubleClick横幅广告)的形式出现.付费媒体实际上只是-某个品牌付费使用的数字媒体渠道. 第二种媒体是自有媒体.这是对公司的任何媒体资产或平台的通用术语.公司拥有.控制并利用自有媒体向潜在

法链背后的秘密

本文PPT来自onchain首席架构师李俊于10月14日在2016年杭州云栖大会上发表的演讲,分享主题为<法链背后的秘密--onchain分布式账本框架>. Onchain于2014开始区块链(国内第一个区块链项目)平台的设计与研发.经过持续的研发与改进,Onchain逐步形成了以基于区块链数字资产应用为基础,可以灵活扩展到各类基于分布式账本平台的业务应用支持的基础平台.Onchain持续地结合区块链/分布式账本领域相关技术的发展.不同业务领域的应用发展创新,开发与增强平台功能与企业级工具,形

《数字营销解析——揭开用户数据背后的秘密》一第1章 了解数字媒体领域

第1章 了解数字媒体领域 数字营销解析--揭开用户数据背后的秘密当数字营销和数字广告在20世纪90年代开始流行时,各个数字渠道的愿景是在适当的时机向适当的受众传达适当的信息-这是对传统媒体渠道游戏规则的升级.数字媒体是数据收集.分析和衡量的天堂,可以创建最高效.最优化的项目.在未来的15年里,我们认为实现这个愿景并非不可能,但是它比看起来要困难得多. 如今的数字媒体领域比以前要复杂得多.新平台.工具.数据资源和媒体消费类设备(例如移动设备和平板电脑)不断迅速涌现,创造了一个让营销商头疼的环境.如

《互联网金融投资理财一册通》一一第2章 揭秘余额宝收益背后的秘密

第2章 揭秘余额宝收益背后的秘密 互联网金融投资理财一册通2.1 余额宝入门 2.2 使用余额宝赚钱实战 2.3 余额宝投资要把握时机余额宝是一个网络资金交易媒介,是由支付宝为网络客户打造的一款余额增值服务.客户支付宝账户内的多余资金可以随时转入余额宝账户中,转入余额宝的资金在第二个工作日由基金公司进行份额确认,对已确认的份额会开始计算收益.享受比银行存款还要高的利息,并且可以随时转出和消费.

随视传媒:微信粉丝破百万背后的秘密

企业微信服务号粉丝数超过百万级的全国仅二十多个,而银行和航空公司.保险公司等特殊的服务行业,发展微信好友时通过"短信通知改道微信模板消息"的方式,比较快的把会员从手机号转移到微信公众号上,但是一般日常运营较为传统思路,没有发挥出微信好友群体的价值.由随视传媒运营的宝洁生活家和海尔日日顺微信服务账号粉丝纷纷突破百万,近日,随视传媒CEO薛雯漪和随视传媒高级副总裁沈雁解读了背后的秘密. 首先,微信粉丝破百万是什么一个概念?这破百万的粉丝又能给企业带来什么呢?随视传媒认为,对于企业来讲首先这