图书介绍

PostgreSQL 9.0性能调校【2025|PDF下载-Epub版本|mobi电子书|kindle百度云盘下载】

PostgreSQL 9.0性能调校
  • (美)史密斯著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115307705
  • 出版时间:2013
  • 标注页数:386页
  • 文件大小:101MB
  • 文件页数:404页
  • 主题词:关系数据库系统

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

PostgreSQL 9.0性能调校PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 PostgreSQL版本1

1.1 PostgreSQL历史版本的性能2

1.1.1选择部署的版本3

1.1.2升级到更新的主要版本3

1.2使用PostgreSQL还是其他数据库5

1.3 PostgreSQL工具6

1.3.1 PostgreSQL contrib6

1.3.2 pgFoundry9

1.3.3其他一些与PostgreSQL相关的软件9

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

1.5作为实践的性能优化10

1.6小结12

第2章 数据库硬件13

2.1平衡硬件支出13

2.1.1 CPU13

2.1.2内存14

2.1.3磁盘15

2.1.4磁盘控制器20

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

2.2.1回写缓存25

2.2.2直写式缓存的性能影响28

2.3小结29

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

3.1 CPU和内存基准评测30

3.1.1 memtest86+31

3.1.2 STREAM内存测试31

3.1.3 CPU基准评测33

3.1.4内存以及处理器速度慢的缘由34

3.2物理磁盘的性能35

3.2.1每秒随机存取以及I/O数量35

3.2.2顺序存取和区域恒定角速度(ZCAV)36

3.2.3提交速率37

3.3磁盘基准评测工具38

3.3.1 hdtune38

3.3.2 dd42

3.3.3 bonnie+++43

3.3.4 sysbench46

3.3.5复杂的磁盘基准评测48

3.4样品磁盘的测试结果49

3.5小结53

第4章 磁盘设置55

4.1文件系统规模的最大值55

4.2文件系统的崩溃恢复56

4.3 Linux文件系统58

4.3.1 ext258

4.3.2 ext358

4.3.3 ext460

4.3.4 XFS60

4.3.5其他的Linux文件系统61

4.3.6写屏障62

4.3.7常规Linux文件系统调整64

4.4 Solaris和FreeBSD文件系统68

4.4.1 Solaris UFS69

4.4.2 FreeBSDUFS270

4.4.3 ZFS71

4.5 Windows文件系统72

4.5.1 FAT3273

4.5.2 NTFS73

4.6 PostgreSQL的磁盘布局74

4.6.1符号链接74

4.6.2表空间74

4.6.3数据库目录树75

4.6.4磁盘阵列、RAID以及磁盘布局76

4.7小结79

第5章 数据库高速缓存内存81

5.1 postgresql.conf文件中的内存单元81

5.2检查数据库高速缓存86

5.2.1在数据库中安装pg buffercache86

5.2.2数据库磁盘布局87

5.2.3在数据库中创建新的块90

5.2.4将“脏”块写到磁盘90

5.3故障恢复和缓冲区高速缓存91

5.3.1检查点处理基础91

5.3.2预写式日志和恢复处理91

5.3.3检查点的时机掌握92

5.3.4数据库块的生命周期94

5.4数据库缓冲区高速缓存与操作系统高速缓存95

5.4.1双重缓存数据95

5.4.2检查点开销96

5.4.3起始大小指南96

5.5分析缓冲区高速缓存当中的内容98

5.5.1缓冲区缓存查询的检查98

5.5.2使用缓冲区高速缓存检查进行规模的反馈102

5.6小结103

第6章 服务器配置调整104

6.1与当前配置进行交互104

6.1.1默认值和重置值105

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

6.1.3重新加载配置文件106

6.2服务器范围内的设置108

6.2.1数据库连接108

6.2.2共享内存109

6.2.3日志110

6.2.4清理与统计信息112

6.2.5检查点114

6.2.6 WAL设置115

6.2.7 PITR和WAL复制117

6.3每个客户端的设置117

6.3.1 effective_cache_size117

6.3.2调整以避免某些情况的出现120

6.4调整新服务器121

