数据架构师的PostgreSQL修炼:高效设计、开发与维护数据库应用

数据架构师的PostgreSQL修炼:高效设计、开发与维护数据库应用
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (Jayadevan Maymala) , ,
2016-05
版次: 1
ISBN: 9787111537762
定价: 49.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 183页
字数: 166千字
原版书名: PostgreSQL for Data Architects
37人买过
  • PostgreSQL是一个极其灵活且可靠的开源关系型数据库。借助它的这个神奇功能,你可以在不增加任何费用的情况下,使应用程序变得更加可靠和更具扩展性。一旦掌握了如何设置PostgreSQL并利用它的高级功能,你便可以节省工时,提高工作效率。
    本书将教你如何构建及运行一个已优化的可扩展PostgreSQL服务器。
    全书始于基本概念(例如,从源代码中安装PostgreSQL),并逐渐深入理论部分(例如,并发性和事务管理)。在此之后,你将学习如何设置副本、使用负载均衡进行水平扩展,以及排除故障。
    最后,你将接触到PostgreSQL生态系统中那些有用的工具,它们被用来分析PostgreSQL日志、设置负载均衡和进行数据恢复。 作者简介

    杰亚德万·梅马拉(Jayadevan Maymala)
    资深数据库开发工程师、设计师和架构师。他于1999年在甲骨文(Oracle)的数据库部门工作,多年以来,研究并使用过DB2、Sybase和SQL Server等数据库产品。 最近,他一直致力于开源技术的研究。

    译者简介

    戚长松 工学硕士,毕业于浙江大学机械工程系,专注于互联网行业数据库开发与基于数据库的应用研究,拥有近10年的数据库应用经验及5年的PostgreSQL数据库实战经验,近期专注于基于大数据平台的数据挖掘工作。近年来,作为负责人及研究人员参与完成浙江省科技创新课题5项;作为软件工程项目设计和项目管理人员,先后完成十多个大数据应用项目。曾翻译《PostgreSQL服务器编程》。  作者简介

    审校者简介

    前 言

    第1章 安装PostgreSQL 1

    1.1 安装选项 1

    1.1.1 下载并提取源码 2

    1.1.2 检查源码内容 3

    1.2 编译源码的各种依赖 3

    1.3 配置和创建makefile 4

    1.4 建立和创建可执行文件 6

    1.5 安装和移动文件到指定的位置 7

    1.6 初始化集群 9

    1.6.1 快速了解各个目录 11

    1.6.2 已创建的进程 13

    1.6.3 创建的重要文件 14

    1.7 与扩展程序相互协作 14

    1.8 小结 15

    第2章 服务器架构 16

    2.1 从守护进程开始 16

    2.2 理解共享缓冲区 18

    2.3 检查点 23

    2.4 WAL与WAL写进程 25

    2.4.1 恢复 26

    2.4.2 增量备份和基于时间点的恢复 26

    2.4.3 复制 27

    2.5 后台写入器 28

    2.6 自动清空加载器进程 29

    2.7 日志进程 32

    2.8 统计信息收集器进程 35

    2.9 WAL发送器和WAL接收器 38

    2.10 使用work_mem在内存中进行排序 38

    2.11 使用maintenance_work_mem进行维护 40

    2.12 小结 42

    第3章 PostgreSQL——对象层次和角色 43

    3.1 PostgreSQL集群 43

    3.2 了解表空间 44

    3.2.1 使用临时表空间管理临时对象 46

    3.2.2 视图 48

    3.3 数据库、模式与search_path 48

    3.4 角色和权限 53

    3.5 小结 56

    第4章 使用事务进行工作 57

    4.1 了解事务 57

    4.2 PostgreSQL和MVCC 67

    4.3 小结 70

    第5章 使用SQL Power Architect进行数据建模 71

    5.1 数据库工具及其用途 71

    5.2 数据库设计工具 72

    5.2.1 下载与安装SQL Power Architect 73

    5.2.2 创建表 74

    5.3 生成SQL 75

    5.3.1 逆向工程及变更操作 77

    5.3.2 导出数据模型 78

    5.3.3 分析 78

    5.4 小结 79

    第6章 客户端工具 80

    6.1 GUI工具与命令行工具 80

    6.2 下载与安装pgAdmin 80

    6.2.1 添加一台服务器 81

    6.2.2 pgAdmin主窗口 82

    6.2.3 查询工具 84

    6.3 psql——在命令行模式下工作 86

    6.3.1 psql——连接选项 86

    6.3.2 \d的功能 87

    6.3.3 更多元命令 89

    6.3.4 设置环境 91

    6.3.5 命令的历史记录 92

    6.4 小结 92

    第7章 SQL调优 93

    7.1 了解数据库的基本事实 93

    7.1.1 事实1,数据库中读比写更频繁 93

    7.1.2 事实2,数据始终在块或页面中读取,而不是作为单独的记录或列 94

    7.1.3 减少读/写块的数量的方法 94

    7.2 查询执行组件 95

    7.2.1 计划器 95

    7.2.2 访问方法 95

    7.2.3 连接策略 96

    7.3 发现执行计划 96

    7.4 优化指南和捕捉 98

    7.4.1 外键索引 99

    7.4.2 使用SELECT* 100

    7.4.3 使用ORDER BY 100

    7.4.4 使用DISTINCT 101

    7.4.5 使用UNION ALL代替UNION 102

    7.4.6 在FILTER子句中使用函数 102

    7.4.7 减少SQL语句数量 104

    7.4.8 减少函数执行 105

    7.4.9 不使用索引的情况 107

    7.4.10 部分索引 108

    7.4.11 优化函数 109

    7.5 小结 110

    第8章 服务器调优 111

    8.1 服务器端内存设置 111

    8.1.1 shared_buffers 111

    8.1.2 effective_cache_size 112

    8.2 管理写入、连接和维护操作 113

    8.3 查找/扫描开销及统计参数 114

    8.4 物化视图 119

    8.5 分区表 121

    8.6 小结 125

    第9章 PostgreSQL写入与读取数据工具 126

    9.1 考虑建立生产数据库 126

    9.2 COPY 命令 127

    9.3 使用pg_bulkload快速加载 130

    9.4 pg_dump 命令 131

    9.5 过滤选项 133

    9.5.1 pg_dumpall 工具 133

    9.5.2 pg_restore 工具 133

    9.6 小结 135

    第10章 扩展、复制、备份和恢复 136

    10.1 可扩展性 136

    10.1.1 垂直扩展 137

    10.1.2 水平扩展 138

    10.2 基于时间点的恢复 154

    10.3 小结 157

    第11章 PostgreSQL 故障排除 158

    11.1 连接问题 158

    11.2 验证和权限问题 159

    11.3 参数更改无效 161

    11.4 查询无响应 162

    11.5 小结 165

    第12章 PostgreSQL额外功能 166

    12.1 有趣的数据类型 166

    12.1.1 range 166

    12.1.2 XML 174

    12.1.3 几何与地理数据 175

    12.1.4 外部数据封装器 175

    12.1.5 pgbadger 178

    12.2 变化中的产品特性 180

    12.3 小结 183
  • 内容简介:
    PostgreSQL是一个极其灵活且可靠的开源关系型数据库。借助它的这个神奇功能,你可以在不增加任何费用的情况下,使应用程序变得更加可靠和更具扩展性。一旦掌握了如何设置PostgreSQL并利用它的高级功能,你便可以节省工时,提高工作效率。
    本书将教你如何构建及运行一个已优化的可扩展PostgreSQL服务器。
    全书始于基本概念(例如,从源代码中安装PostgreSQL),并逐渐深入理论部分(例如,并发性和事务管理)。在此之后,你将学习如何设置副本、使用负载均衡进行水平扩展,以及排除故障。
    最后,你将接触到PostgreSQL生态系统中那些有用的工具,它们被用来分析PostgreSQL日志、设置负载均衡和进行数据恢复。
  • 作者简介:
    作者简介

    杰亚德万·梅马拉(Jayadevan Maymala)
    资深数据库开发工程师、设计师和架构师。他于1999年在甲骨文(Oracle)的数据库部门工作,多年以来,研究并使用过DB2、Sybase和SQL Server等数据库产品。 最近,他一直致力于开源技术的研究。

    译者简介

    戚长松 工学硕士,毕业于浙江大学机械工程系,专注于互联网行业数据库开发与基于数据库的应用研究,拥有近10年的数据库应用经验及5年的PostgreSQL数据库实战经验,近期专注于基于大数据平台的数据挖掘工作。近年来,作为负责人及研究人员参与完成浙江省科技创新课题5项;作为软件工程项目设计和项目管理人员,先后完成十多个大数据应用项目。曾翻译《PostgreSQL服务器编程》。 
  • 目录:
    作者简介

    审校者简介

    前 言

    第1章 安装PostgreSQL 1

    1.1 安装选项 1

    1.1.1 下载并提取源码 2

    1.1.2 检查源码内容 3

    1.2 编译源码的各种依赖 3

    1.3 配置和创建makefile 4

    1.4 建立和创建可执行文件 6

    1.5 安装和移动文件到指定的位置 7

    1.6 初始化集群 9

    1.6.1 快速了解各个目录 11

    1.6.2 已创建的进程 13

    1.6.3 创建的重要文件 14

    1.7 与扩展程序相互协作 14

    1.8 小结 15

    第2章 服务器架构 16

    2.1 从守护进程开始 16

    2.2 理解共享缓冲区 18

    2.3 检查点 23

    2.4 WAL与WAL写进程 25

    2.4.1 恢复 26

    2.4.2 增量备份和基于时间点的恢复 26

    2.4.3 复制 27

    2.5 后台写入器 28

    2.6 自动清空加载器进程 29

    2.7 日志进程 32

    2.8 统计信息收集器进程 35

    2.9 WAL发送器和WAL接收器 38

    2.10 使用work_mem在内存中进行排序 38

    2.11 使用maintenance_work_mem进行维护 40

    2.12 小结 42

    第3章 PostgreSQL——对象层次和角色 43

    3.1 PostgreSQL集群 43

    3.2 了解表空间 44

    3.2.1 使用临时表空间管理临时对象 46

    3.2.2 视图 48

    3.3 数据库、模式与search_path 48

    3.4 角色和权限 53

    3.5 小结 56

    第4章 使用事务进行工作 57

    4.1 了解事务 57

    4.2 PostgreSQL和MVCC 67

    4.3 小结 70

    第5章 使用SQL Power Architect进行数据建模 71

    5.1 数据库工具及其用途 71

    5.2 数据库设计工具 72

    5.2.1 下载与安装SQL Power Architect 73

    5.2.2 创建表 74

    5.3 生成SQL 75

    5.3.1 逆向工程及变更操作 77

    5.3.2 导出数据模型 78

    5.3.3 分析 78

    5.4 小结 79

    第6章 客户端工具 80

    6.1 GUI工具与命令行工具 80

    6.2 下载与安装pgAdmin 80

    6.2.1 添加一台服务器 81

    6.2.2 pgAdmin主窗口 82

    6.2.3 查询工具 84

    6.3 psql——在命令行模式下工作 86

    6.3.1 psql——连接选项 86

    6.3.2 \d的功能 87

    6.3.3 更多元命令 89

    6.3.4 设置环境 91

    6.3.5 命令的历史记录 92

    6.4 小结 92

    第7章 SQL调优 93

    7.1 了解数据库的基本事实 93

    7.1.1 事实1,数据库中读比写更频繁 93

    7.1.2 事实2,数据始终在块或页面中读取,而不是作为单独的记录或列 94

    7.1.3 减少读/写块的数量的方法 94

    7.2 查询执行组件 95

    7.2.1 计划器 95

    7.2.2 访问方法 95

    7.2.3 连接策略 96

    7.3 发现执行计划 96

    7.4 优化指南和捕捉 98

    7.4.1 外键索引 99

    7.4.2 使用SELECT* 100

    7.4.3 使用ORDER BY 100

    7.4.4 使用DISTINCT 101

    7.4.5 使用UNION ALL代替UNION 102

    7.4.6 在FILTER子句中使用函数 102

    7.4.7 减少SQL语句数量 104

    7.4.8 减少函数执行 105

    7.4.9 不使用索引的情况 107

    7.4.10 部分索引 108

    7.4.11 优化函数 109

    7.5 小结 110

    第8章 服务器调优 111

    8.1 服务器端内存设置 111

    8.1.1 shared_buffers 111

    8.1.2 effective_cache_size 112

    8.2 管理写入、连接和维护操作 113

    8.3 查找/扫描开销及统计参数 114

    8.4 物化视图 119

    8.5 分区表 121

    8.6 小结 125

    第9章 PostgreSQL写入与读取数据工具 126

    9.1 考虑建立生产数据库 126

    9.2 COPY 命令 127

    9.3 使用pg_bulkload快速加载 130

    9.4 pg_dump 命令 131

    9.5 过滤选项 133

    9.5.1 pg_dumpall 工具 133

    9.5.2 pg_restore 工具 133

    9.6 小结 135

    第10章 扩展、复制、备份和恢复 136

    10.1 可扩展性 136

    10.1.1 垂直扩展 137

    10.1.2 水平扩展 138

    10.2 基于时间点的恢复 154

    10.3 小结 157

    第11章 PostgreSQL 故障排除 158

    11.1 连接问题 158

    11.2 验证和权限问题 159

    11.3 参数更改无效 161

    11.4 查询无响应 162

    11.5 小结 165

    第12章 PostgreSQL额外功能 166

    12.1 有趣的数据类型 166

    12.1.1 range 166

    12.1.2 XML 174

    12.1.3 几何与地理数据 175

    12.1.4 外部数据封装器 175

    12.1.5 pgbadger 178

    12.2 变化中的产品特性 180

    12.3 小结 183
