mysqlcluster和mysql的区别 有哪些

Mysql Cluster 与 OceanBase 有哪些区别哪个更优秀

1. 分布式存储部分是做为mysql的一种存储引擎实现的(NDB),上层SQL没有感知,所以SQL层应该没有支持分布式并行查询处理。OceanBase的基于代价的查询优化器对于大查询会充分发挥分布式数据库的并行处理能力。再如OB分布式执行计划可以下压到存储所在机器。而ndb node实现存储引擎接口没有复杂的查询处理能力。
2. Mysql cluster中主备同步是用两阶段提交实现的,这个有点无语。另外REDO日志异步写入,延时一秒。也就是说宕机会丢一秒的事务,想象一下双十一每秒17万笔交易丢失……这块是它的整体架构导致事务层实现机制的问题。
btw,mysql cluster属于分布式数据库,mysql主从几节点都不是分布式数据库。

MySQL两种引擎的有什么区别

这个是考虑性能的问题,还有事务的支持,吧
百度一下你就知道
MyISAM、InnoDB、Heap(Memory)、NDB
貌似一般都是使用
InnoDB的,
mysql的存储引擎包括:MyISAM、InnoDB、BDB、MEMORY、MERGE、EXAMPLE、NDBCluster、ARCHIVE、CSV、BLACKHOLE、FEDERATED等,其中InnoDB和BDB提供事务安全表,其他存储引擎都是非事务安全表。
最常使用的2种存储引擎:
1.Myisam是Mysql的默认存储引擎,当create创建新表时,未指定新表的存储引擎时,默认使用Myisam。每个MyISAM在磁盘上存储成三个文件。文件名都和表名相同,扩展名分别是.frm(存储表定义)、.MYD(MYData,存储数据)、.MYI(MYIndex,存储索引)。数据文件和索引文件可以放置在不同的目录,平均分布io,获得更快的速度。
2.InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是对比Myisam的存储引擎,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。

MYSQL CLUSTER VS MYCAT,哪个更好

根据业务场景来选择,二者优点:
1、MYSQL CLUSTER,这个是MYSQL的官方集群方案,直接在数据库级别支持ndb网络节点,自动分片,自动join,单机故障不影响集群;
2、MYCAT,这个是基于阿里巴巴的Cobar方案优化而来,其支持团队也挺卖力的,支持半自动化分片、join。为什么叫“半自动化”呢?因为需要DBA对每个表的分片策略进行配置和干涉。个人感觉没有方案1的傻瓜式分片简单。

为什么说mysql cluster性能可能都不如单机的mysql

因为cluster数据传输是通过网络的,在并发低的情况下,“性能”肯定没有单机快,根据大家的以往经验来看大致慢6-8倍
cluster的主要有点是高可用和可扩展性,还有它的高并发性
不同的需求采用不同的方案

MySQL Cluster CGE 与普通的MySQL Cluster 有区别么

在老版本的MySQL 3.22中,MySQL的单表限大小为4GB,当时的MySQL的存储引擎还是ISAM存储引擎。但是,当出现MyISAM存储引擎之后,也就是从MySQL 3.23开始,MySQL单表最大限制就已经扩大到了64PB了(官方文档显示)。也就是说,从目前的技术环境来看,MySQL数据库的MyISAM存储 引擎单表大小限制已经不是有MySQL数据库本身来决定,而是由所在主机的OS上面的文件系统来决定了。而MySQL另外一个最流行的存储引擎之一Innodb存储数据的策略是分为两种的,一种是共享表空间存储方式,还有一种是独享表空间存储方式。当使用共享表空间存储方式的时候,Innodb的所有数据保存在一个单独的表空间里面,而这个表空间可以由很多个文件组成,一个表可以跨多个文件存在,所 以其大小限制不再是文件大小的限制,而是其自身的限制。从Innodb的官方文档中可以看到,其表空间的最大限制为64TB,也就是说,Innodb的单 表限制基本上也在64TB左右了,当然这个大小是包括这个表的所有索引等其他相关数据。而当使用独享表空间来存放Innodb的表的时候,每个表的数据以一个单独的文件来存放,这个时候的单表限制,又变成文件系统的大小限制了。

MYSQL CLUSTER VS MYCAT,哪个更好

Mycat和MySQL的区别:
可以把上层看作是对下层的抽象,例如操作系统是对各类计算机硬件的抽象。那么我们什么时候需要抽象?假如只有一种硬件的时候,我们需要开发一个操作系统吗?
再比如一个项目只需要一个人完成的时候不需要leader,但是当需要几十人完成时,就应该有一个管理者,发挥沟通协调等作用,而这个管理者对于他的上层来说就是对项目组的抽象。
同样的,当我们的应用只需要一台数据库服务器的时候我们并不需要Mycat,而如果你需要分库甚至分表,这时候应用要面对很多个数据库的时候,这个时候就需要对数据库层做一个抽象,来管理这些数据库,而最上面的应用只需要面对一个数据库层的抽象或者说数据库中间件就好了,这就是Mycat的核心作用。
所以可以这样理解:数据库是对底层存储文件的抽象,而Mycat是对数据库的抽象。

Mysql“集群”和”主从“两者的区别

