《最新吴朱华ikewu83@gmailPeopleYunPPT课件》由会员分享,可在线阅读,更多相关《最新吴朱华ikewu83@gmailPeopleYunPPT课件(28页珍藏版)》请在金锄头文库上搜索。
1、吴朱华ikewu83gmailPeopleYun目录1.云计算时代的数据库2.YunTable的简介和设计3.NoSQL产品之间的比较4.YunTable的使用场景5.YunTable今后的规划NoSQL数据库的不足之处l不提供对不提供对SQL的支持的支持:如果不支持SQL这样的工业标准,将会对用户产生一定的学习和应用迁移成本; l支持的特性不够丰富支持的特性不够丰富:现有产品所提供的功能都比较有限,大多数NoSQL数据库都不支持事务,也不像MS SQL Server那样能提供各种强大的附加功能; l现有产品的不够成熟现有产品的不够成熟:大多数产品都还处于初创期,和关系型数据库几十年的完善不可
2、同日而语;YunTable的简介和设计YunTable的简介l在研发YunEngine的时候,发现在业界还缺乏一款在架构上非常简洁,并可适应多种云计算场景的NoSQL数据库,所以在那时就开始进行研发YunTable了。lYunTable的目标不是做一个类似BigTable这样比较大而全的数据库,而主要是做一个精简版的分布式做一个精简版的分布式Key-Value数据库,数据库,上层的云计算应用将会根据其自身的需求去利用上层的云计算应用将会根据其自身的需求去利用YunTable或者做修改,从而使或者做修改,从而使YunTable能适应云计算各种场景,并能适应云计算各种场景,并且非常易用且非常易用。
3、l现在已经在10月初正式开源,并发布其0.8版,项目地址http:/ Key-value这种数据模型在结构方面和传统的关系型相比较简单,有点类似常见的HashTable,一个Key对应一个Value,但是其能提供非常快的查询速度、大的数据存放量和高并发地操作,并非常适合通过主键(Key)来对数据进行查询和修改等操作,虽然不支持复杂的操作,但是可以通过上层的开发来弥补这个缺陷。Single-Masterl在分布式的设计上面,选择了在语义和实现上都非常简单明了的Single Master模式来管理整个集群。l一般来说,一个Master节点能管理上千个Region节点,为了能管理这样大的集群,所以M
4、aster节点只负责Region节点之间数据的分布,实际数据的处理则与Master无关,而由Client端和Region节点之间进行交互来完成。l为了避免Master出现单点失败的情况,YunTable将在今后版本中引入Shadow-Master这种机制。SSTablel简单而言,SSTable是一个用于存储已排序Key-Value对的文件格式,并且是不可变动的(Immutable),也就是写了之后,只能将其更新附加在其之后,而不能直接进行修改,这样是为了让系统能执行Disk所擅长的顺序访问,而不是随机访问。l在内部格式方面,SSTable文件主要有Index和Data Block这两部分组成
5、。l在实际运行时,系统常会把Index载入内存,以确保查询的效率。YunTable的架构如何适应不同的云计算环境云计算主要常见的有两类场景:l需要低延迟和高并发的读写能力(类似OLTP)。l海量数据的存储和操作(类似OLAP)。那么YunTable是如何适应这两种环境?l首先,坚持Key-Value、Single-Master和SSTable这样经典和通用的设计。l其次,在数据存储方面,加入Hotness这个机制,主要是通过设置Hotness值来决定之前为了完成查询而读取到内存中的Data Block的生存时间,假设如果是低延迟的情况,那么将Hotness值设置长一点,如果是海量数据,则相反。
6、NoSQL产品之间的比较主要的NoSQL数据库lBigTable/HBase:在数据模型上面属于Column-Family,采用了Single Master的分布式架构,主要为了存储海量的数据,不强调低延迟。lCassandra:在数据模型方面继承BigTable,也是Column-Family ,采用Dynamo的机制,其分布式架构类似P2P。lRedis:是Key-Value的,对List和Set这些操作有原生的支持,由于数据集都是放置于内存中,所以读写速度非常快,但是对分布式支持非常有限。lMongoDB:是Document DB,提供功能相对而言,比较完善,在分布式方面,有Replic
7、a Sets这样的新一代Master/Slave Replication机制。NoSQL数据库之间的比较YunTableBigTable/ HBaseCassandraRedisMongoDB设计理念设计理念简洁,通过设置来应对不同场景海量存储和处理简单和有效的扩展高并发全面数据模型数据模型Key-ValueColumn-FamilyColumn-FamilyKey-ValueDocument分布式分布式Single-MasterSingle-MasterP2PM/S 备份Replica Sets特色特色简洁和Hotness支撑海量数据采用Dynamo和P2PList、Set的处理全面不足不足
8、现在还处于开发阶段不适应低延迟应用Dynamo机制受到质疑分布式方面支持有限在性能和扩展方面没优势YunTable的使用场景具体场景lPaaS平台平台:由于PaaS平台的需求比较复杂,所以需要对其后台的数据库进行很多定制化,而YunTable由于其架构简单,所以非常适合,这方面的例子有YunEngine。lKey-Value的数据存储的数据存储:YunTable现在已提供名为YunCli的命令行,通过这个命令行能够方便上传和查询基于Key-Value格式的数据,将来也会提供相应的SDK。YunEngineYunCliYunTable今后的规划具体的里程碑版本号版本号关注点关注点预计发布时间预计发布时间0.9优化单节点的实现12月底1.0完善整个分布式的架构明年2月底1.1进行全面的分布式测试明年3月底2.0根据反馈进行优化明年6月底