`

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时再被使用,不会被其他表使用
  • 大小: 66.2 KB
  • 大小: 65.8 KB
0
2
分享到:
评论

相关推荐

    MySQL-Cluster-server-gpl-7.3.7-1.el6.x86_64

    MySQL Cluster是MySQL适合于分布式计算环境的高实用、高冗余版本。Cluster的汉语是“集群”的意思。它采用了NDB Cluster 存储引擎,允许在1个 Cluster 中运行多个MySQL服务器。MySQL Cluster 使用了一个专用的基于...

    mysql-cluster-community-auto-installer-7.5.9-1.el6.x86_64

    mysql分布式集群安装包,这是其中一个,有别于普通的myql集群

    MySQL分布式集群部署文档集合

    《MySql数据库双机集群》《MySQL分布式集群部署》《mysql_ab_cluster》

    MySQL分布式集群Mycat权威指南中文版

    支持galera for mysql集群,percona-cluster或者mariadb cluster,提供高可用性数据分片集群; 自动故障切换,高可用性; 支持读写分离,支持MySQL双主多从,以及一主多从的模式; 支持全局表,数据自动分片到多个...

    mysql分布式集群架构视频

    mysql分布式集群架构视频,包含linux上安装mysql,主从复制、主主复制、负载均衡、haproxy监控、高可用、keepalived、分库分表、数据库中间件-mycat、以及mycat的各种使用,自己学的这个视频,60多集,挺不错的

    MySQL Cluster 7.6 安装包|mysql-cluster-gpl-7.6.15-linux-glibc2.12-x86_64.tar.gz

    MySQL 官网下载,值得信赖,数据库版本 5.7

    MySQL Cluster 3台机器搭建集群环境

    ndb是一种存储引擎,通常在mysql cluster中使用,MySQL Cluster 是一个基于NDB Cluster 存储引擎的完整的分布式数据库系统。 和Oracle Real Cluster Application 不太一样的是,MySQL Cluster 是一个Share Nothing ...

    基于Dubbo实现的SOA分布式(没有实现分布式事务)-SpringBoot整合各种组件的JavaWeb脚手架+源代码+文档

    - MySQL主从复制,读写分离 - Spring Async - Spring Cache - Swagger - Spring Test - MockMvc - HTTPS - Spring DevTools - Spring Actuator - Logback+Slf4j多环境日志 - i18n - Maven Multi-Module - WebSocket ...

    TenDB Cluster是腾讯游戏CROS DBA团队提供的MySQL分布式关系型数据库解决方案

    TenDB Cluster是腾讯游戏CROS DBA团队提供的MySQL分布式关系型数据库解决方案,主要包括三个核心组件:TSpider,TenDB 、Tdbctl。TSpider是TenDB Cluster的接入层,是腾讯游戏CROS DBA基于MariaDB 10.3.7开发定制的...

    mysql cluster集群安装

    当前,随着互联网深入应用、云计算走向成熟,大数据晋升为一个时髦词汇。大数据统计降临到商业、经济、政治等领域,...而本文将围这些技术以mysql-cluster集群展开探讨,旨在为读都身体力行式的感受大数据存储机制。

    mysql cluster集群安装以及故障处理

    MySQL Cluster 是 MySQL 适合于分布式计算环境的高实用、高冗余版本。它采用了NDB Cluster 存储引擎,允许在1个 Cluster 中运行多个MySQL服务器。 MySQL Cluster 是一种技术,该技术允许在无共享的系统中部署"内存...

    MySQL大型分布式集群解决方案视频#.txt

    mysql大型分布式集群方案视频 ,52集略不完整(目前网内并无完整版)

    MySQL进阶-高可用、分布式、主从复制原理、备份恢复

    集群解决方案:如MySQL Group Replication, MySQL NDB Cluster等。 自动故障转移:当主服务器宕机时,自动将一个从服务器提升为新的主服务器。 分布式系统 定义:一个系统由多个独立的、地理位置分散的节点组成,...

    使用MySQL Cluster开发用户数据库指南

    MySQL Cluster CGE 是一个分布式、高度可用的实时数据库,部署在电信行业的一些最严苛的用户数据库系统中。在本文中,我们将介绍如何使用 MySQL Cluster 运营商级版本 (CGE) 构建可扩展、高度可用、多地多副本的用户...

    使用Linux之安装MySQLCluster集群.docx

    MySQL Cluster是一个基于NDB Cluster存储引擎的完整的分布式数据库系统。不仅仅具有高可用性,而且可以自动切分数据,冗余数据等高级功能。和Oracle Real Cluster Application不太一样的是,MySQL Cluster 是一个...

    MySQL5.1性能调优与架构设计.mobi

    ●架构设计篇则主要以设计一个高可用可扩展的分布式企业级数据库集群环境为目标,分析介绍了通过MySQL实现这一目标的多种架构方式。主要包括可扩展和高可用两部分内容,可扩展部分包括设计原则、Replication的利用、...

    MySQL性能调优与架构设计.mobi

    架构设计篇则主要以设计一个高可用可扩展的分布式企业级数据库集群环境为目标,分析介绍了通过 MySQL 实现这一目标的多种架构方式。主要包括可扩展和高可用两部分内容,可扩展部分包括设计原则、Replication 的利用...

    MYSQL集群+HA高可用实战【MySQL性能调优】.

    MySQL Cluster 是用于解决高... MySQL Cluster是为提供99.999%以上的高可用性而设计的,采用分布式节点设计技术,不会因为单点故障而使整个Cluster瘫痪。 MySQL Cluster由3类节点组成:管理节点、数据节点、SQL节点。

    Java思维导图xmind文件+导出图片

    redis Cluster数据分布算法之Hash slot redis使用常见问题及性能优化思路 redis高可用及高并发实战 缓存击穿、缓存雪崩预防策略 Redis批量查询优化 Redis高性能集群之Twemproxy of Redis 数据存储 MongoDB ...

Global site tag (gtag.js) - Google Analytics