1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
分片策略

OpenCloudb In Action中文版 1.0版本 OpenCloudb介绍 什么是OpenCloudb?简单的说,OpenCloudb就是: 一个彻底开源的,面向企业应用开发的“大数据库集群” 支持事务、ACID、可以替代Mysql的加强版数据库 一个可以视为“Mysql”集群的企业级数据库,用来替代昂贵的Oracle集群 一个融合内存缓存技术、Nosql技术、HDFS大数据的新型SQL Server 结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品 一个新颖的数据库中间件产品 OpenCloudb的目标是:低成本的将现有的单机数据库和应用平滑迁移到“云”端,解决数据存储和业务规模迅速增长情况下的数据瓶颈问题。 OpenCloudb的关键特性: 支持Mysql集群,可以作为Proxy使用 自动故障切换,高可用性 支持全局表,数据自动分片到多个节点,用于高效表关联查询 支持独有的基于E-R 关系的分片策略,实现了高效的表关联查询 多平台支持,部署和实施简单 OpenCloudb的优势: 基于阿里开源的Cobar产品而研发,Cobar的稳定性、可靠性、优秀的架构和性能,以及众多成熟的使用案例使得OpenCloudb一开始就拥有一个很好的起点,站在巨人的肩膀上,我们能看到更远。 广泛吸取业界优秀的开源项目和创新思路,将其融入到OpenCloudb的基因中,使得OpenCloudb在很多方面都领先于目前其他一些同类的开源项目,甚至超越某些商业产品。 OpenCloudb背后有一只强大的技术团队,其参与者都是5年以上资深软件工程师、架构师、DBA等,优秀的技术团队保证了OpenCloudb的产品质量。 OpenCloudb并不依托于任何一个商业公司,因此不像某些开源项目,将一些重要的特性封闭在其商业产品中,使得开源项目成了一个摆设。 OpenCloudb的长期路线规划: 在支持Mysql的基础上,后端增加更多的开源数据库和商业数据库的支持,包括原生支持PosteSQL、FireBird等开源数据库,以及通过JDBC等方式间接支持其他非开源的数据库如Oracle、DB2、SQL Server等 实现更为智能的自我调节特性,如自动统计分析SQL,自动创建和调整索引,根据数据表的读写频率,自动优化缓存和备份策略等 实现更全面的监控管理功能 与HDFS集成,提供SQL命令,将数据库装入HDFS中并能够快速分析 集成优秀的开源报表工具,使之具备一定的数据分析的能力 OpenCloudb架构 如图所示:Opencloudb使用Mysql的通讯协议模拟成了一个Mysql服务器,并建立了完整的Schema(数据库)、Table (数据表)、User(用户)的逻辑模型,并将这套逻辑模型映射到后端的存储节点DataNode(MySQL Instance)上的真实物理库中,这样一来,所有能使用Mysql的客户端以及编程语言都能将Opencloudb当成是Mysql Server来使用,不必开发新的客户端协议。 当Opencloudb收到一个客户端发送的SQL请求时,会先对SQL进行语法分析和检查,分析的结果用于SQL路由,SQL路由策略支持传统的基于表格的分片字段方式进行分片,也支持独有的基于数据库E-R关系的分片策略,对于路由到多个数据节点(DataNode)的SQL,则会对收到的数据集进行“归并”然后输出到客户端。 SQL执行的过程,简单的说,就是把SQL通过网络协议发送给后端的真正的数据库上进行执行,对于Mysql Server来说,是通过Mysql网络协议发送报文,并解析返回的结果,若SQL不涉及到多个分片节点,则直接返回结果,写入客户端的SOCKET流中,这个过程是非阻塞模式(NIO)。 DataNode是OpenCloudb的逻辑数据节点,映射到后端的某一个物理数据库的一个Database,为了做到系统高可用,每个DataNode可以配置多个引用地址(DataSource),当主DataSource被检测为不可用时,系统会自动切换到下一个可用的DataSource上,这里的DataSource即可认为是Mysql的主从服务器的地址。 OpenCloudb逻辑库 与任何一个传统的关系型数据库一样,OpenCloudb也提供了“数据库”的定义,并有用户授权的功能,下面是OpenCloudb逻辑库相关的一些概念: schema:逻辑库,与MySQL中的Database(数据库)对应,一个逻辑库中定义了所包括的Table。 table:表,即物理数据库中存储的某一张表,与传统数据库不同,这里的表格需要声明其所存储的逻辑数据节点DataNode,这是通过表格的分片规则定义来实现的,table可以定义其所属的“子表(childTable)

文档评论(0)

magui + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8140007116000003

1亿VIP精品文档

相关文档