自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wzy0623的专栏

数据库、数据仓库、大数据

转载 为什么 redis 单线程却能支撑高并发

redis 和 memcached 有什么区别?redis 的线程模型是什么?为什么 redis 单线程却能支撑高并发? 这个是问 redis 的时候,最基本的问题吧,redis 最基本的一个内部原理和特点,就是 redis 实际上是个单线程工作模型,你要是这个都不知道,那后面玩儿 redi...

2020-01-16 09:18:50

阅读数 26

评论数 0

原创 MySQL高可用之DRBD

目录 一、DRBD简介 1. 工作原理 2. DRBD 支持的底层设备 3. DRBD资源 4. DRBD 配置工具 5. DRBD与RAID1区别 6. DRBD与共享存储 二、DRBD安装配置 1. 实验环境 2. 配置前准备 3. 下载安装DRBD 4. 配置DRBD...

2019-11-14 17:24:33

阅读数 2170

评论数 0

原创 一键式完全删除CDH 6.3.1

CDH集群的安装部署虽然步骤比较多,但只要严格按照文档操作,一般不会有太大问题。然而,如果安装过程中出错,或因为其它原因需要重新安装CDH,在不重装操作系统的前提下,是比较困难的。难点在于需要删除的东西太多,不删干净了非常容易造成安装失败。网上找的所谓“CDH完全卸载”其实都不够完全。经过一天的反...

2019-11-07 06:03:02

阅读数 117

评论数 0

原创 Galera Cluster for MySQL 详解(四)——性能测试

目录 一、测试目标 二、测试规划 三、测试过程 1. 缺省配置 2. 多线程 3. 流控 四、测试结论 参考: 本篇使用tpcc-mysql压测工具对实验环境的三节点Galera集群进行一系列性能测试。 一、测试目标 验证Galera的同步复制,检查是否存在复制延迟。...

2019-10-31 16:29:05

阅读数 153

评论数 0

原创 Galera Cluster for MySQL 详解(三)——管理监控

目录 一、管理 1. 在线DDL (1)TOI (2)RSU (3)pt-online-schema-change 2. 恢复主组件 (1)了解主组件状态 (2)修改保存的主组件状态 3. 重置仲裁 (1)查找最高级的节点 (2)重置仲裁 (3)自动引导 (4)手动引导 ...

2019-10-30 15:29:01

阅读数 242

评论数 0

原创 Galera Cluster for MySQL 详解(二)——安装配置

目录 一、Galera集群实验环境 二、初始安装 1. 安装galera-3、mysql-wsrep-5.7、Percona-XtraBackup-2.4.15 2. 修改配置文件 3. 初始化集群 4. 启动集群其它节点的mysqld服务 5. 验证安装 6. 问题排查 三、使...

2019-10-17 15:24:47

阅读数 386

评论数 2

原创 Galera Cluster for MySQL 详解(一)——基本原理

目录 一、同步复制 二、Galera复制架构 1. wsrep api 2. 全局事务ID(global transaction id,GTID) 3. Galera复制插件 4. 组通信插件 三、Galera复制工作原理 四、状态转移 1. 状态快照传输 2. 增量状态转移 ...

2019-10-12 17:49:34

阅读数 815

评论数 0

原创 快速安全删除MySQL大表

目录 一、表删除过程 1. buffer pool清除 2. 删除表相关的磁盘文件 二、创建硬链接 三、删除表 四、删除文件释放空间 参考: 在一个高负载的生产数据库上删除大表需要一些技巧,倘若直接drop table,将产生大量磁盘I/O,严重的会卡库,这是高可用服务所不...

2019-10-07 18:33:58

阅读数 1179

评论数 4

原创 InnoDB Cluster详解

目录 一、InnoDB Cluster简介 1. 整体架构 2. MySQL Shell 3. MySQL Router 4. MySQL服务器集群 二、创建InnoDB Cluster 1. 检查实例配置 2. 配置实例 3. 创建集群 4. 向集群添加实例 5. 查看集群...

2019-09-12 18:42:00

阅读数 951

评论数 0

原创 MySQL Router 8 详解

目录 一、功能介绍 1. 透明路由 2. 元数据缓存 3. 简单重定向 4. MySQL Router 8.0的新特性 二、安装与启动 1. 安装 2. 启动 三、配置 1. 配置文件位置 2. 配置文件语法 3. 配置文件示例 MySQL Router最早是作为...

2019-09-03 15:35:32

阅读数 1381

评论数 4

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

目录 一、问题提出 1. 描述 2. 分析 二、优化重叠查询 1. 自关联 2. 游标+内存临时表 三、改进取得活跃时段的算法 1. 最小范围算法(表连接) 2. 正负计数器算法(一次扫描) 四、MySQL 8的单条查询解决方案 一、问题提出 1. 描述 这是一个...

2019-08-26 09:59:42

阅读数 875

评论数 0

原创 将MySQL去重操作优化到极致

