mysql blackhole_MySQL的BlackHole引擎在主从架构中的作用
MySQL在5.x系列提供了Blackhole引擎–“黑洞”. 其作用正如其名字一样:任何写入到此引擎的数据均会被丢弃掉, 不做实际存储;Select语句的内容永远是空。 和Linux中的 /dev/null 文件完成的作用完全一致。
那么, 一个不能存储数据的引擎有什么用呢?
在大规模的Mysql服务器集群中,如果是存在一台主服务,多台从服务器,在繁忙的业务中,意味着主服务器每操作一个事件,都要往自己的二进制日志中写数据,同时还要往多台从服务器发一次,N台服务器指向一台主服务器,那么需要主服务器发送N次,会启动N个线程,每个线程各自从线程里读二进制日志,那么会有大量的IO,本来是为主服务器减轻负担的,那么这样只能造成压力越来越大,那这样master主机就会为每台slave主机分配出一个binlog dump进程,这样的话会严重影响master的性能。
解决这种问题可以采用多级复制,主服务器还是保持主位置A,再拿一台服务器作为从服务器B,主服务器A只启动一个线程指向从服务器B,那么B服务器再作为其他N台服务器的主,那么B就启动了多个线程,怎么给B服务器减轻压力呢?
在主从之间添加一个分布式master,配置blackhole存储引擎,他起到一个中继的作用,他接收数据但丢其他而不是存储,只是会把master的二进制日志供下层的slave来读取。
第一,让B服务器不再执行查询操作;
第二,让B服务器不再执行写操作;
第三,负责多线程为每个从服务器提供数据,那么就不需要在B服务器存储数据了,但是需要提供二进制日志和中继日志,但B服务器又不需要数据库;
把blackhole引擎,用做slave,配置一些过滤规则,比如复制某些表、不复制某些表。然后也作为一个master,带多个slave。这样的好 处是省了一定的网络带宽,如果没有blackhole做中间环节,那么就需要把第一个master的所有日志都传递到各个slave上去。经过 blackhole这一个slave兼master过滤后再传递给多个slave,减少了带宽占用。而使用blackhole引擎的原因是它不占硬盘空 间,作为一个中转,只负责记日志、传日志。
如何设置呢?
先查看一下当下mysql支持的引擎列表;
没找到blackhole引擎,那么接下来安装。
mysql> INSTALL PLUGIN blackhole SONAME 'ha_blackhole.so';
要设置 default_storage_engine=blackhole 就能实现主从 使用不一致的存储引擎。
补充:如果使用blackhole引擎创建的表,在执行insert操作后,再查询,是没有数据的,因为创建的时候只有.frm表结构文件。
BLACKHOLE总结
BLACKHOLE支持所有类型的索引
BLACKHOLE 表不存储数据,如果复制基于SBR,语句可以记录并在从库执行;如果复制为RBR、MBR,UPDATE及DELETE操作将会跳过,不会记录也从库不执行。
Insert触发器可以正常使用,Update、Delete触发器因为不存储数据不能触发,FOR EACH ROW 也不能触发。
BLACKHOLE 表Auto Increment字段不会自动递增,也不保留自增字段的状态
结合复制replicate-do和replicate-ignore规则,可使用BLACKHOLE当做一个分发主服务器
可用来验证转储文件语法
测试binlog的开销量,通过对比 BLACKHOLE 与 不启动 binlog的性能
可能被用来查找与存储引擎自身不相关的性能瓶颈
mysql blackhole_MySQL的BlackHole引擎在主从架构中的作用相关推荐
- mysql blackhole_mysql基于BLACKHOLE复制基础的各种架构
Mysql复制架构 这是mysql主从复制最基本的原理图,左边是主master,右边是从slave,从图中可以清晰看到mysql的复制进程,master产生二进制日志binlog,输出到binlog文 ...
- mysql主从架构备份,mysql数据库容灾实时备份主从架构
在线QQ客服:1922638 专业的SQL Server.MySQL数据库同步软件 showslavestatusG; 先容: 各种保险策略履行备份,随着互联网时期的生长数据对于一个企业来说越来越首要 ...
- 网关与微服务的概念及在微服务架构中的作用详解
网关的概念 网关(gateway),又称为网间连接器.协议转换器: 网关是在采用不同体系结构或协议的网络之间进行互通时,用于提供协议转换.路由选择.数据交换等网络兼容功能的设施: 网关在传输层上以实现 ...
- Hadoop生态系统完整组件及其在架构中的作用
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/cjDaShuJu_Java/article/details/80050858 (1)Hadoop生态 ...
- redis相关 主从架构
redis概述 redis的出现时间并不长,是NoSQL中的一种,基于键-值型的存储,与memcache类似,但是memcache中只是内存的缓存,而redis不仅是内存中的缓存,还提供持久存储,在2 ...
- DNS的主从架构、子域委派、转发器
为了保证服务能够稳定的进行,避免只有一台服务器的时候发生宕机而无法提供DNS服务:所有会有DNS主从服务器架构 主从DNS服务器:(主辅) 需要注意的细节: 1.主服务器和辅助服务器都是域级别的概念: ...
- redis主从架构宕机问题手动解决
1 主机宕机 1. 设置端口6379是主机,端口6380是从机,全部都正常启动 2. 验证在6379写入数据,在6380也能得到数据 3. 现在将6379主机停掉,模拟主机宕机 4. 由 ...
- 【Redis】Redis主从架构和哨兵模式
文章目录 主从架构 为什么需要Redis主从架构? 搭建主从架构(一主二从) 主从一致原理 复制积压缓冲区 全量复制 增量复制 在主从架构中出现了宕机的情况 为什么主从库之间的复制不使用 AOF? 哨 ...
- 如果redis哨兵宕机了怎么办_Redis 主从复制架构中出现宕机怎么办?以及哨兵功能...
如果主从复制架构中出现宕机的情况,需要分情况看: 1. 从Redis宕机 相对而言比较简单,Redis从库重新启动后会自动加入到主从架构中,自动完成同步数据: 存在的问题是,如果从库在断开期间,主库变 ...
最新文章
- go io.reader 多次读取_Go 语言进阶:freecache 源码学习(1)
- windows无法完成安装 若要在此计算机上安装_全新安装Windows10 2004的技巧,官方工具,安全高效...
- ROS机器人程序设计(原书第2版)3.9.1 使用rqt_rviz在3D世界中实现数据可视化
- RBAC 权限设计(转载)
- Git在版本2.13中继续改进了安全性和UI
- linux c语言 延迟,linux下写个C语言程序,要求有0.5微秒以下的延时,要怎样写
- 电子商务概论_走进经管优质线上课堂(二)之电子商务概论
- 通过程序包管理器控制台解决版本错误(CS1705)
- 6. /proc/cpuinfo
- Java 生成二维码实战
- 变化世界中的军事地质学
- python安装chardet_Python使用chardet判断字符编码
- ADC、DAC等混合信号器件的AGND和DGND要不要分开接地
- 无刷舵机和普通舵机,数字舵机还有模拟舵机的区别
- PV、UV、IV的概念
- 时差,不同国家之间的大概时差
- 马科维兹+matlab,“马科维茨”投资组合模型实践——第三章 投资组合优化:最小方差与最大夏普比率...
- 深入学习区块链的隐私保护(四)秘密共享
- JSCRIPT如何调试
- 阿里巴巴校招笔试题整理