首页 > 数据库技术 > 详细

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

时间:2016-05-25 02:15:11      阅读:245      评论:0      收藏:0      [点我收藏+]


bubuko.com,布布扣
?一、数据切分及整合的中间件
???? 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节点

?


bubuko.com,布布扣

cluster优缺点

?

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


?

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

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

原文:http://394498036.iteye.com/blog/2299873

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!