kindle电子书

资源下载,尽在我的书库!
首页 > kindle电子书库 > 工业|计算机|互联网 > 电子、计算机、网络

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

简介:本书将教你如何构建及运行一个可扩展且已经优化的PostgreSQL服务器。全书始于基本概念(例如从源代码中安装PostgreSQL),并逐渐深入理论部分(例如并发性和事务管理)。在此之后,你将学习如何设置副本、使用负载均衡进行水平扩展以及排除故障。

电子书详细介绍

TAG():数据库 PostQreSQL 数据

 本书将教你如何构建及运行一个可扩展且已经优化的PostgreSQL服务器。全书始于基本概念(例如从源代码中安装PostgreSQL),并逐渐深入理论部分(例如并发性和事务管理)。在此之后,你将学习如何设置副本、使用负载均衡进行水平扩展以及排除故障。继续阅读本书,你将看到配置参数对性能、可扩展性以及事务管理所起到的显著影响。最后,你将接触到PostgreSQL生态系统中那些有用的工具,它们被用来分析PostgreSQL日志、设置负载均衡和进行数据恢复。

编辑推荐

阅读《数据架构师的PostgreSQL修炼:高效设计、开发与维护数据库应用》,你将看到配置参数对性能、可扩展性以及事务管理所起到的显著影响。最后,你将接触到PostgreSQL生态系统中那些有用的工具,它们被用来分析PostgreSQL日志、设置负载均衡和进行数据恢复。

作者简介

About the Author?作 者 简 介Jayadevan Maymala是一位数据库开发工程师、设计师和架构师。他最开始于1999年在甲骨文(Oracle)公司的数据库部门工作。多年以来,他研究并使用过DB2、Sybase和SQL Server等数据库产品。 最近,他一直致力于开源技术的研究。他选择的数据库是PostgreSQL。职业生涯中,他在不同的领域工作过,跨越供应链管理、金融和旅游等多个领域。他一方面致力于支持关键事务处理系统的数据库技术,另一方面致力于支持分析系统的数据仓库技术,在两方面工作上,他差不多花了等量的时间。 
不研究这些开源技术时,他会利用业余时间进行大量阅读,并不断更新自己在经济和政治领域的知识。 
我要感谢我的妻子——Uma,因为她可以忍受我在周末进行马拉松式的写作。我还要深深感激PostgreSQL社区,社区里面的人总是及时回复我的问题,不管是基础的还是特殊的问题。这是一个神奇的团队,他们一直不知疲倦地构建这样一个宏大的数据库,然后用这样的自由许可条款开源。谢谢他们! 
审校者简介?About the reviewersPascal Charest是前沿技术专家,他致力于一系列非常广泛的开源技术。在网络基础设施的战略规划领域,他是优秀的系统管理专家,并且经常从事系统架构设计的咨询工作。可以通过他LinkedIn的个人资料联系他。 
我想谢谢安东尼(Anthony)和扎卡里(Zachary),不管是白天或黑夜,他们都让我保持清醒。 
Bahman Movaqar在过去的14年里一直在从事软件开发、部署和交付工作,从嵌入式操作系统到ERP系统实施。他是一个开源技术的信徒和热情的业余棋手。 
我想感谢我可爱的妻子——Nahid,她教会我如何坚强。 
Angelo Marcos Rigo自1998年以来一直致力于Web开发工作,并专注于内容管理系统。在过去的7年里,他一直管理、定制、开发Moodle LMS的扩展程序。可以在他的网站上向他咨询CMS或Moodle LMS相关问题。他曾经评审过Packt出版的《Moodle Security》一书。 
我要感谢我的妻子Janaina de Souza和我的女儿Lorena Rigo,当我花时间评审这本书时,感谢他们的支持。 
Hans-Jürgen Sch?nig在超过15年的时间里一直致力于PostgreSQL的专业培训、咨询和支持工作。他和他的公司Cybertec Sch?nig & Sch?nig GmbH服务于全球的客户,曾完成世界上最大的PostgreSQL部署工作。 
Stéphane Wirtel是一个狂热的软件工匠,他的兴趣是软件的高可用性、复制和分布式系统。2000年以来,他一直在使用Python编程语言完成PostgreSQL下的工作。Stéphane在欧洲的一些会议上开展过几次Python和PostgreSQL演讲。最后一个演讲被称为“Python & PostgreSQL,一场美好的婚礼”。他也是Odoo项目的核心开发者,并在这个项目上工作了6年之久。 
Stéphane也是Python软件基金会和EuroPython学会会员。他通过布鲁塞尔的PythonFOSDEM活动推广Python编程语言。你可以通过推特@matrixise找到他。 
目前,他在Mgx.IO任职,这是一家专门从事Python和Erlang开发的公司。你可以通过推特@mgxio找到这家公司。他还评审了《Getting Started with PhantomJS》和《PhantomJS Cookbook》,这两本书均由Packt出版社出版。 
我要感谢我的妻子Anne和我的女儿Margaux,以及我的家人和朋友的支持,同时也感谢PostgreSQL和Python社区的优秀工具。 

 

目录

作者简介 
审校者简介 
前言 
第1章安装PostgreSQL1 
1.1安装选项1 
1.1.1下载并提取源码2 
1.1.2检查源码内容3 
1.2编译源码的各种依赖3 
1.3配置和创建makefile4 
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.4WAL与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.9WAL发送器和WAL接收器38 
2.10使用work_mem在内存中进行排序38 
2.11使用maintenance_work_mem进行维护40 
2.12小结42 
第3章PostgreSQL——对象层次和角色43 
3.1PostgreSQL集群43 
3.2了解表空间44 
3.2.1使用临时表空间管理临时对象46 
3.2.2视图48 
3.3数据库、模式与search_path48 
3.4角色和权限53 
3.5小结56 
第4章使用事务进行工作57 
4.1了解事务57 
4.2PostgreSQL和MVCC67 
4.3小结70 
第5章使用SQLPowerArchitect进行数据建模71 
5.1数据库工具及其用途71 
5.2数据库设计工具72 
5.2.1下载与安装SQLPowerArchitect73 
5.2.2创建表74 
5.3生成SQL75 
5.3.1逆向工程及变更操作77 
5.3.2导出数据模型78 
5.3.3分析78 
5.4小结79 
第6章客户端工具80 
6.1GUI工具与命令行工具80 
6.2下载与安装pgAdmin80 
6.2.1添加一台服务器81 
6.2.2pgAdmin主窗口82 
6.2.3查询工具84 
6.3psql——在命令行模式下工作86 
6.3.1psql——连接选项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使用ORDERBY100 
7.4.4使用DISTINCT101 
7.4.5使用UNIONALL代替UNION102 
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.1shared_buffers111 
8.1.2effective_cache_size112 
8.2管理写入、连接和维护操作113 
8.3查找/扫描开销及统计参数114 
8.4物化视图119 
8.5分区表121 
8.6小结125 
第9章PostgreSQL写入与读取数据工具126 
9.1考虑建立生产数据库126 
9.2COPY命令127 
9.3使用pg_bulkload快速加载130 
9.4pg_dump命令131 
9.5过滤选项133 
9.5.1pg_dumpall工具133 
9.5.2pg_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.1range166 
12.1.2XML174 
12.1.3几何与地理数据175 
12.1.4外部数据封装器175 
12.1.5pgbadger178 
12.2变化中的产品特性180 
12.3小结183

 

我来说两句

本书评论

共有 0 条评论
图书分类
我的书库手机端
帮助中心
会员登录 ×
新用户注册 ×