12 wzy0623

尚未进行身份认证

20多年的数据库、数据仓库、大数据相关工作。《Hadoop构建数据仓库实践》、《HAWQ数据仓库与数据挖掘实战》、《SQL机器学习库——MADlib技术解析》作者。

等级
TA的排名 1k+

InnoDB Cluster详解

目录一、InnoDBCluster简介1.整体架构2.MySQLShell3.MySQLRouter4.MySQL服务器集群二、创建InnoDBCluster1.检查实例配置2.配置实例3.创建集群4.向集群添加实例5.查看集群状态6.基于已有组复制的集群创建7.配置MySQLRouter8.客户端连接测试...

2019-09-12 18:42:00

MySQL Router 8 详解

目录一、功能介绍1.透明路由2.元数据缓存3.简单重定向4.MySQLRouter8.0的新特性二、安装与启动1.安装2.启动三、配置1.配置文件位置2.配置文件语法3.配置文件示例MySQLRouter最早是作为MySQL-Proxy的替代方案出现的。作为一个轻量级中间件,MySQLRouter可在应用...

2019-09-03 15:35:32

重叠时间段问题优化算法详解

目录一、问题提出1.描述2.分析二、优化重叠查询1.自关联2.游标+内存临时表三、改进取得活跃时段的算法1.最小范围算法(表连接)2.正负计数器算法(一次扫描)四、MySQL8的单条查询解决方案一、问题提出1.描述这是一个实际业务需求中的问题。某一直播业务表中记录了如下格式的用户进出直播间日志数据:+----...

2019-08-26 09:59:42

将MySQL去重操作优化到极致

目录一、巧用索引与变量1.无索引对比测试(1)使用相关子查询(2)使用表连接(3)使用变量2.建立created_time和item_name上的联合索引对比测试(1)使用相关子查询(2)使用表连接(3)使用变量(4)使用变量,并且消除嵌套查询二、利用窗口函数三、多线程并行执行1.数据分片(1)查询出4份数据的created_time边...

2019-07-31 15:04:11

快速生成数字辅助表

数字辅助表只有一个整数列,包含从1到N个整数序列值,N通常很大。对MySQL来讲,数字辅助表是一个强大的工具,编写SQL语句时经常用数据表与数字辅助表做笛卡尔积来创建额外的行。建议创建一个持久的数据辅助表,并根据需要填充一定数据量的值。实际上如何填充数字辅助表无关紧要,因为只需要运行这个过程一次,不过还是可以对此过程进行优化。假设需要为如下数字辅助表生成数据:...

2019-07-31 10:08:53

MySQL 8 复制(十)——组复制性能与限制

目录一、组复制性能1.概述2.测试规划3.消息压缩4.组通信线程循环5.写入集6.流控7.其它配置8.主从、半同步、组复制性能对比测试二、组复制要求与限制1.组复制要求2.组复制限制一、组复制性能1.概述组复制的基本保证是,只有在组中的大多数节点接收到事务并且就并发事务的相对顺序达成一致之后,才会提交...

2019-07-30 15:08:53

MySQL 8 复制(九)——组复制联机配置

目录一、配置组复制模式1.单主模式2.多主模式3.联机配置组复制模式4.配置并发写实例数5.设置组的通信协议版本二、保证数据一致性1.组复制数据一致性简介2.防止主库故障转移造成的过时读取3.选择适当的一致性级别4.一致性级别范围5.一致性级别的影响三、其它配置1.调整恢复2.网络分区一、配置组复制模式...

2019-07-19 18:06:28

MySQL 8 复制(八)——组复制安装部署

目录一、部署单主模式组复制1.安装MGR插件2.准备配置文件3.重启主库实例4.启动组复制5.向组中添加实例二、组复制监控三、容错示例1.一个SECONDARY实例正常shutdown2.一个SECONDARY实例异常shutdown3.PRIMARY实例正常shutdown4.PRIMARY实例异常shutdown...

2019-07-12 16:16:31

MySQL 8 复制(七)——组复制基本原理

