
MySQL常见的三种存储引擎为InnoDB、MyISAM和MEMORY。其区别体现在事务安全、存储限制、空间使用、内存使用、插入数据的速度和对外键的支持。具体如下:
1、事务安全:
InnoDB支持事务安全,MyISAM和MEMORY两个不支持。
2、存储限制:
InnoDB有64TB的存储限制,MyISAM和MEMORY要是具体情况而定。
3、空间使用:
InnoDB对空间使用程度较高,MyISAM和MEMORY对空间使用程度较低。
4、内存使用:
InnoDB和MEMORY对内存使用程度较高,MyISAM对内存使用程度较低。
5、插入数据的速度:
InnoDB插入数据的速度较低,MyISAM和MEMORY插入数据的速度较高。
6、对外键的支持:
InnoDB对外键支持情况较好,MyISAM和MEMORY两个不支持外键。
参考资料:百度百科—MySQL存储引擎
比较: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。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)