• PostgreSQL 9X之巅(原书第2版)
21年品牌 40万+商家 超1.5亿件商品

PostgreSQL 9X之巅(原书第2版)

24.7 2.8折 89 九品

仅1件

天津宝坻
认证卖家担保交易快速发货售后保障

作者[美]艾博拉·艾哈迈德 著;范翊 彭煜玮 唐成 译

出版社机械工业出版社

出版时间2018-05

版次1

装帧平装

货号1002902719360401410

上书时间2024-10-27

转转优选书店

四年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:九品
图书标准信息
  • 作者 [美]艾博拉·艾哈迈德 著;范翊 彭煜玮 唐成 译
  • 出版社 机械工业出版社
  • 出版时间 2018-05
  • 版次 1
  • ISBN 9787111596196
  • 定价 89.00元
  • 装帧 平装
  • 开本 16开
  • 纸张 胶版纸
  • 页数 331页
  • 丛书 数据库技术丛书
【内容简介】
本书从操作系统到数据库实现的多个层面,讲解了PostgreSQL数据库进行常规性能调优的各个场景。无论对于从其他数据库转战PostgreSQL的DBA还是使用过PostgreSQL一段时间的DBA,它都是一本不可多得的参考资料。
【作者简介】


艾博拉艾哈迈德(ibrarahmed),是一家企业级tgreql公司的不错数据库系统架构师。在从事开源开发之前,主要从事软件和嵌入式系统的开发工作,他也具有大量的开源软件的开发经验。他是tgreql社区的贡献者之一,同时也是其他开源社区的贡献者,比如谷歌的chromium项目。他开发维护了多个tgreql的扩展,用于与其他关系数据库交换数据,例如,myql、noql数据库、monb和并行文件系统存储(如hdf)。格利高里史密斯(gregorymith),是tgreql传播者,职于crunchydataolution公司,他为制造业、金融和网络开发等行业的客户提供数据库咨询服务已经有20年之久。他为tgreql编写了一系列附加工具集,这些工具包括pgtune、pgbenchtool、peg和2warm等。范翊,先后供职于海信、朗讯等公司,现任瀚高软件产品开发中心经理。2005年于英国伯明翰大学,获硕士,后于英国从事软件开发工作,具有丰富的项目经验。2015年回国后加入瀚高,带领研发团队从事瀚高数据库及其相关工具的研发工作。主要负责前言、靠前~5章的翻译。

精彩内容:

preface?前言无论是传统的企业型应用,还是当下的web应用,作为一种数据库台,tgreql在为这些应用程序提供数据存储服务方面的可行趋成熟。不过,要想获取tgreql的佳能,一直以来都并非易事。用户需遵循适宜的经验法则,需持续监控和维护以保障数据库系统健康运行,需以合理化建议定位和处理当前问题,需对数据库相关的附件工具有所涉猎,以便遇到核心数据库无法解决的问题时,可以为其进行功能扩展。本书内容概述章介绍了tgreql近几个版本的能改进情况。通常,人们认为所有软件的新版本会问题百出,而且会比以前的版本运行得更慢,但tgreql不存在这个问题。第2章讨论了如何仔细挑选服务器硬件中的主要部件,包括处理器、内存以及磁盘等,在预算允许的情况下如何组建一个稳定可靠的数据库存储服务器。特别是在磁盘控制器和驱动器方面,如果误用了易失回写缓存,很容易导致数据库损坏。第3章讨论了不同数据库硬件能方面的量化标准。比如在你的系统当中,内存读取到底有多快?磁盘的原始能有多强?在添加更多的磁盘后,数据库能是否能正常按比例提升?第4章研究现行文件系统的可选方案,并如何权衡硬盘中数据库的不同布局提出建议。同时也讨论了一些常见的有效文件系统的调优问题。第5章深入研究了数据库在磁盘、内存中的存储机制,并解释了checkpoint进程是如何协调这两种存储机制以保证数据安全的。此外,该章还讨论了如何深入查看数据库所缓存的数据,以及在此基础上,确认当下存储在系统内存里的数据与你的预期数据是否一致。第6章涵盖了tgreql.conf文件中的重要的一些设置选项,介绍了这些选项的含义以及如何设置这些选项。此外,也指出了可能会引起问题的设置。第7章首先阐释了tgreql如何判定哪些行数据对哪些用户可见。这些可见信息的存储方法需要一个名为vacuum的清理进程来正常地重新使用剩余空间。此外,该章也涉及了一些常见问题以及针对这些问题的调节方式,也涵盖了一直运行的autovacuum。后,该章介绍了数据库志的数据量调节方式,以及如何使用查询志分析器对结果进行分析,从而帮助用户找出查询瓶颈。第8章研究如何使用tgreql自带的pgbench测试程序来获取有用的基准评测结果。第9章介绍索引在响应查询时是如何减少数据块的读取量的。这种方法可以探索一些常见问题,比如为什么一个查询会使用顺序扫描而不是使用强大的索引扫描。0章是tgreqloptimizer(优化器)指南,根据一些查询例子的不同执行方式以及数据库参数的不同设置,来说明数据库的不同优化方式。1章介绍了数据库所收集的统计信息,以及哪些信息有助于查找问题。同时,也介绍了能够让你看到查询活动以及锁行为的一些视图。2章先介绍了如何使用作系统所提供的基本监视工具以确定数据库的当前动作。然后,该章针对可按照时间对信息趋势进行图形化表示的软件给出了建议。3章对在同一时间内对数据库进行大量连接时所遇到的困难进行了说明。同时,建议使用两种软件包——连接池(以更好地对请求进行排序)和缓存(在不连接数据库的情况下响应用户请求)——来帮助解决这些问题。4章讲述了如何通过跨节点复制数据来减轻数据库的负载压力,典型的解决方式是,多个同步只读的从节点搭配一个可读写的主节点。5章探讨如何有效地将数据划分为子集,这样可以在数据库的一小部分上执行查询。所讨论的方法包括单节点数据库表分区和使用pl/proxy及其相关工具集来构建跨多节点的共享数据库。6章探讨那些在tgreql中看起来阻碍初学者使用的部分。重点是如何找到代码不工作的原因,以及有哪些现有工具可以帮助诊断问题。7章以统计记录数和外键处理作为例子,涵盖了所有批量导入部分。同时,该章还包括人们使用tgreql时所遇到的常见问题。8章详细介绍了从tgreql8.1到9.6各个版本中与能相关的功能变化情况。有时,避常见问题并获得更好能的佳方式是升级到不再存在问题的新版本。你需要为阅读本书准备什么为了更好地利用本书,你至少需要一个能够连接服务器并执行查询的tgreql客户端。理想情况下,你好也是服务器管理员。从://.tgreql.org/download上可以下载支持各种主流作系统的完整客户端与服务端tgreql安装包。本书的所有例子都是通过命令行方式执行的,通常是运行ql程序。这样可以使它们适合大多数作系统台。这样可以直接进行许多作,而不必使用tgreql的图形界面(gui)工具,比如pgadminiii程序。本书提供的一些脚本是用bah脚本语言编写的,如果你使用的是window作系统,可以从://.cygwin./下载cygwin软件套件,cygwin可以在window系统中提供常见的unix工具,比如bah。本书读者本书适用于那些使用或计划使用tgreql的中数据库管理员和开发人员。系统管理员可以在安装、配置和监视数据库服务器方面受益。本书对
【目录】
Contents?目  录 

赞誉 

推荐序 

译者序 

译者简介 

中文版序 

关于作者 

关于审校者 

前言 

第1章 PostgreSQL版本 1 

1.1 PostgreSQL历代版本的性能 2 

1.1.1 选择要部署的版本 3 

1.1.2 升级到一个新的主版本 3 

1.2 选择PostgreSQL还是其他数据库 4 

1.3 PostgreSQL工具 5 

1.3.1 PostgreSQL contrib 5 

1.3.2 pgFoundry 8 

1.3.3 其他PostgreSQL相关软件 8 

1.4 PostgreSQL应用程序的扩展生命周期 8 

1.5 在实践中做性能优化 9 

1.6 小结 10 

第2章 数据库硬件 11 

2.1 平衡硬件支出 11 

2.1.1 CPU 11 

2.1.2 内存 13 

2.1.3 磁盘 13 

2.1.4 磁盘控制器 17 

2.2 可靠的控制器及磁盘安装 21 

2.2.1 驱动器可靠性研究 21 

2.2.2 回写缓存 22 

2.2.3 直写式缓存的性能影响 25 

2.3 小结 25 

第3章 数据库硬件的基准评测 27 

3.1 CPU和内存基准评测 27 

3.1.1 Memtest86+ 28 

3.1.2 STREAM内存测试 28 

3.1.3 CPU基准评测 29 

3.1.4 内存及处理器速度慢的根源 31 

3.2 物理磁盘的性能 32 

3.2.1 随机存取和IOPS 32 

3.2.2 顺序存取和ZCAV 33 

3.2.3 提交率 34 

3.3 硬盘基准评测工具 34 

3.3.1 使用HD Tune进行硬盘基准评测 35 

3.3.2 磁盘顺序读写吞吐量 38 

3.3.3 Bonnie++ 38 

3.3.4 sysbench 42 

3.3.5 寻道速率 43 

3.3.6 复杂磁盘基准评测 45 

3.4 样品磁盘测试结果 45 