1.Mysql cluster: share-nothing,分布式节点架构的存储方案,以便于提供容错性和高性能。

需要用到mysql cluster安装包,在集群中的每一个机器上安装。

有三个关键概念:Sql节点(多个),数据节点(多个),管理节点(一个),数据节点之间采用的是同步复制来保证各节点之间的数据一致性。

同步复制:
a) Master执行提交语句时,事务被发送到slave,slave开始准备事务的提交。
b) 每个slave都要准备事务,然后向master发送OK(或ABORT)消息,表明事务已经准备好(或者无法准备该事务)。
c) Master等待所有Slave发送OK或ABORT消息,如果Master收到所有 Slave的OK消息,它就会向所有Slave发送提交消息,告诉Slave提交该事务;如果 Master收到来自任何一个Slave的ABORT消息,它就向所有 Slave发送ABORT消息,告诉Slave去中止事务。
e) 每个Slave等待来自Master的OK或ABORT消息。如果Slave收到提交请求,它们就会提交事务,并向Master发送事务已提交 的确认;如果Slave收到取消请求,它们就会撤销所有改变并释放所占有的资源,从而中止事务,然后向Masterv送事务已中止的确认。
f) Master收到来自所有Slave的确认后,就会报告该事务被提交(或中止),然后继续进行下一个事务处理。
由于同步复制一共需要4次消息传递,故mysql  cluster的数据更新速度比单机mysql要慢。所以mysql cluster要求运行在千兆以上的局域网内,节点可以采用双网卡,节点组之间采用直连方式。

2.主从(Master-Slave): 主从机器上安装mysql community(普通版)就可以。
主从之间是通过mysql的replication来保证数据的一致性。相对mysql cluster的数据同步方式来讲是异步的。
Replication:主节点要开启binlog,设置一个唯一的服务器id(局域网内唯一);从节点设置服务器id,binlog记录了master上的所有操作,会被复制到从节点的relaylog并在从节点上回放。

Mysql Galera Cluster 与 Mysql 单实例 相比,所支持的写性能差多少

1. Oracle是大型数据库而Mysql是中小型数据库,Oracle市场占有率达40%,Mysql只有20%左右,同时Mysql是开源的而Oracle价格非常高。
2. Oracle支持大并发,大访问量,是OLTP最好的工具。
3. 安装所用的空间差别也是很大的,Mysql安装完后才152M而Oracle有3G左右,且使用的时候Oracle占用特别大的内存空间和其他机器性能。
4.Oracle也Mysql操作上的一些区别
①主键
Mysql一般使用自动增长类型,在创建表时只要指定表的主键为auto increment,插入记录时,不需要再指定该记录的主键值,Mysql将自动增长;Oracle没有自动增长类型,主键一般使用的序列,插入记录时将序列号的下一个值付给该字段即可;只是ORM框架是只要是native主键生成策略即可。
②单引号的处理
MYSQL里可以用双引号包起字符串,ORACLE里只可以用单引号包起字符串。在插入和修改字符串前必须做单引号的替换:把所有出现的一个单引号替换成两个单引号。
③翻页的SQL语句的处理
MYSQL处理翻页的SQL语句比较简单,用LIMIT 开始位置, 记录个数;ORACLE处理翻页的SQL语句就比较繁琐了。每个结果集只有一个ROWNUM字段标明它的位置, 并且只能用ROWNUM80
④ 长字符串的处理
长字符串的处理ORACLE也有它特殊的地方。INSERT和UPDATE时最大可操作的字符串长度小于等于4000个单字节, 如果要插入更长的字符串, 请考虑字段用CLOB类型,方法借用ORACLE里自带的DBMS_LOB程序包。插入修改记录前一定要做进行非空和长度判断,不能为空的字段值和超出长度字段值都应该提出警告,返回上次操作。
⑤空字符的处理
MYSQL的非空字段也有空的内容,ORACLE里定义了非空字段就不容许有空的内容。按MYSQL的NOT NULL来定义ORACLE表结构, 导数据的时候会产生错误。因此导数据时要对空字符进行判断,如果为NULL或空字符,需要把它改成一个空格的字符串。
⑥字符串的模糊比较
MYSQL里用 字段名 like ’%字符串%’,ORACLE里也可以用 字段名 like ’%字符串%’ 但这种方法不能使用索引, 速度不快。
⑦Oracle实现了ANSII SQL中大部分功能,如,事务的隔离级别、传播特性等而Mysql在这方面还是比较的弱

mysql 官方管理软件MySQL Community Server、MySQL Enterprise Edition、MySQL Cluster分别是干什么的

MySQL Community Server——–mysql的社区版本,开源、免费
MySQL Enterprise Edition———mysql企业版,非免费
MySQL Cluster———————–mysql集群版本,开源、免费

mysql cluster 和 mysql分库分表来说 哪个对大数据效果更好

数据库设计的一个原则就是,一个库里的表越少越好,一张表里的字段越少越好。当然也要看你的UI是怎么设计的,如果一个页面只查询一张表,不涉及到多表连接,那么无论放在哪个库里都可以,那就建议分库。否则就要跨表跨库查询,那真是噩梦!