`

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-8.0.20-winx64.zip

    在“mysql-cluster-8.0.20-winx64.zip”这个压缩包中,我们找到了MySQL Cluster的Windows 64位版本。下面将详细解释MySQL Cluster的相关知识点。 1. **MySQL Cluster架构**:MySQL Cluster由三个主要组件构成:SQL...

    MySQL Cluster 8.0.27(mysql-cluster-8.0.27-winx64.zip)

    MySQL Cluster 8.0.27 是一个高度可用、可扩展的数据库解决方案,专为对...在Windows环境下,通过解压`mysql-cluster-8.0.27-winx64.zip`文件,按照官方文档的步骤,用户可以快速部署和配置自己的MySQL Cluster环境。

    mysql-cluster-gpl-7.2.4-win32

    7. 安装与配置:`mysql-cluster-gpl-7.2.4-win32.msi`是一个Windows Installer包,用于简化MySQL Cluster的安装过程。用户只需按照向导步骤即可完成安装,然后根据企业需求配置集群参数,如节点数量、数据分区策略等...

    mysql-cluster-gpl-7.2.8.tar.gz

    在解压`mysql-cluster-gpl-7.2.8.tar.gz`后,你会得到一系列文件和目录,其中包括源代码、文档、配置脚本以及构建和安装MySQL Cluster所需的工具。通常,安装步骤涉及编译源代码、配置参数、创建集群以及启动数据库...

    linux下MySQL-Cluster集群研究.doc linux下MySQL-Cluster集群研究.doc

    MySQL-Cluster是一种高可用、高性能的数据库解决方案,它提供了数据的分布式存储和处理能力,确保即使在部分硬件故障的情况下也能保持服务的连续性和数据的一致性。本篇将详细介绍如何在Linux环境下配置一个基于两台...

    MySQL-Cluster-embedded-gpl

    "MySQL-Cluster-embedded-gpl" 版本7.2.5是专为嵌入式应用设计的,支持64位操作系统,如x86_64架构。这个版本是根据GNU General Public License (GPL)发布的,这意味着源代码对用户开放,用户可以自由地使用、修改和...

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

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

    MySQL-Cluster 集群安装部署

    5. 具有跨地域复制功能的多站点集群: MySQL-Cluster 可以提供跨地域复制功能的多站点集群,满足分布式应用的需求。 6. 联机扩展和模式升级: MySQL-Cluster 可以提供联机扩展和模式升级功能,满足应用的发展需求。 ...

    MySQL-Cluster-shared

    "MySQL-Cluster-shared"是MySQL Cluster的一个组件,专为共享环境设计,强调在多用户或多进程环境下提供稳定的服务。 在描述中提到的"7.2.5 shared"版本,指的是MySQL Cluster 7.2.5的共享库部分。这个版本可能包含...

    mysql-cluster安装(linux).pdf

    首先,你需要从MySQL官方网站(http://dev.mysql.com/downloads)下载相应的RPM包,包括`MySQL-Cluster-gpl-client-*.rpm`、`MySQL-Cluster-gpl-management-*.rpm`、`MySQL-Cluster-gpl-server-*.rpm`、`MySQL-...

    mysql分布式集群安装

    ### MySQL分布式集群安装详解 #### 一、概述 在当今数据密集型的应用环境中,数据库的高可用性与扩展性成为了企业级应用的关键因素之一。MySQL作为一款广泛使用的开源关系型数据库管理系统,在支持分布式架构方面...

    mysql-cluster-excerpt-5.1-en.a4.pdf

    MySQL Cluster是MySQL数据库系统的一个组件,它提供了一种数据存储和处理的分布式解决方案,旨在提高数据可用性、减少延迟并增强可扩展性。 ### MySQL Cluster的核心概念 1. **NDB(Network Database)**:这是...

    mysql-cluster操作文档

    MySQL Cluster是MySQL数据库的一种高可用性和高性能的集群方案,主要适用于大型应用。它支持自动分区,可以在多个物理服务器上存储数据,实现分布式存储和负载均衡,提高数据处理能力,同时保证故障时的自动故障转移...

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

    本篇将详细讲解基于提供的文件名所涵盖的三个关键知识点:MySQL双机集群、MySQL AB Cluster以及MySQL分布式集群部署。 1. MySQL双机集群: 双机集群,也称为主备复制,是一种常见的高可用性解决方案。在这个配置中...

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

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

    MySQL-Cluster-test-gpl-7.2.4-1.sles11.x86_64.rar

    在"MySQL-Cluster-test-gpl-7.2.4-1.sles11.x86_64.rar"这个压缩包中,我们主要关注的是MySQL Cluster的7.2.4版本,这是一个专为SUSE Linux Enterprise Server 11 (SLES11)的64位架构优化的测试版。 MySQL Cluster...

    mysql-cluster

    MySQL Cluster是一种分布式数据库系统,它提供了高可用性和可扩展性的解决方案。与传统的MySQL部署不同,MySQL Cluster能够在多个节点之间分配数据,实现数据复制和负载均衡,从而提高了系统的稳定性和性能。 - **...

    mysql-cluster-windows

    根据提供的文件信息,我们可以深入解析“mysql-cluster-windows”这一主题的关键知识点。 ### MySQL Cluster Quick Start Guide – Windows #### 知识点1:MySQL Cluster简介 MySQL Cluster是一种实时、高可用性、...

Global site tag (gtag.js) - Google Analytics