查看详情
系列丛书 / 更多
您可能感兴趣 / 更多
数据架构师的PostgreSQL修炼:高效设计、开发与维护数据库应用
向世界好的医院力
[美]理查德·温特斯(RichardWinters)
数据架构师的PostgreSQL修炼:高效设计、开发与维护数据库应用
英雄学
[美]马克·布瑞克
数据架构师的PostgreSQL修炼:高效设计、开发与维护数据库应用
中国早期的星象学和天文学
[美]班大为
数据架构师的PostgreSQL修炼:高效设计、开发与维护数据库应用
彼此的对等:论人类平等的基础
[美]杰里米·沃尔德伦
数据架构师的PostgreSQL修炼:高效设计、开发与维护数据库应用
心理学与生活(第版,第3册):动机、人格与毕展
[美]理查德·格里格
数据架构师的PostgreSQL修炼:高效设计、开发与维护数据库应用
算法分阶:坏况分析
[美]蒂姆·拉夫加登(TimRoughgarden) 著
数据架构师的PostgreSQL修炼:高效设计、开发与维护数据库应用
影像引导介入学
[美]赫里斯托斯·亚季斯
数据架构师的PostgreSQL修炼:高效设计、开发与维护数据库应用
别再这样投资了
[美]斯蒂芬·斯派塞
数据架构师的PostgreSQL修炼:高效设计、开发与维护数据库应用
人工智能往事:精英、文化与思维
[美]帕梅拉·麦考黛克
数据架构师的PostgreSQL修炼:高效设计、开发与维护数据库应用
成为你自己
[美]亚伯拉罕·马斯洛 著
数据架构师的PostgreSQL修炼:高效设计、开发与维护数据库应用
希腊化时代的科学与文化(修订版)
[美]乔治·萨顿 著
数据架构师的PostgreSQL修炼:高效设计、开发与维护数据库应用
操盘华尔街
[美]埃德温·勒菲弗