?一、数据切分及整合的中间件
???? 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簇的数据节点,管理服务器,以及(可能)专门的数据访问程序。
?
?
cluster优缺点
?
?
原文:http://394498036.iteye.com/blog/2299873