VACUUM深度解析及最佳实践-数据库管理、开发实践专场(33页).pdf

编号:87356 PDF 33页 1.08MB 下载积分:VIP专享
下载报告请您先登录!

VACUUM深度解析及最佳实践-数据库管理、开发实践专场(33页).pdf

1、VACUUMVACUUM深度解析及最佳实践深度解析及最佳实践 唐成中启乘数唐成(网名osdba)中启乘数科技创始人,PostgreSQL修炼之道:从小工到专家的作者,PostgreSQL中国用户会副主席。历任过阿里巴巴高级数据库专家,从事过阿里巴巴Greenplum、PostgreSQL数据库的架构设计和运维。目前专注于高性能数据库解决方案及高性能存储技术。我们为什么要关心我们为什么要关心Vacuum?防止因事物ID回卷问题(Transaction ID Wraparound)而导致的宕机 表膨胀问题 性能问题.Transaction ID Wraparound 会发生什么?当还剩下1000万

2、可用的xid时,日志中出现如下告警:WARNING:database XXX must be vacuumed within 177009986 transactionsHINT:To avoid a database shutdown,execute a database-wide VACUUM in XXX.那么在xid被用到的剩余100万时,的log会报警并主动down库:If these warnings are ignored,the system will shut down and refuse to start any new transactions once there a

3、re fewer than 1 million transactions left until wraparound:ERROR:database is not accepting commands to avoid wraparound data loss in database XXXX表膨胀问题表膨胀问题 数据库的空间一直膨胀 表的空间一直膨胀 之前没有防治好,事后处理很麻烦 事后想缩减空间,如果通过vacuum full会锁表,无法在线处理 第三方工具来在线缩减空间,比较麻烦。风险问题 难受!Vacuum是什么?是什么?Vacuum:“真空吸尘器真空吸尘器”吸什么“尘”?垃圾数据?旧版

4、本数据?需要了解MVCC什么是什么是MVCC?Multiversion concurrency control(MCC or MVCC),is a concurrency control method commonly used by database management systems to provide concurrent access to the database and in programming languages to implement transactional memory.借助借助wiki上的解释:上的解释:两大功能读不阻塞写,写不阻塞读提供快照读(一致性读)的功

5、能MVCC如何实现如何实现 简单说,就是更新数据时,保留原先版本的数据,即一行数据存在多个版本。实现方法:回滚段的实现方法(Oracle、MySQL Innodb的实现方法)在原先的数据文件中的旧版本数据不删除,生成新版本的数据(PostgreSQL的实现方法)通常与事务的功能集成在一起:但MVCC时事物回滚或提交之后,旧版本的数据仍然需要保留一段时间,是延迟清除的。旧版本数据延迟清除的原因旧版本数据延迟清除的原因 就是为了提供快照读(一致性读)的功能 对于Read Commited隔离级别:需要保证当开始执行一个SQL之后,这个SQL是读一个不变的快照的数据,即使在这个SQL执行过程中有其它

6、的事物提交了,这些提交的数据对于这个SQL也是看不到了,这样保证了数据的一致性。对于Read Repeatable隔离级别:从这个事物开始之后,看到的数据就是一个不变的数据,执行相同的SQL总是可以看到相同的数据。所以叫“可重复读”快照读(一致性读)的用途快照读(一致性读)的用途 在一个繁忙的转帐的系统中,如果没有一致性读,此管理者中很难查询到一致的数据。用户A转账100元管理者数据库户名户名账户费用账户费用行号行号.用户A12202000.用户B7806000.我要查所有用户的账户费用的总和:select sum(money)from T;账户表T用户BVacuum就是为了清除旧版本数据就是

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(VACUUM深度解析及最佳实践-数据库管理、开发实践专场(33页).pdf)为本站 (云闲) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
客服
商务合作
小程序
服务号
折叠