6.5专用服务器指南121

6.6共享服务器指南122

6.7 pgtune123

6.8小结123

第7章 日常维护125

7.1事务可见性以及多版本并发控制125

7.1.1可见性的内部计算125

7.1.2 Updates126

7.1.3行锁的冲突128

7.1.4删除130

7.1.5 MVCC的优点130

7.1.6 MVCC的缺点131

7.1.7事务ID重叠131

7.2 Vacuum132

7.2.1 Vacuum实现133

7.2.2基于开销的vacuum135

7.2.3 autovacuum136

7.2.4常见的一些有关vacuum以及autovacuum的问题140

7.3 Autoanalyze144

7.4索引膨胀144

7.5详细数据和索引页面监控147

7.6监控查询日志148

7.6.1基本的PostgreSQL日志设置148

7.6.2对棘手的查询进行日志记录152

7.6.3日志文件分析153

7.7小结159

第8章 数据库基准评测161

8.1 pgbench默认测试161

8.1.1表的定义161

8.1.2规模检测162

8.1.3查询脚本定义163

8.1.4为pgbench测试配置数据库服务器165

8.2手动运行pgbench测试166

8.3使用pgbench-tools图形化输出结果167

8.4 pgbench测试结果样例168

8.4.1 SELECT测试168

8.4.2类TPC-B测试169

8.4.3延迟分析170

8.5糟糕的结果以及变化的缘由173

8.6自定义pgbench测试175

8.7事务处理性能委员会(TPC)基准评测176

8.8小结177

第9章 数据库索引179

9.1索引样例的演练180

9.1.1查询磁盘以及索引块的统计信息的测量180

9.1.2样例的运行181

9.1.3装载样例数据181

9.1.4简单的索引查找183

9.1.5全表扫描184

9.1.6索引的创建185

9.1.7使用低效的索引进行数据查找186

9.1.8组合索引187

9.1.9从索引转换为顺序扫描188

9.1.10对索引进行聚集190

9.1.11使用缓冲区计数来解释查询计划191

9.2索引的创建与维护192

9.2.1惟一索引193

9.2.2并发索引的创建194

9.2.3聚集索引194

9.2.4重建索引195

9.3索引的类型195

9.3.1 B-树196

9.3.2 Hash197

9.3.3 GIN197

9.3.4 GiST197

9.4高级索引应用198

9.4.1多列索引198

9.4.2排序索引198

9.4.3部分索引199

9.4.4基于表达式的索引199

9.4.5全文检索索引200

9.5小结200

第10章 查询优化202

10.1数据集样例202

10.1.1 Pagila203

10.1.2 Dell Store2203

10.2 EXPLAIN基础205

10.2.1时间开销205

10.2.2热门以及冷门高速缓存行为206

10.3查询计划的节点结构208

10.4 Explain分析工具211

10.4.1 Visual explain211

10.4.2 Verbose输出212

10.4.3机器可读的解释输出212

10.4.4计划分析工具213

10.5组合行集214

10.5.1元组ID214

10.5.2顺序扫描215

10.5.3索引扫描215

10.5.4位图堆与索引扫描216

10.6处理节点217

10.6.1 Sort218

10.6.2 Limit219

10.6.3 Aggregate220

10.6.4 HashAggregate221

10.6.5 Unique222

10.6.6 Result223

10.6.7 Append224

10.6.8 Group225

10.6.9子查询扫描(Subquery Scan)与子计划(Subplan)226

10.6.10集操作227

10.6.11物化229

10.6.12公共表表达式扫描229

10.7连接230

10.7.1循环嵌套230

10.7.2合并连接(Merge Join)233

10.7.3 Hash连接234

10.8统计信息239

10.8.1查看与估计统计信息239

10.8.2统计信息指标243

10.8.3估计一些比较难处理的领域244

10.9其他一些查询规划参数245

10.9.1 effective_cache_size245

10.9.2 work_mem246

10.9.3 constraint_exclusion247

10.9.4 cursor_tuple_fraction247

10.10执行其他的语句类型247

10.11改进查询248

10.11.1对完全缓存的数据集进行优化249

