首页 > 代码库 > mysql集群ndb和drdb那个比较好一些,我数据日访问量500w数据,数据达到T级别。

mysql集群ndb和drdb那个比较好一些,我数据日访问量500w数据,数据达到T级别。

mysql集群ndb和drdb那个比较好一些,我数据日访问量500w数据,数据达到T级别

http://zhidao.baidu.com/link?url=dbpH5rI2o-XcscD8beSZrDvQxyG4vkUYFIRf58ARc-vKuuSA3ACvBYM3ewnazqqFEyeB2ZRPCAo3Rl0XUfcptq

ndb是一种存储引擎,通常在mysql cluster中使用,MySQL Cluster 是一个基于NDB Cluster 存储引擎的完整的分布式数据库系统。

和Oracle Real Cluster Application 不太一样的是,MySQL Cluster 是一个Share Nothing 的架构 各个MySQLServer 之间并不共享任何数据,高度可扩展以及高度可用方面的突出表现是其最大的特色。

目前还是MySQL 家族中的一个新兴产品 优势:可用性非常高,性能非常好。

每一分数据至少在不同主机上面存在一份拷贝,且 冗余数据拷贝实时同步。 劣势:维护较为复杂,产品还比较新,存在部分bug,目前还不一定适用于比较核心的 线上系统。

drdb是一种数据高可用 数据冗余方案 简单来说,DRBD 其实就是通过网络来实现块设备的数据镜像同步的一款开源Cluster 软件,也被俗称为网络RAID1

优势:软件功能强大,数据在底层快设备级别跨物理主机镜像,且可根据性能和可靠性 要求配置不同级别的同步。

IO 操作保持顺序,可满足数据库对数据一致性的苛刻要求。

劣势:非分布式文件系统环境无法支持镜像数据同时可见,性能和可靠性两者相互矛盾, 无法适用于性能和可靠性要求都比较苛刻的环境。

维护成本高于MySQL Replication。

初步结论:楼主数据量大,还是超大,如果业务不是特别关键,建议用MySQL Cluster,遇到BUG也为MySQL Cluster提供些问题和建议,一起完善它。

如果业务又很关键,那还要具体分析,为什么要采用集群,是哪里存在瓶颈了,

据我所了解,MYSQL如果是关键业务,数据量又大,访问量也大,今后还会更大,可能无限制增长,那还是从数据分割上下手。

如果只是量大,但增长不会长期,那把服务器性能提升下得了,同时对数据库优化参数多研究下。

硬件主要是CPU能力、内存大小,磁盘性能,磁盘做RAID10或RAID50是最好的,不要做RAID5或RAID1。