Recent Posts

ZFS used as block device - ZVOL

2 minute read

背景 前面两篇BLOG介绍了ZFS的性能提升原理和测试, ZFS的快照回滚和克隆方法. http://blog.163.com/digoal@126/blog/static/163877040201441694022110/ http://blog.163.com/digoal@126/blog/static...

zfs on CentOS 6.5 x64 compare performance with ext4 use postgresql pgbench

13 minute read

背景 zfs可以认为是raid和文件系统的结合体. 解决了动态条带和数据与校验位的一致性问题, 所以具有极高的可靠性和性能. https://pthree.org/2012/12/05/zfs-administration-part-ii-raidz/ 因为zfs需要接管硬盘, 所以在有RAID卡的环境中,...

索引顺序扫描引发的堆扫描IO放大背后的统计学原理与解决办法 - PostgreSQL index scan enlarge heap page scans when index and column correlation small.

7 minute read

背景 通过B-TREE索引扫描可能会带来了巨大的heap page scan数目,即IO的放大. 为什么呢? 请接下去看完本文揭晓答案。 IO放大的后果: 如果数据库的单个数据块(block_size)很大的话, 这种情况带来的负面影响也将被放大. 例如32k的block_size显然比8k的block_...

PostgreSQL 回收站功能 - 基于HOOK的recycle bin pgtrashcan

2 minute read

背景 PostgreSQL 本身不支持类似Oracle recycle bin这样的回收站机制. 但是我们可以通过事件触发器来实现同类功能,参考 《PostgreSQL 事件触发器 - 实现类似Oracle的回收站功能》 本文将介绍使用PostgreSQL 动态模块, 以及_PG_init函数来创建钩子程序...

PostgreSQL pg_bulkload speed test

7 minute read

背景 我以前写过一篇BLOG关于如何提高PostgreSQL的导入速度, 如 1. 提高写入并行度, 同时使用数据库分组提交, 设置postgresql.conf commit_delay = 10 # range 0-100000, in microseconds...

PostgreSQL chinese full text search 中文全文检索

2 minute read

背景 首先要感谢amutu以及其他为中文检索贡献的兄弟们, 我在之前写过一些关于PG中文全文检索的文章, 比较繁琐. 《PostgreSQL 使用 nlpbamboo chinesecfg 中文分词》 使用amutu的zhparser就比较方便了, 分词的部署比以前简单很多. 具体可参看amutu 的BLOG...