3.5 小结 48 

第4章 磁盘设置 50 

4.1 文件系统最大值 50 

4.2 文件系统的崩溃恢复 51 

4.3 Linux文件系统 52 

4.3.1 ext2 52 

4.3.2 ext3 53 

4.3.3 ext4 54 

4.3.4 XFS 55 

4.3.5 其他Linux文件系统 56 

4.3.6 写入屏障 56 

4.3.7 常规Linux文件系统调优 58 

4.4 Solaris与FreeBSD文件系统 62 

4.4.1 Solaris UFS 62 

4.4.2 FreeBSD UFS2 64 

4.4.3 ZFS 64 

4.4.4 FAT32 66 

4.4.5 NTFS 66 

4.5 PostgreSQL的磁盘布局 67 

4.5.1 符号链接 67 

4.5.2 表空间 67 

4.5.3 数据库目录树 68 

4.5.4 磁盘阵列、RAID和磁盘布局 69 

4.6 小结 71 

第5章 数据库缓存内存 72 

5.1 postgresql.conf中的内存单位 72 

5.2 增加UNIX共享内存参数以增大共享内存块 73 

5.2.1 内核信号量 74 

5.2.2 估算共享内存块的分配 75 

5.2.3 检查数据库缓存 76 

5.2.4 在数据库中安装pg_buffercache模块 76 

5.2.5 数据库磁盘布局 77 

5.2.6 在数据库中创建新块 80 

5.2.7 写脏块到磁盘 80 

5.3 崩溃恢复和缓冲区缓存 81 

5.3.1 检查点处理基础 81 

5.3.2 预写日志和恢复处理 81 

5.3.3 检查点的时间选择 82 

5.3.4 数据库块的生命周期 84 

5.4 数据库缓存与操作系统缓存对比 85 

5.4.1 双重缓存数据 85 

5.4.2 检查点开销 86 

5.4.3 起始大小指导 86 

5.5 分析缓存内容 87 

5.5.1 检查缓冲区缓存查询 88 

5.5.2 使用缓冲区缓存检查来调整反馈 91 

5.6 小结 92 

第6章 服务器配置调优 93 

6.1 与实时配置交互 93 

6.1.1 默认值和重置值 94 

6.1.2 允许更改的上下文信息 94 

6.1.3 重新加载配置文件 95 

6.1.4 数据库连接 97 

6.1.5 共享内存 98 

6.1.6 日志记录 98 

6.1.7 Vacuuming和统计 100 

6.1.8 检查点 101 

6.1.9 PITR和WAL复制 103 

6.1.10 调整以防患于未然 106 

6.2 小结 109 

第7章 日常维护 110 

7.1 事务可见性与多版本并发控制 110 

7.1.1 可见性的内部计算 111 

7.1.2 更新 111 

7.1.3 行锁的冲突 113 

7.1.4 删除操作 114 

7.1.5 MVCC的优点 115 

7.1.6 MVCC的缺点 115 

7.1.7 事务ID重叠 116 

7.2 vacuum 117 

7.2.1 vacuum实现 117 

7.2.2 基于开销的vacuum 119 

7.2.3 autovacuum 120 

7.2.4 vacuum和autovacuum的常见问题 123 

7.3 自动分析 126 

7.4 索引膨胀 127 

7.4.1 测定索引膨胀 127 

7.4.2 修复索引膨胀 128 

7.5 转储和恢复 129 

7.6 清空数据库/表 129 

7.7 CLUSTER命令 129 

7.8 重建索引 130 

7.9 详细数据和索引页的监控 131 

7.10 监控查询日志 131 

7.10.1 基本的PostgreSQL日志设置 131 

7.10.2 对棘手的查询进行日志记录 134 

7.10.3 日志文件分析 136 

7.11 小结 140 

第8章 数据库基准评测 141 

8.1 pgbench默认测试 141 

8.1.1 表的定义 141 

8.1.2 规模检测 143 

8.1.3 查询脚本定义 143 

8.1.4 为pgbench配置数据库服务器 145 

8.2 使用pgbench-tools图形化输出结果 147 

8.3 pgbench测试结果样例 148 

8.3.1 只读测试 148 

8.3.2 类TPC-B测试(读、写) 149 

8.3.3 延迟分析 150 

8.4 导致不良结果以及变化的缘由 152 

8.4.1 PostgreSQL开发人员模式 153 

8.4.2 worker线程和pgbench程序的限制 154 

8.5 自定义pgbench测试 154 

8.6 TPC基准评测 155 

8.7 小结 156 

第9章 数据库索引 157 

9.1 索引例子详解 158 

9.1.1 测量查询的磁盘和索引块统计信息 158 

9.1.2 运行例子 159 

9
点击展开 点击收起

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP