• 文化山西:风华长城岁月歌 2019-10-15
  • 王晨:抓好大气污染防治 实现人民群众蓝天白云美好期盼 2019-10-09
  • 马伊琍庆幸文章逼自己走出舒适区:他说话难听但特别对 2019-10-09
  • 上合组织发展进程中一座新的里程碑 2019-10-08
  • 男子冒充澳商交往多人行骗被抓 现场来6个女友 2019-10-05
  • 谁还不是个小仙女了!甜而不腻的穿搭太撩人,直击你的粉色少女心! 2019-10-04
  • “陪堂妈妈”上课3000多节 班主任:她去中考没问题 2019-10-04
  • 【北京达世行世纪车型报价】北京达世行世纪4S店车型价格 2019-10-03
  • 但愿越南不是“颜色革命”!社会实践的事实一再证明,“社会主义”离开马列主义原则的改革开放,将是死路一条! 2019-10-03
  • 月薪过万白领辞职回乡养鸡 亏数十万后回城找工作 2019-09-25
  • (两会受权发布)中华人民共和国全国人民代表大会公告(第六号) 2019-09-16
  • 赵久占、郭健斌任天津市北辰区人民政府副区长 2019-09-16
  • 杨箕寺右 百余龙舟齐汇江面 2019-09-13
  • 特朗普敬礼被批相关新闻 2019-09-13
  • 回复@“老笑头”,你的牛二逻辑确实很通透!论坛奇葩!哈哈哈哈! 2019-09-09
  • Jquery中文网 码报 www.okkrb.tw
    Jquery中文网 >  数据库  >  mysql  >  正文 Cobar基于MySQL的分布式数据库服务中间件

    香港六名彩码报图:Cobar基于MySQL的分布式数据库服务中间件

    发布时间:2017-12-13   编辑:码报 www.okkrb.tw
    jquery中文网为您提供Cobar基于MySQL的分布式数据库服务中间件等资源,欢迎您收藏本站,我们将为您提供最新的Cobar基于MySQL的分布式数据库服务中间件资源
    通过数据水平拆分,并行计算与分布式事务等核心技术,实现海量数据高效处理与分析,下面我们来看一篇关于Cobar基于MySQL的分布式数据库服务中间件的例子。
    Cobar是阿里巴巴研发的关系型数据的分布式处理系统,是提供关系型数据库(MySQL)分布式服务的中间件,该产品成功替代了原先基于Oracle的数据存储方案,它可以让传统的数据库得到良好的线性扩展,并看上去还是一个数据库,对应用保持透明。

    码报 www.okkrb.tw  

    <ul>
    <li>产品在阿里巴巴稳定运行3年以上。</li>
    <li>接管了3000 个MySQL数据库的schema。</li>
    <li>集群日处理在线SQL请求50亿次以上。</li>
    <li>集群日处理在线数据流量TB级别以上。</li> </ul>

     

    Cobar的核心功能:

     

    cobar

     

    分布式:

     

    Cobar的分布式主要是通过将表放入不同的库来实现:

     

    <ul>
    <li>Cobar支持将一张表水平拆分成多份分别放入不同的库来实现表的水平拆分</li>
    <li>Cobar也支持将不同的表放入不同的库</li>
    <li>多数情况下,用户会将以上两种方式混合使用</li> </ul>

     

    要强调的是,Cobar不支持将一张表,例如test表拆分成test_1, test_2, test_3…..放在同一个库中,必须将拆分后的表分别放入不同的库来实现分布式。

     

    HA

     

    在用户配置了MySQL心跳的情况下,Cobar可以自动向后端连接的MySQL发送心跳,判断MySQL运行状况,一旦运行出现异常,Cobar可以自动切换到备机工作。需要强调的是:

     

    <ul>
    <li>Cobar的主备切换有两种触发方式,一种是用户手动触发,一种是Cobar的心跳语句检测到异常后自动触发。那么,当心跳检测到主机异常,切换到备机,如果主机恢复了,需要用户手动切回主机工作,Cobar不会在主机恢复时自动切换回主机,除非备机的心跳也返回异常。</li>
    <li>Cobar只检查MySQL主备异常,不关心主备之间的数据同步,因此用户需要在使用Cobar之前在MySQL主备上配置双向同步,详情可以参阅MySQL参考手册。</li> </ul>

     

    Cobar的功能约束

     

    <ul>
    <li>不支持跨库情况下的join、分页、排序、子查询操作。</li>
    <li>SET语句执行会被忽略,事务和字符集设置除外。</li>
    <li>分库情况下,insert语句必须包含拆分字段列名。</li>
    <li>分库情况下,update语句不能更新拆分字段的值。</li>
    <li>不支持SAVEPOINT操作。</li>
    <li>暂时只支持MySQL数据节点。</li>
    <li>使用JDBC时,不支持rewriteBatchedStatements=true参数设置(默认为false)。</li>
    <li>使用JDBC时,不支持useServerPrepStmts=true参数设置(默认为false)。</li>
    <li>使用JDBC时,BLOB, BINARY, VARBINARY字段不能使用setBlob()或setBinaryStream()方法设置参数。</li> </ul>

     

    Cobar逻辑层次图

     

    cobar-2

     

    <ul>
    <li>dataSource:数据源,表示一个具体的数据库连接,与物理存在的数据库schema一一对应。</li>
    <li>dataNode:数据节点,由主、备数据源,数据源的HA以及连接池共同组成,可以将一个dataNode理解为一个分库。</li>
    <li>table:表,包括拆分表(如tb1,tb2)和非拆分表。</li>
    <li>tableRule:路由规则,用于判断SQL语句被路由到具体哪些datanode执行。</li>
    <li>schema:cobar可以定义包含拆分表的schema(如schema1),也可以定义无拆分表的schema(如schema2)。</li> </ul>

     

    Cobar支持的数据库结构(schema)的层次关系具有较强的灵活性,用户可以将表自由放置不同的datanode,也可将不同的datasource放置在同一MySQL实例上。在实际应用中,需要通过配置文件(schema.xml)来定义我们需要的数据库服务器和表的分布策略。

     

    Cobar的实现原理

     

    Cobar的前、后端??槎际迪至薓ySQL协议;当接受到SQL请求时,会依次进行解释(SQL Parser)和路由(SQL Router)工作,然后使用SQL Executor去后端??榛袢∈菁ê蠖四?榛垢涸鹦奶觳夤δ埽?;如果数据集来自多个数据源,Cobar则需要把数据集进行组合(Result Merge),最后返回响应。

     

    cobar-3

     

    Cobar采用了主流的Reactor设计模式来处理请求,并使用NIO进行底层的数据交换,这大大提升系统的负载能力。其中,NIOAcceptor用于处理前端请求,NIOConnector则用于管理后端的连接,NIOProcessor用于管理多线程事件处理,NIOReactor则用于完成底层的事件驱动机制,就是看起来和Mina和Netty的网络模型比较相似。

     

    cobar-4

    您可能感兴趣的文章:
    Cobar基于MySQL的分布式数据库服务中间件
    Amoeba:开源的分布式数据库Porxy解决方案
    mysql主从复制读写分离的实现方法
    mysql主从复制配置与原理分析
    MySQL实现实时备份的配置过程详解
    ubuntu下mysql配置
    mysql数据库备份常用命令示例
    windows下mysql主从复制配置
    从源码开始搭建MySQL主从服务器的简单配置
    搭建mysql数据库主从复制的教程(图文)

    [关闭]
  • 文化山西:风华长城岁月歌 2019-10-15
  • 王晨:抓好大气污染防治 实现人民群众蓝天白云美好期盼 2019-10-09
  • 马伊琍庆幸文章逼自己走出舒适区:他说话难听但特别对 2019-10-09
  • 上合组织发展进程中一座新的里程碑 2019-10-08
  • 男子冒充澳商交往多人行骗被抓 现场来6个女友 2019-10-05
  • 谁还不是个小仙女了!甜而不腻的穿搭太撩人,直击你的粉色少女心! 2019-10-04
  • “陪堂妈妈”上课3000多节 班主任:她去中考没问题 2019-10-04
  • 【北京达世行世纪车型报价】北京达世行世纪4S店车型价格 2019-10-03
  • 但愿越南不是“颜色革命”!社会实践的事实一再证明,“社会主义”离开马列主义原则的改革开放,将是死路一条! 2019-10-03
  • 月薪过万白领辞职回乡养鸡 亏数十万后回城找工作 2019-09-25
  • (两会受权发布)中华人民共和国全国人民代表大会公告(第六号) 2019-09-16
  • 赵久占、郭健斌任天津市北辰区人民政府副区长 2019-09-16
  • 杨箕寺右 百余龙舟齐汇江面 2019-09-13
  • 特朗普敬礼被批相关新闻 2019-09-13
  • 回复@“老笑头”,你的牛二逻辑确实很通透!论坛奇葩!哈哈哈哈! 2019-09-09
  • 91y哪里可以上下分 北京pk10龙虎玩法技巧 竞彩怎么买只赚不赔 最新版百人棋牌 彩票辅助器免费版 北京10pk计划软件 稳赚包六肖无错六肖王六肖中特 betoo7足球即时比分 辽宁快乐12选5胆拖 福彩3d大小玩法技巧