目录 一、巧用索引与变量 1. 无索引对比测试 (1)使用相关子查询 (2)使用表连接 (3)使用变量 2. 建立created_time和item_name上的联合索引对比测试 (1)使用相关子查询 (2)使用表连接 (3)使用变量 (4)使用变量,并且消除嵌套查询 二、利...

2019-07-31 15:04:11

阅读数 8518

评论数 16

原创 快速生成数字辅助表

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

2019-07-31 10:08:53

阅读数 202

评论数 0

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

目录 一、组复制性能 1. 概述 2. 测试规划 3. 消息压缩 4. 组通信线程循环 5. 写入集 6. 流控 7. 其它配置 8. 主从、半同步、组复制性能对比测试 二、组复制要求与限制 1. 组复制要求 2. 组复制限制 一、组复制性能 1. 概述 组复...

2019-07-30 15:08:53

阅读数 521

评论数 1

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

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

2019-07-19 18:06:28

阅读数 183

评论数 0

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

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

2019-07-12 16:16:31

阅读数 820

评论数 0

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

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

2019-07-09 16:41:35

阅读数 828

评论数 0

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

目录 一、复制拓扑 1. 一主一(多)从 2. 双(多)主复制 4. 多源复制 5. Blackhole引擎与日志服务器 二、复制性能 1. 测试规划 2. sync_binlog与innodb_flush_log_at_trx_commit 3. 组提交与多线程复制 4. 基...

2019-07-04 16:39:59

阅读数 1058

评论数 0

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

目录 一、配置GTID复制 1. 联机配置GTID复制 2. 联机更改复制模式 3. GTID相关系统变量 二、GTID运维 1. 跳过一个事务 2. mysqldump导出 3. 主从切换 三、GTID限制 四、GTID集合运算函数 1. GTID内置函数 2. 用户自定...

2019-06-14 17:10:25

阅读数 1218

评论数 3

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

目录 一、GTID简介 1. 什么是GTID 2. GTID的格式与存储 二、GTID生命周期 1. 典型事务的GTID生命周期 2. GTID分配 3. gtid_next系统变量 4. gtid_purged系统变量 三、GTID自动定位 MySQL复制中使用的事务...

2019-06-06 17:52:03

阅读数 3134

评论数 5

转载 Redis Cluster FlushAll失败

转自:http://longlongblog.cn/2017/11/01/58/ 问题背景 Flush是一个极少用到的操作,不过既然碰到过诡异的现象,也记录在此。 问题场景是在Reids Cluster中使用主从模式,向主节点发送flush命令,预期主从节点都会清空数据库。但是诡异的现象出现...

2019-05-29 14:35:36

阅读数 625

评论数 0

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

目录 一、延迟复制 1. 延迟复制简介 2. 延迟复制时间戳 3. 监控延迟复制 二、部分复制 1. 简介 2. 评估数据库级复制和二进制日志选项 3. 评估表级复制选项 4. 复制规则应用 5. 部分复制示例 三、主从切换 1. 计划内切换 2. 计划外切换 一、延迟...

2019-05-28 17:56:41

阅读数 1632

评论数 6

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

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

2019-05-16 18:01:45

阅读数 1780

评论数 5

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

目录 一、MySQL异步复制介绍 1. 复制的用途 2. 复制如何工作 3. 两阶段提交 二、复制实验环境 三、安装mysql-8.0.16 四、配置异步复制 1. 空库 2. 脱机 3. 联机 一、MySQL异步复制介绍 简单说,复制就是将来自一个MySQL数据库...

2019-05-10 18:25:10

阅读数 2840

评论数 11

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

