Percona XtraDB Cluster 的一些使用限制(PXC 5.7)

Percona XtraDB Cluster有众多的优秀特性,使得mysql集群得以轻松实现。但是不要忽略了它的一些限制。如果你无法接受,或者你的应用程序或数据库(比如使用了memory引擎)对限制无法做出调整,那PXC对你而言是不合适。限制有哪些呢,下文是其描述。

1、存储引擎:

  基于PXC的复制仅适用于InnoDB存储引擎。   对其他存储引擎的表,包括mysql.*表之类的系统表,任何写入都不会被复制。   那创建用户那岂不是无法同步了?关于这个问题。对于基于DDL方式的语句还是被支持的。   DDL语句使用基于语句级别的方式来实现(即不使用row模式)。   对mysql.*表的所有已DDL方式的更改都将以语句级别式进行复制。   如:CREATE USER… DDL被复制(语句级)     INSERT INTO mysql.user… myisam存储引擎,不会被复制,因为非DDL语句     当然也可以配置wsrep_replicate_myisam参数实现(不建议使用)

2、不支持的查询:

  LOCK TABLES在多主模式中不支持UNLOCK TABLES以及LOCK TABLES   锁定功能,如GET_LOCK(),RELEASE_LOCK()等也不被支持

3、查询日志不能定向到表:

  如果启用查询日志记录,则必须将日志转发到文件   使用general_log和general_log_file选择查询日志记录和日志文件名称   log_output = file # Author : Leshami # Blog : https://blog.csdn.net/leshami

4、最大事务大小:

  允许的最大事务大小由wsrep_max_ws_rows和wsrep_max_ws_size变量定义   LOAD DATA INFILE方式处理每10000行提交一次。对于大的事务将被分解众多小型事务

5、集群乐观并发控制:

  PXC集群使用乐观并发控制,事务发出COMMIT可能仍会在该阶段中止   可以有两个事务写入相同的行并在单独的Percona XtraDB集群节点中提交,并且只有其中一个可以成功提交。   失败的将被中止。对于集群级中止,Percona XtraDB集群返回死锁错误代码:     (Error: 1213 SQLSTATE: 40001 (ER_LOCK_DEADLOCK)).

6、由于可能的提交回滚,XA事务不受支持:
7、硬件配置短板限制:

  整个群集的写吞吐量受最弱节点的限制。如果一个节点变慢,整个集群变慢。   如果您对稳定的高性能有要求,那么它应该由相应的硬件支持。

8、建议的最小群集大小是3个节点。第三个节点可以是仲裁者。
9、InnoDB虚假更改功能不受支持。
10、enforce_storage_engine=InnoDB与wsrep_replicate_myisam=OFF(默认)不兼容 。
11、binlog_rows_query_log_events变量不受支持。
12、高负载时避免ALTER TABLE … IMPORT / EXPORT

  在集群模式下运行Percona XtraDB集群时,请避免ALTER TABLE … IMPORT / EXPORT工作负载。   如果未在所有节点上同步执行,则可能导致节点不一致。

参考链接:https://www.percona.com/doc/percona-xtradb-cluster/LATEST/limitation.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Spark学习技巧

phoenix二级索引

二级索引 二级索引是从主键访问数据的正交方式。Hbase中有一个按照字典排序的主键Rowkey作为单一的索引。不按照Rowkey去读取记录都要遍历整张表,然后按...

7589
来自专栏野路子程序员

整合用户篇—Oauth2理解与构造简单的系统

4008
来自专栏思考的代码世界

Python网络数据采集之存储数据|第04天

1404
来自专栏散尽浮华

Mysql的二进制日志binlog的模式说明

binlog模式总共可分为以下三种:row,statement,mixed 1.Row 日志中会记录成每一行数据被修改的形式,然后在slave端再对相同的数据进...

2095
来自专栏Java架构师历程

Mysql面试题目

5>.InnoDB不支持全文索引,而MyISAM支持。(X) (2) 问各种不同mysql版本的2者的改进 (3)2者的索引的实现方式

2343
来自专栏扎心了老铁

Elasticsearch索引别名、Filtered索引别名、Template

在使用elasticsearch的时候,经常会遇到需要淘汰掉历史数据的场景。 为了方便数据淘汰,并使得数据管理更加灵活,我们经常会以时间为粒度建立索引,例如: ...

4635
来自专栏james大数据架构

微软官方提供的用于监控MS SQL Server运行状况的工具及SQL语句

Microsoft SQL Server 2005 提供了一些工具来监控数据库。方法之一是动态管理视图。动态管理视图 (DMV) 和动态管理函数 (DMF) 返...

2907
来自专栏禅林阆苑

Sphinx&coreseek实现中文分词索引

众所周知,mysql等数据库的LIKE模糊搜索不支持索引,因此查询效率极低,需要结合第三方索引引擎程序(索引程序)来提高查询性能。

3083
来自专栏Java架构师历程

MYSQL 浅谈MyISAM 存储引擎

       mysql中用的最多存储引擎就是innodb和myisam。做为Mysql的默认存储引擎,myisam值得我们学习一下,以下是我对《高性能MYSQ...

7562
来自专栏JAVA高级架构

关于 MySQL 的知识点与面试常见问题都在这里

img垂直拆分的优点: 可以使得行数据变小,在查询时减少读取的Block数,减少I/O次数。此外,垂直分区可以简化表的结构,易于维护。 垂直拆分的缺点: 主键会...

2073

扫码关注云+社区

领取腾讯云代金券