mysql 并行fu

原创 2018年04月16日 14:01:34



Property Value
Command-Line Format --slave-parallel-type=type
Introduced 5.7.2
Type enumeration
Default Value DATABASE
Valid Values

DATABASE

LOGICAL_CLOCK

When using a multi-threaded slave (slave_parallel_workers is greater than 0), this option specifies the policy used to decide which transactions are allowed to execute in parallel on the slave. The possible values are:

  • DATABASE: Transactions that update different databases are applied in parallel. This value is only appropriate if data is partitioned into multiple databases which are being updated independently and concurrently on the master. Only recommended if there are no cross-database constraints, as such constraints may be violated on the slave.

  • LOGICAL_CLOCK: Transactions that are part of the same binary log group commit on a master are applied in parallel on a slave. There are no cross-database constraints, and data does not need to be partitioned into multiple databases.



DATABASE:并行应用更新不同数据库的事务。此值仅适用于将数据分区为多个数据库的情况,这些数据库在主服务器上独立并同时进行更新。只有在没有跨数据库约束的情况下才推荐使用,因为这样的约束可能会违反从站。


LOGICAL_CLOCK:作为主站上相同二进制日志组提交的一部分的事务在从站上并行应用。没有跨数据库约束,数据不需要分区到多个数据库。


当配置 slave_preserve_commit_order=1 参数 的时候,只能使用 LOGICAL_CLOCK 模式。


slave_preserve_commit_order:对于多线程slaves,来保障事务在slave上执行的顺序与relay log中的顺序严格一致,
只有当“slave_parallel_workers”开启时有效;此时“log_bin”、“log_slave_updates”必须开启,
而且“slave_parallel_type”值必须为“LOGICAL_CLOCK”(默认值为DATABASE)。即当多线程开启时,
且根据relay log中事务的逻辑顺序执行statements,是否需要严格保持顺序,默认值为0表示并发执行忽略顺序。
slave_parallel_type默认为DATABASE,能够确保每个DATABASE中的事务顺序严格一致,
但是无法保证所有databases的事务执行顺序也是严格一致的(gap),比如两个事务依次操作了2个DB:A和B,
尽管事务A、B分别被worker X、Y线程接收,但是因为线程调度的问题,有可能导致A的执行时机落后于B。
如果你的事务经常是“跨DB”操作,那么可以考虑使用此参数限定顺序。当此参数开启时,这要求任何worker线程执行的事务时,
只有当前事务中此之前的所有事务都执行后(被其他worker线程执行),才能执行和提交。
(每个事务中,都记录了当前GTID的privious GTID,只有privious GTID被提交后,当前GTID事务才能提交


Property Value
Command-Line Format --slave-parallel-type=type
Introduced 5.7.2
Type enumeration
Default Value DATABASE
Valid Values

DATABASE

LOGICAL_CLOCK

When using a multi-threaded slave (slave_parallel_workers is greater than 0), this option specifies the policy used to decide which transactions are allowed to execute in parallel on the slave. The possible values are:

MySQL数据库管理

-
  • 1970年01月01日 08:00

MySQL并行写入、查询性能调优(多核CPU)

[html] view plain copy [client] port = 3306 socket = /tmp/mysql.sock [mysqld] port = 3306 sock...
  • qq_32828253
  • qq_32828253
  • 2017-12-14 13:40:40
  • 879

mysql 并行负责降低主从同步延时

一、缘起 mysql主从复制,读写分离是互联网用的非常多的mysql架构,主从复制最令人诟病的地方就是,在数据量较大并发量较大的场景下,主从延时会比较严重。   为什么mysql主从延时这么大?...
  • yuanyuanispeak
  • yuanyuanispeak
  • 2016-08-09 14:25:37
  • 694

mysql 并行写数据导致重复的问题,加间隙锁解决

参考以下资料: http://blog.csdn.net/zouhao619/article/details/22790865     一个项目,应该是cs架构,服务器带消息中间件方式;因为历...
  • liangzhonglin
  • liangzhonglin
  • 2017-02-21 14:42:02
  • 737

win7 mysql 应用程序无法启动因为应用程序的并行配置不正确

在windows7系统中把mysql安装完成时开始配置,会出现错误“应用程序无法启动因为应用程序的并行配置不正确”。   查看系统日志时看到如下提示内容:   “C:\Progra...
  • Young0325
  • Young0325
  • 2011-12-26 16:34:31
  • 6428

将MySQL去重操作优化到极致之三弹连发(二):多线程并行执行

上一篇已经将单条查重语句调整到最优,但该语句是以单线程方式执行。能否利用多处理器,让去重操作多线程并行执行,从而进一步提高速度呢?比如我的实验环境是4处理器,如果使用4个线程同时执行查重sql,理论上...
  • wzy0623
  • wzy0623
  • 2017-01-12 15:35:21
  • 2905

win7安装mysql后“应用程序无法启动因为应用程序的并行配置不正

在windows7系统中把mysql安装完成时开始配置,会出现错误“应用程序无法启动因为应用程序的并行配置不正确”。   查看系统日志时看到如下提示内容:   “C:\Progra...
  • husheng8891
  • husheng8891
  • 2013-05-28 16:10:20
  • 1903

fu

#include "stdio.h" #include "stdlib.h" #define LIST_INIT_SIZE 100 //#define LIST_INCREMENT 10 ty...
  • u013514557
  • u013514557
  • 2016-10-08 11:58:21
  • 41

mysql数据库大规模数据读写并行时导致的锁表问题

问题介绍 最近在给学校做的一个项目中,有一个功能涉及到考核分数问题。 我当时一想,这个问题并不是很难,于是就直接采用了这样的方法:拿着一个表中的数据作为索引,去挨个遍历相关表中的数据,最后经过算分...
  • yanmiao0715
  • yanmiao0715
  • 2018-03-21 09:03:02
  • 67

2013.11.22并行查询 分区表

谷歌     并行查询 分区表 http://f.dataguru.cn/thread-46946-1-1.html http://f.dataguru.cn/thread-46694-1-1...
  • haiross
  • haiross
  • 2013-11-28 11:30:59
  • 800
收藏助手
不良信息举报
您举报文章:mysql 并行fu
举报原因:
原因补充:

(最多只允许输入30个字)