• 风雨兼程,与党和人民同行 2019-05-23
  • 张鼎丞对人民军队建设作出的贡献 2019-05-23
  • 把党的领导贯穿军事科研工作各方面和全过程 2019-05-23
  • 在强国论坛和新浪微博上也就说了几句国产80后伟大的钢琴家,嚯!粉丝不干了,邮箱里塞满男性女性生殖器的骂声和愤慨声。其实,真没有诋毁的意思。比如,美国一家男性内衣 2019-05-22
  • 【理上网来·喜迎十九大】不忘初心、继续前进,勇于全面深化改革 2019-05-22
  • 这5件事预测你能否可以开心活过80岁 2019-05-22
  • 新疆14所高校大学生同台比赛 2019-05-21
  • 西南铁路端午假期发送400余万人次 两人不文明乘车或受失信惩戒 2019-05-21
  • 省委中心组成员到联系帮扶点开展专题调研 2019-05-21
  • 热刺中场埃里克森领衔 北欧童话能否续写逆袭新篇 2019-05-21
  • 在深入推动长江经济带发展座谈会上的讲话 2019-05-20
  • 北京副中心核心区建成世界超一流智能配电网 2019-05-20
  • 江苏:五峰山跨江线路升高改造工程启动(组图) 2019-05-20
  • 无视婚变传闻 王浩信晒与朋友新旧对比照秀友情 2019-05-19
  • 专访香港演员陈钰芸:女版李小龙 用武术演绎精彩人生 2019-05-19
  • 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-05-23
  • 张鼎丞对人民军队建设作出的贡献 2019-05-23
  • 把党的领导贯穿军事科研工作各方面和全过程 2019-05-23
  • 在强国论坛和新浪微博上也就说了几句国产80后伟大的钢琴家,嚯!粉丝不干了,邮箱里塞满男性女性生殖器的骂声和愤慨声。其实,真没有诋毁的意思。比如,美国一家男性内衣 2019-05-22
  • 【理上网来·喜迎十九大】不忘初心、继续前进,勇于全面深化改革 2019-05-22
  • 这5件事预测你能否可以开心活过80岁 2019-05-22
  • 新疆14所高校大学生同台比赛 2019-05-21
  • 西南铁路端午假期发送400余万人次 两人不文明乘车或受失信惩戒 2019-05-21
  • 省委中心组成员到联系帮扶点开展专题调研 2019-05-21
  • 热刺中场埃里克森领衔 北欧童话能否续写逆袭新篇 2019-05-21
  • 在深入推动长江经济带发展座谈会上的讲话 2019-05-20
  • 北京副中心核心区建成世界超一流智能配电网 2019-05-20
  • 江苏:五峰山跨江线路升高改造工程启动(组图) 2019-05-20
  • 无视婚变传闻 王浩信晒与朋友新旧对比照秀友情 2019-05-19
  • 专访香港演员陈钰芸:女版李小龙 用武术演绎精彩人生 2019-05-19