图书介绍

PostgreSQL 9X之巅 原书第2版【2025|PDF下载-Epub版本|mobi电子书|kindle百度云盘下载】

PostgreSQL 9X之巅 原书第2版
  • (美)艾博拉·艾哈迈德,格利高里·史密斯著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111596196
  • 出版时间:2018
  • 标注页数:333页
  • 文件大小:137MB
  • 文件页数:359页
  • 主题词:关系数据库系统

PDF下载


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

下载说明

PostgreSQL 9X之巅 原书第2版PDF格式电子书版下载

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

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

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

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

图书目录

第1章 PostgreSQL版本1

1.1PostgreSQL历代版本的性能2

1.1.1选择要部署的版本3

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

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

1.3PostgreSQL工具5

1.3.1PostgreSQL contrib5

1.3.2pgFoundry8

1.3.3其他PostgreSQL相关软件8

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

1.5在实践中做性能优化9

1.6小结10

第2章 数据库硬件11

2.1平衡硬件支出11

2.1.1CPU11

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.1CPU和内存基准评测27

3.1.1Memtest86+28

3.1.2STREAM内存测试28

3.1.3CPU基准评测29

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

3.2物理磁盘的性能32

3.2.1随机存取和IOPS32

3.2.2顺序存取和ZCAV33

3.2.3提交率34

3.3硬盘基准评测工具34

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

3.3.2磁盘顺序读写吞吐量38

3.3.3Bonnie++38

3.3.4sysbench42

3.3.5寻道速率43

3.3.6复杂磁盘基准评测45

3.4样品磁盘测试结果45

3.5小结48

第4章 磁盘设置50

4.1文件系统最大值50

4.2文件系统的崩溃恢复51

4.3Linux文件系统52

4.3.1ext252

4.3.2ext353

4.3.3ext454

4.3.4XFS55

4.3.5其他Linux文件系统56

4.3.6写入屏障56

4.3.7常规Linux文件系统调优58

4.4Solaris与FreeBSD文件系统62

4.4.1Solaris UFS62

4.4.2FreeBSD UFS264

4.4.3ZFS64

4.4.4FAT3266

4.4.5NTFS66

4.5PostgreSQL的磁盘布局67

4.5.1符号链接67

4.5.2表空间67

4.5.3数据库目录树68

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

4.6小结71

第5章 数据库缓存内存72

5.1postgresql.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.7Vacuuming和统计100

6.1.8检查点101

6.1.9PITR和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.5MVCC的优点115

7.1.6MVCC的缺点115

7.1.7事务ID重叠116

7.2vacuum117

7.2.1vacuum实现117

7.2.2基于开销的vacuum119

7.2.3autovacuum120

7.2.4vacuum和autovacuum的常见问题123

7.3自动分析126

7.4索引膨胀127

7.4.1测定索引膨胀127

7.4.2修复索引膨胀128

7.5转储和恢复129

7.6清空数据库/表129

7.7CLUSTER命令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.1pgbench默认测试141

8.1.1表的定义141

8.1.2规模检测143

8.1.3查询脚本定义143

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

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

8.3pgbench测试结果样例148

8.3.1只读测试148

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

8.3.3延迟分析150

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

8.4.1PostgreSQL开发人员模式153

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

8.5自定义pgbench测试154

8.6TPC基准评测155

8.7小结156

第9章 数据库索引157

9.1索引例子详解158

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

9.1.2运行例子159

9.1.3例子数据设置159

9.1.4简单索引查找160

9.1.5全表扫描161

9.1.6索引创建162

9.1.7用低效的索引查找163

9.1.8联合索引164

9.1.9依靠索引聚簇166

9.1.10带有缓冲区计数的EXPLAIN167

9.2索引创建和维护168

9.2.1唯一索引168

9.2.2并发创建索引169

9.2.3对索引聚簇169

9.2.4重建索引170

9.3索引类型170

9.3.1B-tree170

9.3.2哈希171

9.3.3GIN171

9.3.4GiST172

9.3.5SP-GiST172

9.3.6BRIN172

9.3.7仅索引扫描173

9.4count(*)174

9.5可见性映射175

9.6高级索引使用175

9.6.1多列索引175

9.6.2索引用于排序175

9.6.3部分索引176

9.6.4基于表达式的索引176

9.6.5索引用于全文搜索176

9.7小结177

第10章 查询优化178

10.1样例数据集178

10.1.1Pagila179

10.1.2Dell Store2179

10.2EXPLAIN基础180

10.2.1计时开销181

10.2.2冷热缓存行为181

10.3执行计划节点结构183

10.3.1基本代价计算184

10.3.2可视化解释185

10.3.3详细输出186

10.3.4机器可读的解释输出186

10.3.5规划分析工具188

10.4组装行集合188

10.4.1元组ID188

10.4.2顺序扫描189

10.4.3索引扫描189

10.4.4仅索引扫描190

10.4.5位图堆扫描和索引扫描190

10.5处理节点191

10.5.1排序191

10.5.2Limit192

10.5.3聚集193

10.5.4HashAggregate194

10.5.5唯一194

10.5.6Result195

10.5.7Append195

10.5.8Group196

10.5.9子查询扫描和子计划197

10.5.10集合操作198

10.5.11物化199

10.6CTE扫描199

10.7copy命令199

10.7.1COPY TO200

10.7.2COPY FROM200

10.7.3COPY FREEZE200

10.8连接201

10.8.1嵌套循环201

10.8.2归并连接203

10.8.3哈希连接204

10.8.4连接顺序205

10.9收集统计信息207

10.9.1查看和使用统计信息207

10.9.2统计信息目标210

10.9.3难以估算的部分211

10.10其他查询规划参数211

10.10.1effective_cache_size212

10.10.2work_mem212

10.10.3constraint_exclusion213

10.10.4cursor_tuple_fraction213

10.11执行其他语句类型214

10.12改进查询214

10.12.1优化完全缓存的数据集214

10.12.2查询等价测试215

10.12.3禁用优化器特性215

10.12.4优化器缺陷的解决方案218

10.12.5用OFFSET避免计划重构219

10.12.6外部故障点220

10.13SQL的限制221

10.13.1在SQL中对数据行进行编号221

10.13.2使用窗口函数编号222

10.13.3使用窗口函数进行累计222

10.14小结223

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

11.1统计信息视图224

11.2累积视图和实时视图226

11.3表统计信息227

11.4索引统计信息230

11.5数据库级别的汇总231

11.6连接与行为232

11.7锁232

11.7.1虚拟事务233

11.7.2解码锁信息234

11.7.3表级锁的模式236

11.7.4事务锁等待236

11.7.5表的锁等待237

11.7.6记录锁信息238

11.7.7保存pg_stat bgwriter快照242

11.7.8通过后台写入进程的统计信息进行调优243

11.8小结245

第12章 监控和趋势预测247

12.1UNIX监控工具247

12.1.1例子设置247

12.1.2vmstat248

12.1.3iostat250

12.1.4top257

12.1.5SysStat和sar258

12.2Windows监控工具260

12.2.1任务管理器260

12.2.2Windows系统监控器261

12.3趋势分析软件262

12.3.1监控和趋势分析软件类型263

12.3.2Nagios264

12.3.3Cacti265

12.3.4Munin265

12.3.5其他趋势分析软件包266

12.4小结268

第13章 连接池和缓存269

13.1连接池技术269

13.1.1连接池中的连接数270

13.1.2pgpool-Ⅱ271

13.1.3连接池271

13.1.4复制271

13.1.5看门狗271

13.1.6故障切换272

13.1.7负载均衡272

13.1.8pgBouncer273

13.1.9memcached是什么274

13.1.10pgmemcache275

13.2小结275

第14章 扩展复制277

14.1热备份277

14.1.1专用术语278

14.1.2设置WAL文件传送279

14.1.3流复制279

14.1.4级联复制279

14.1.5同步复制279

14.1.6热备份调优280

14.2复制队列管理器281

14.2.1Slony281

14.2.2Londiste282

14.2.3使用复制队列软件进行读取扩展282

14.2.4特殊的应用程序需求282

14.2.5Bucardo283

14.2.6pglogical283

14.2.7xDB283

14.2.8pgpool-Ⅱ283

14.3其他有趣的复制相关的项目284

14.4复制方案对比285

14.5小结285

第15章 分区数据286

15.1表继承286

15.2dellstore2数据库287

15.3PostgreSQL中的分区技术288

15.4范围分区288

15.5确定要进行分区的关键字段289

15.6调整分区大小290

15.7重定向INSERT语句至分区290

15.7.1动态的触发器函数291

15.7.2分区规则292

15.8空分区的查询规则293

15.9修改日期的UPDATE触发器293

15.10实时迁移分区表294

15.11分区查询296

15.12创建新的分区297

15.12.1定期创建分区297

15.12.2动态创建分区297

15.13分区的优势298

15.14分区中的常见错误298

15.15使用PL/Proxy水平分区299

15.15.1哈希生成300

15.15.2使用PL/Proxy扩展301

15.15.3使用GridSQL扩展302

15.16小结302

第16章 数据库性能分析304

16.1使用gprof进行性能分析304

16.2使用OProfile进行性能分析305

16.3使用Valgrind进行调试306

16.4Visual Studio306

16.5使用DTrace进行性能分析307

16.5.1FreeBSD中的DTrace307

16.5.2Linux中SystemTap的DTrace仿真307

16.6小结308

第17章 避免常见问题309

17.1批量加载309

17.1.1加载方式309

17.1.2批量加载调优310

17.1.3省略预写式日志加速311

17.1.4重建索引和添加约束312

17.1.5并行恢复312

17.1.6加载后清理313

17.2常见性能问题313

17.2.1计算行数313

17.2.2不明写入314

17.2.3慢函数和预处理语句执行315

17.2.4PL/pgSQL基准评测315

17.2.5高外键开销316

17.2.6触发内存使用317

17.2.7过重的统计收集器开销317

17.2.8物化视图318

17.3小结318

第18章 发行版本性能特征319

18.1积极升级PostgreSQL版本319

18.2版本8.1中的性能特征320

18.3版本8.2中的性能特征320

18.4版本8.3中的性能特征321

18.5版本8.4中的性能特征322

18.6版本9.0中的性能特征324

18.6.1复制324

18.6.2查询和EXPLAIN324

18.6.3数据库开发325

18.6.4设置和监控326

18.7版本9.1中的性能特征328

18.8版本9.2中的性能特征328

18.9版本9.3中的性能特征329

18.10版本9.4中的性能特征329

18.11版本9.5中的性能特征330

18.12版本9.6中的性能特征330

18.13小结331

热门推荐