1. 检查当前Cluster的主从关系 /home/redis/redis-5.0.3/src/redis-cli -a 123456 --cluster check 140.210.73.39:20001 结果如下: 140.210.73.39:20001 (a1addf19....

2019-04-21 16:25:50

阅读数 868

评论数 1

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

在使用redis 3时,可以使用redis-migrate-tool工具做redis在线数据迁移(参考https://wxy0327.blog.csdn.net/article/details/84138537)。但是我们现在使用的redis server已经升级到5.0.3版本,再用redis-...

2019-04-19 18:16:28

阅读数 1047

评论数 1

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

一、问题提出 有一个生产系统的Redis实例内存使用超限引发报警,需要查看各个key所使用的内存分布情况,以便采取进一步的措施。 二、安装RDR Redis原生并没提供查看单个Key的内存占用情况的命令。经过简单快速地调研,决定试一下RDR(Redis Data ...

2019-04-18 15:59:12

阅读数 1224

评论数 2

原创 快速生成日期维度数据

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

2019-04-06 08:38:32

阅读数 1417

评论数 4

原创 触类旁通Elasticsearch:管理

目录 一、模板 二、动态映射 三、分配感知 四、监控 1. 检查集群健康状况 2. 慢日志、热线程和线程池 3. 内存 4. 操作系统缓存 5. 存储限流 五、备份与恢复 1. 快照API 2. 将数据备份到共享的文件系统 3. 从备份中恢复 《Elasticsearc...

2019-02-22 16:08:07

阅读数 549

评论数 0

原创 触类旁通Elasticsearch:优化

目录 一、合并请求 1. 批量操作(bulk) 2. 多条搜索和多条获取 二、优化Lucene分段的处理 1. refresh和flush 2. 合并以及合并策略 三、缓存 1. 过滤器和过滤器缓存 2. 分片查询缓存 3. JVM堆和操作系统缓存 四、其它的性能权衡 1....

2019-02-19 17:22:22

阅读数 430

评论数 0

原创 触类旁通Elasticsearch:扩展

目录 一、添加节点 二、节点发现 1. 广播 2. 单播 3. 选举主节点 4. 错误识别 三、删除节点 1. 丢失节点 2. 停用节点 四、升级节点 五、使用_cat API 六、扩展策略 1. 过度分片 2. 将数据切分为索引和分片 3. 最大化吞吐量 七、别名...

2019-02-14 17:01:52

阅读数 445

评论数 0

原创 触类旁通Elasticsearch:关联

目录 一、文档间关系概览 1. 对象类型 2. 嵌套类型 3. 父子关系 4. 反规范化 二、将对象最为字段值 1. 映射和索引对象 2. 搜索对象 三、嵌套类型 1. 映射并索引嵌套文档 2. 搜索和聚合嵌套文档 四、父子关系 1. 子文档的索引、更新和删除 2. 在...

2019-02-12 17:20:53

阅读数 498

评论数 1

原创 触类旁通Elasticsearch:聚合

目录 一、聚合的结构 二、度量集合 三、桶型聚合 四、嵌套聚合 1. 多桶聚合 2. 单桶聚合 《Elasticsearch In Action》学习笔记。         熟悉SQL的用户一定对聚合不会陌生,简单说任何应用于group by的查询都会执行一个聚合操作。ES的聚合(...

2019-02-01 15:13:15

阅读数 677

评论数 0

原创 触类旁通Elasticsearch:打分

目录 一、ES打分机制 1. TF-IDF 2. 其它打分方法 二、boosting 三、explain 四、再打分 五、function_score 六、使用脚本排序 《Elasticsearch In Action》学习笔记。         使得ES查询与select *...

2019-01-30 16:06:27

阅读数 469

评论数 0

原创 触类旁通Elasticsearch:分析

目录 一、什么是分析 二、分析文档 三、分析API 四、分析器、分词器、分词过滤器 1. 内置分析器 2. 分词器 3. 分词过滤器 五、N元语法、侧边N元语法、滑动窗口 七、IK中文分词插件 《Elasticsearch In Action》学习笔记。 一、什么是分析  ...

2019-01-29 18:09:59

阅读数 653

评论数 0

原创 触类旁通Elasticsearch:搜索

目录 一、搜索请求的结构 1. 确定搜索范围 2. 搜索请求的基本模块 3. 基于请求主体的搜索请求 4. 回复的结构 二、查询和过滤器 1. match 2. term 3. query_string 三、复合查询 1. bool查询 2. bool过滤器 四、其它查询...

2019-01-28 17:29:13

阅读数 440

评论数 0

原创 我的SQL-on-Hadoop学习总结三部曲

以分布式数据库为基础,涵盖主流Hadoop上数据仓库、ETL、数据分析、机器学习相关的相对完整的知识体系和技术实现方案。  

2019-01-18 08:25:59

阅读数 625

评论数 1

原创 触类旁通Elasticsearch:操作

一、索引数据 1. 使用映射定义文档         映射里包含了一个索引的文档中所有字段的定义,并告诉ES如何索引一篇文档的多个字段。例如,如果一个字段包含日期,可以定义哪种日期格式是可以接受的。映射的概念类似于DB中的表字段定义。         ES会自动识别字段,并根据数据相应地调整...

2019-01-11 16:35:56

阅读数 549

评论数 0

原创 触类旁通Elasticsearch:原理

目录 一、逻辑设计 1. 文档 2. 类型 3. 索引 二、物理设计 1. 节点 2. 主分片与副本分片 3. 分布式索引和搜索 三、索引数据 四、搜索数据 1. 在哪里搜索 2. 回复的内容 3. 如何搜索 4. 通过ID获取文档         ES被设计为处理海...

2019-01-08 15:48:45

阅读数 452

评论数 1

转载 数据库第一类第二类丢失更新

第一类丢失更新(回滚丢失,Lost update) A事务撤销时,把已经提交的B事务的更新数据覆盖了。这种错误可能造成很严重的问题,通过下面的账户取款转账就可以看出来: A事务在撤销时,“不小心”将B事务已经转入账户的金额给抹去了。 SQL92没有定义这种现象,标准定义的所有隔离级别...

2019-01-05 19:50:47

阅读数 357

评论数 0

提示
确定要删除当前文章?
取消 删除