目录一、MySQL复制技术1.主从复制2.组复制二、组复制使用场景三、组复制相关服务1.故障检测2.组成员服务3.容错四、组复制技术细节1.组复制插件体系结构2.复制组3.数据操作语言(DataManipulationLanguage,DML)4.数据定义语句(DataDefinitionLanguage,...

2019-07-09 16:41:35

MySQL 8 复制(六)——拓扑与性能

目录一、复制拓扑1.一主一(多)从2.双(多)主复制4.多源复制5.Blackhole引擎与日志服务器二、复制性能1.测试规划2.sync_binlog与innodb_flush_log_at_trx_commit3.组提交与多线程复制4.基于WriteSet的多线程复制可以在任意个主从库之间建立复杂的复制拓扑结构,如普通...

2019-07-04 16:39:59

MySQL 8 复制(五)——配置GTID复制

目录一、配置GTID复制1.联机配置GTID复制2.联机更改复制模式3.GTID相关系统变量二、GTID运维1.跳过一个事务2.mysqldump导出3.主从切换三、GTID限制四、GTID集合运算函数1.GTID内置函数2.用户自定义函数3.使用示例上篇解释了许多GTID的原理,以及在MySQL复制中所起的作...

2019-06-14 17:10:25

MySQL 8 复制(四)——GTID与复制

目录一、GTID简介1.什么是GTID2.GTID的格式与存储二、GTID生命周期1.典型事务的GTID生命周期2.GTID分配3.gtid_next系统变量4.gtid_purged系统变量三、GTID自动定位MySQL复制中使用的事务类型有以下两种:GTID事务:在二进制日志中每个GTID事务始终都以Gtid_log_ev...

2019-06-06 17:52:03

Redis Cluster FlushAll失败

转自:http://longlongblog.cn/2017/11/01/58/问题背景Flush是一个极少用到的操作,不过既然碰到过诡异的现象,也记录在此。问题场景是在ReidsCluster中使用主从模式,向主节点发送flush命令,预期主从节点都会清空数据库。但是诡异的现象出现了,我们得到的结果是主从节点发生了切换,并且数据并没有被清空。问题分析分析以上case,Red...

2019-05-29 14:35:36

MySQL 8 复制(三)——延迟复制与部分复制

目录一、延迟复制1.延迟复制简介2.延迟复制时间戳3.监控延迟复制二、部分复制1.简介2.评估数据库级复制和二进制日志选项3.评估表级复制选项4.复制规则应用5.部分复制示例三、主从切换1.计划内切换2.计划外切换一、延迟复制1.延迟复制简介即使通常MySQL复制很快,但MySQL缺省的复制存在延...

2019-05-28 17:56:41

MySQL 8 复制(二)——半同步复制

目录一、简介二、性能提升1.支持发送二进制日志事件和接收ACK的异步化2.控制主库接收确认反馈从库的数量3.二进制日志互斥锁改进三、数据一致性1.源码剖析2.rpl_semi_sync_master_wait_point的配置3.sync_binlog的配置4.sync_relay_log的配置四、管理接口五、在MySQL8上安...

2019-05-16 18:01:45

MySQL 8 复制(一)——异步复制

目录一、MySQL异步复制介绍1.复制的用途2.复制如何工作3.两阶段提交二、复制实验环境三、安装mysql-8.0.16四、配置异步复制1.空库2.脱机3.联机一、MySQL异步复制介绍简单说,复制就是将来自一个MySQL数据库服务器(主库)的数据复制到一个或多个MySQL数据库服务器(从库)。传统的MySQL复制提供了...

2019-05-10 18:25:10

初学乍练redis:Redis 5 Cluster手工指定主从关系

1.检查当前Cluster的主从关系/home/redis/redis-5.0.3/src/redis-cli-a123456--clustercheck140.210.73.39:20001结果如下:140.210.73.39:20001(a1addf19...)->929146keys|5461slots|1slaves....

2019-04-21 16:25:50

初学乍练redis:Redis 5.0.3单实例数据迁移到Cluster

在使用redis3时,可以使用redis-migrate-tool工具做redis在线数据迁移(参考https://wxy0327.blog.csdn.net/article/details/84138537)。但是我们现在使用的redisserver已经升级到5.0.3版本,再用redis-migrate-tool做迁移会报错:[2019-04-1913:26:35....

2019-04-19 18:16:28

初学乍练redis:使用rdr查看Redis key内存使用

一、问题提出有一个生产系统的Redis实例内存使用超限引发报警,需要查看各个key所使用的内存分布情况,以便采取进一步的措施。二、安装RDRRedis原生并没提供查看单个Key的内存占用情况的命令。经过简单快速地调研,决定试一下RDR(RedisDataReveal),主要原因是想体验一下其图形化的表示。RDR是用go语言开...

2019-04-18 15:59:12

快速生成日期维度数据

日期维度在数据仓库中是一个特殊角色。日期维度包含时间概念,而时间是最重要的,因为数据仓库的主要功能之一就是存储和追溯历史数据,所以每个数据仓库里的数据都有一个时间特征。装载日期数据有三个常用方法:预装载、每日装载一天、从源数据装载日期。在三种方法中,预装载最为常见也最容易实现。在数据仓库生命周期中,只需要预装载日期维度一次。假设建立有如下日期维度表:cre...

2019-04-06 08:38:32

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。