mysql分布式思维(十一)- MySQL Cluster



 一、数据切分及整合的中间件
     amoeba 是一个框架----->主要解决分布式数据存储后的整合的中间件 
           -----> amoeba for mysql   针对mysql数据库的
             amoeba.xml文件 --->amoeba for mysql本身的一些信息配置
      dbServers.xml文件---->主要配置代理的多个mysql数据源
      rule.xml文件  ----->配置查询路由的
      functionMap.xml文件---->配置用于解析query中的函数所对应的java类实现
      rulefunctionMap.xml文件---->配置路由规则中需要使用到的特定的函数的实现类。
    ----->amoeba for aladdin 针对异构数据源的            
    ----->amoeba for mongodb  针对Mongodb数据库

      mysqlProxy+lua
      cobar----》阿里巴巴解决异构数据源的代理的中间件--->开源的。

二、整合的问题
      1.事务的问题
                   尽量降低一致性要求,采用消息机制,利用消息中间件
      2.跨节点查询
          join不能直接用了,多个query语句,并且做好query优化
      3.跨节点合并排序
          ----->有些数据切分及整合的中间件已经帮我们实现了该功能。
   ----->join有顺序问题,排序没有驱动表和被驱动表的顺序问题
            自己做可以效率上进行提高可以采用并行机制

三、MySQL  Cluster
    1.Cluster一般特指集群完全自动管理,不需要人为干预太多
    2.mysql cluster
        ---->无共享存储设备的情况下实现的一种完全分布式数据库系统
 ---->NDB(NDB Cluster)存储引擎来实现
              ---->myisam,innodb存储引起在安装mysql server时就直接安装上了
       ---->ndb存储引擎要单独安装才可以。
        ---->数据既能直接放在内存,也能直接放在磁盘
 ----->现在mysql cluster还不是特别成熟,所以使用较少
           ----->国内有家企业 阿尔卡特朗讯 个别事业部有使用
               法国那边修改过的,搭建的集群,国内使用,
        它在使用的时候主要考虑的是实时数据,所以用的是内存存放数据。
 ----->mysql cluster集群的组成
           ---->1.sql服务器节点
                就是mysql server
         只做连接管理,query优化和响应,Cache管理等
         不存放数据
          ----->2.storage节点
                  其实就是NDB节点,存储引擎
    这个节点专门负责存储数据一出现至少两个,数据完全一样,实时同步。
          ----->3.负责管理各个节点的Manager节点主机

       ----->cluster的优缺点
   

          MySQL簇是一种技术,该技术允许在无共享的系统中部署“内存中”数据库的簇。通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求。此外,由于每个组件有自己的内存和磁盘,不存在单点故障。MySQL簇将标准的MySQL服务器与名为NDB的“内存中”簇式存储引擎集成了起来,MySQL簇由一组计算机构成,每台计算机上均运行着  多种进程,包括MySQL服务器,NDB簇的数据节点,管理服务器,以及(可能)专门的数据访问程序。

 

构成组件
管理 (MGM) 节点
数据节点
SQL 节点

 


cluster优缺点

 

能运行在普通硬件上,不需要专业的存
 
储设备
 
一个节点失败不会导致其他节点失败
 
需要较大的 RAM (至少 5.0 版是有这个要
 
求的)
 
数据节点和前端( SQL 节点)都可以避免
 
单点失效
 
数据的冗余是同步方式,不像复制采用
 
异步方式 ;一个数据节点实效,它的备份
 
节点的数据不会与其不一致
 
不能在线增加和舍弃节点(需要做全备
 
和恢复,需要重启整个 cluster )
 
本身不实现动态的负载均衡
 
管理复杂程度比复制高
 
目前应用的广泛程度远不及它的复制


 

不支持 Full Text 索引
 
自增长列必须是主键
 
不支持事务的部分回滚,重复键或者类似的错
 
误会导致整个事务回滚
 
只支持 read committed 隔离级别
 
varchar 占用与 char 相同的空间
 
外键被忽略
 
保存点被忽略
 
执行范围扫描时,开销相对昂贵
 
最大节点数为 63
 
数据节点最多为 48
 
不适宜处理大事务
 
commit 时不能保证日志刷新到硬盘
 
delete 某个表的数据,释放的空间,只由在同
 
一个表的 insert 时再被使用,不会被其他表使用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值