10.11.2查询等价测试249

10.11.3禁止优化器功能250

10.11.4绕开优化器问题254

10.11.5避免计划使用OFFSET进行重组255

10.11.6外部故障点258

10.12 SQL限制258

10.12.1在SQL当中对数据行进行编号258

10.12.2使用窗口函数进行编号260

10.12.3使用窗口函数进行累计260

10.13小结262

第11章 数据库活动和统计信息264

11.1统计信息视图264

11.2渐增视图以及实时视图266

11.3表统计信息267

11.4索引统计信息270

11.5数据库范围内的总计272

11.6连接及活动273

11.7锁274

11.7.1虚拟事务275

11.7.2解码锁信息276

11.7.3事务锁等待279

11.7.4表锁等待280

11.7.5记录锁定信息281

11.8磁盘使用282

11.9缓冲区、后台写入器以及检查点活动284

11.9.1保存pg_stat_bgwriter快照信息286

11.9.2使用后台写入器统计信息进行调整289

11.10小结290

第12章 监控与趋势预测292

12.1 UNIX监控工具292

12.1.1样例安装292

12.1.2 vmstat293

12.1.3 iosta296

12.1.4 top304

12.1.5 sysstat及sar306

12.2 Windows监控工具309

12.2.1任务管理器309

12.2.2 Windows系统监视器310

12.3趋势预测软件312

12.3.1监控以及趋势预测软件的类型312

12.3.2 Nagios314

12.3.3 Cacti315

12.3.4 Munin316

12.3.5其他的一些趋势预测程序包316

12.4小结319

第13章 池化与高速缓存321

13.1连接池321

13.1.1连接池计数322

13.1.2 pgpool-Ⅱ323

13.1.3 pgBouncer324

13.2数据库高速缓存325

13.2.1 memcached325

13.2.2 pgmemcache326

13.3小结327

第14章 扩展复制329

14.1完全热备(Hot Standby)329

14.1.1术语330

14.1.2设置WAL文件传送331

14.1.3流复制331

14.1.4完全热备的调整332

14.2复制队列管理器333

14.2.1 Slony334

14.2.2 Londiste334

14.2.3从扩展复制队列软件当中读取信息335

14.3特殊的应用程序需求335

14.3.1 Bucardo335

14.3.2 pgpool-Ⅱ336

14.4其他一些有趣的与复制有关的开源项目336

14.5小结338

第15章 数据分区340

15.1表范围分区340

15.1.1确定要进行分区的关键字段341

15.1.2调整分区大小342

15.1.3创建分区343

15.1.4重定向INSERT语句至分区344

15.1.5空分区的查询规划346

15.1.6修改日期的update触发器347

15.1.7实时迁移分区表348

15.1.8分区查询350

15.1.9创建新的分区353

15.1.10分区的优势354

15.1.11分区当中的一些常见错误354

15.2使用PL/Proxy水平分区355

15.2.1 Hash生成356

15.2.2使用PL/Proxy扩展357

15.2.3使用GridSQL扩展359

15.3小结360

第16章 应该避免的一些常见问题362

16.1批量装载362

16.1.1装载方法362

16.1.2批量装载的调整364

16.1.3略过WAL进行加速365

16.1.4重新创建索引及添加约束信息365

16.1.5并行恢复366

16.1.6装载之后的数据整理366

16.2常见的一些性能问题367

16.2.1行的计数367

16.2.2不明写入368

16.2.3执行缓慢的函数与预处理语句的执行369

16.2.4 PL/pgSQL基准评测370

16.2.5高外键开销370

16.2.6触发器内存使用371

16.2.7沉重的统计信息收集器开销372

16.2.8物化视图373

16.3分析数据库373

16.3.1 gprof373

16.3.2 OProfile373

16.3.3 Visual Studio374

16.3.4 DTrace374

16.4不同版本当中的与性能相关的功能375

16.4.1积极地进行PostgreSQL版本升级375

16.4.2 8.1377

16.4.3 8.2377

16.4.4 8.3377

16.4.5 8.4379

16.4.6 9.0381

16.5小结385

热门推荐