PostgreSQL WAL日志解析与应用PostgreSQL WAL日志解析与应用 王硕 山东瀚高基础软件股份有限公司 2016Postgres中国用户大会 Postgres Conference China 2016 中国用户大会 CONTENTS Part 01 Part 02 Part 03 WAL 日志简介 WAL 日志工作原理 利用 WAL 日志我们可以做什么? 2016Postgres中国用户大会 Postgres Conference China 2016 中国用户大会 Part 01 WAL 日志简介 2016Postgres中国用户大会 Postgres Conference China 2016 中国用户大会 Write Ahead Log Files • WAL 日志一般存储在$PGDATA/pg_xlog内,他们一般以类似于 0000000100000002000000D4的文件存储。 LogId LogSeg • WAL 日志文件XLOG 文件是一个逻辑概念,每一个XLOG文件, 大小为4G(16*256) ,由256个segment组成; • Segment由2048个Block组成,其大小为16M ; • Block为WAL日志的最小单位, 其大小8k,由PageHeaderData 、 XlogRecord、 XLogRecData组成。0 码力 | 16 页 | 705.31 KB | 1 年前3
Greenplum分布式事务和两阶段提交协议Widom《数据库系统实现》 查询编译器/ 优化器 事务管理器 DDL编译器 执行引擎 日志和恢复 并发控制 索引/文件/ 记录管理器 缓冲区管理器 缓冲区 锁表 存储管理器 存储 查询计划 对索引、文件和 记录的请求 页命令 事务命令 查询、更新 用户/ 应用 DDL命令 数据库管理员 数据、元数据、索引 日志页 读、写页 元数据、 统计数据 元数据 9 存储介质的类型 10 不同存储介质的访问时间 图片来源:Systems Performance: Enterprise and the Cloud,中译本《性能之巅》, 作者Brendan Gregg 11 缓冲区Buffer Pool page … Buffer Pool Manager (Main Memory) Access Methods and other components dirty No-Steal Steal: 允许Buffer Pool里未提交事务所修改的脏页刷回到持久存储 No-steal: 不允许Buffer Pool里未提交事务所修改的脏页刷到持久存储中 缓冲区管理策略Buffer Management Policy 13 ■ Force策略的问题 对持久存储器进行频繁的随机写操作,性能下降。 ■ No-Steal策略的问题 不允许未提交事务的脏页换出,系统的并发量不高。0 码力 | 42 页 | 2.12 MB | 1 年前3
陈宗志:大容量redis存储方案--Pika捷运维设计的前提下通过持久化存储的方式解决 Redis 在大容量场景下的问题 Pika 定位 SACC2017 Redis 问题 • 恢复时间长 • 一主多从, 主从切换代价大 • 缓冲区写满问题 • 成本问题 SACC2017 Redis 问题 • 恢复时间长 – 50G redis 回复时间70分钟 – 同时开启aof 和 rdb SACC2017 Redis 问题 • 一主多从, 主从切换代价大 – 主库挂掉后升级从库, 所有的从库全部重传数 据 SACC2017 Redis 问题 • 缓冲区写满问题 – 内存是昂贵资源, 缓冲区一般设置2G – 网络原因很容易将数据堵死, 那么就会发生大 量数据重传 SACC2017 Redis 问题 • 内存太贵 – 线上使用的redis 机器是 DB->Put(wop, Lmyhash11477671118, 6071) SACC2017 日志模块--Binlog • Binlog – 顺序写文件, 通过Index + offset 进行同步点 检查 – 解决了缓冲区小的问题 – 支持全同步 + 增量同步 SACC2017 日志模块--Binlog SACC2017 主从同步-- slaveof SACC20170 码力 | 47 页 | 2.18 MB | 1 年前3
谈谈MYSQL那点事以上,推荐是 16M ,该选项对 排序 order by , group by 起作用 record_buffer 128K 64M 每个进行一个顺序扫描的线程为其扫描的每 张表分配这个大小的一个缓冲区,可以设置 为 2M 以上 table_cache 64 1024 为所有线程打开表的数量。增加该值能增加 mysqld 要求的文件描述符的数量。 MySQL 对每个唯一打开的表需要 2 个文件描述符。 _commit 1 0 0 代表日志只大约每秒写入日志文件并且日志文件 刷新到磁盘 ; 1 为执行完没执行一条 SQL 马上 commit; 2 代表日志写入日志文件在每次提交 后 , 但是日志文件只有大约每秒才会刷新到磁盘上 . 对速度影响比较大,同时也关系数据完整性 innodb_log_file_size 8M 512M 在日志组中每个日志文件的大小 , 一般是 innodb_buffer_pool_size innodb_buffer_pool_size 的 25% ,官方推荐是 innodb_buffer_pool_size 的 40-50%, 设置大 一点来避免在日志文件覆写上不必要的缓冲池刷新 行为 innodb_log_buffer_size 128K 64M 用来缓冲日志数据的缓冲区的大小 . 推荐是 8M , 官方推荐该值小于 16M ,最好是 1M-8M 之间 设计合理的数据表结构:适当的数据冗余 设计合理的数据表结构:适当的数据冗余0 码力 | 38 页 | 2.04 MB | 1 年前3
TiDB v5.2 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 212 6.6.2 TiFlash 重要日志介绍 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 279 8 故障诊断 279 8.1 慢查询日志 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 279 8.1.1 日志示例 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 282 8.1.4 慢日志内存映射表 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·0 码力 | 2259 页 | 48.16 MB | 1 年前3
阿里云云数据库 Redis 版 产品简介(integer) 1048576 9) "clients.slaves" // 主从复制用到的内存 10) (integer) 16858 11) "clients.normal" //普通用户客户端的读写缓冲区 12) (integer) 49630 13) "aof.buffer" //aof持久化使用的缓存和aofrewrite时产生的缓存之和 14) (integer) 3253 15) "db.0" fragmentation: fragmentation > 1.4,此时碎片率比较高 Big slave buffers: 每个slave缓冲区的平均内存超过10MB,原因可能是master写入流量过高 Big client buffers: 普通客户端缓冲区的平均内存超过200KB,原因可能是pipeline使用不当或者Pub/Sub客户端处 理消息不及时导致 云数据库 Redis 版 产品简介 切换系统,时时探测主节点的异常情况,可以有效解决磁盘 IO 故障,CPU 故障等问题导致的服务异常,及时进行主备切换从而保证服务高可用。 主备复制机制 阿里云针对 Redis 主从复制机制进行了定制修改,采用增量日志格式进行复制传输。当主备 复制中断后,对系统性能及稳定性影响极低,有效避免 Redis 原生复制的弊端。 Redis 原生复制弊端简要如下: Redis 复制中断后,Slave0 码力 | 33 页 | 1.88 MB | 1 年前3
TiDB v5.3 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 223 6.6.2 TiFlash 重要日志介绍 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 294 8 故障诊断 295 8.1 慢查询日志 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 295 8.1.1 日志示例 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 298 8.1.4 慢日志内存映射表 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·0 码力 | 2374 页 | 49.52 MB | 1 年前3
TiDB v5.4 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 288 6.6.2 TiFlash 重要日志介绍 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 360 8 故障诊断 361 8.1 慢查询日志 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 361 8.1.1 日志示例 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 364 8.1.4 慢日志内存映射表 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·0 码力 | 2852 页 | 52.59 MB | 1 年前3
TiDB v5.1 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 204 6.6.2 TiFlash 重要日志介绍 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 269 8 故障诊断 270 8.1 慢查询日志 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 270 8.1.1 日志示例 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 273 8.1.4 慢日志内存映射表 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·0 码力 | 2189 页 | 47.96 MB | 1 年前3
TiDB v6.1 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 635 8.6.2 TiFlash 重要日志介绍 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 724 10 故障诊断 725 10.1 慢查询日志 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 725 10.1.1 日志示例 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 728 10.1.4 慢日志内存映射表 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·0 码力 | 3572 页 | 84.36 MB | 1 年前3
共 75 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8













