PostgreSQL简介:
MS Sqlserver、Sybase、Informix等多种数据库的起源均可追溯至数据库大师Michael Stonebreaker的Ingres项目。Stonbreaker大师在离开Informix CEO的位置后,启动了Ingres的后续项目,这就是Postgresql,这是具有正统高贵血缘的开源数据库系统,在今天以性能稳定和高度开放著称。在Oracle收购Mysql后,业内人士担心Mysql会被闭源,逐渐将应用迁移到其它的数据库选择上,PostgreSQL是一项很好的选择,它具备商业数据库几乎所有的特性,高度支持SQL语言,对开发人员友好,它的过程语言pgsql和Oracle的PLSQL是如此相像,以致于迁移应用几乎不用作过多的修改。今天Postgresql的应用越来越广泛,正在快速蹿红。
目前国内对PostgreSQL的使用,主要反映在两个范畴
1 用于取代MySQL和Oracle
2 作为数据库产品原型,通过修改源码构筑自己的数据库,例如通过使用pg的sql解析器,省去自己编写sql解析器的困难。某些拿了政府大量补贴的“国产数据库”软件就是这么干的(在这里就不揭穿是哪家了^_^),EMC的分布式关系式数据库Greenplum就是基于pg,加入分布式处理后脱胎换骨所成。
课程概述:
像编写数据库的人一样理解Postgresql的实现,让我们这些具有聪明的头脑的人更容易、更简单的运用数据库技术,可以从开发角度掌握扩展数据库功能的设计实现,让我们徜徉在Postgresql的世界。
本次课程是构建在一个公司要封装发展自有版本的Postgresql数据库的背景上,用真实项目迁移到Postgresql而对数据库做的改进的工作为蓝本,课程为你讲述Postgresql实现,讲述实际项目应用对Postgresql改进需的过程。
课程为了同学更容易掌握Postgresql数据库,特意安排了六周的Postgresql使用课程,让从未接触过Postgresql的同学可以顺利上手使用该数据库,做到了循序渐进。
课程目标:
掌握Postgresql数据库使用,掌握功能扩展二次开发。
授课对象:
熟悉数据库原理,Linux使用,C/C++语言。
对开源数据库Postgresql感兴趣。
预期收获:
学会Postgresql的使用。
在源码级上了解PostgreSQL。知道Postgresql如何实现,从而获得相关数据库内核研发的机会。
能力提升对C++的掌握,掌握在socket、IO、memory、Thread方面在Linux环境下的编程。
对数据库引擎开发工作有一定的认识,能够融入数据库应用的方方面面。是SQL开发工程师、DBA升级成为架构师的机会。
【课程内容】
第一课 Postgresql使用基础:发展历程、安装、建库。
第二课 Postgresql使用基础:客户端使用、基本对象管理。
第三课 Postgresql使用基础:开发应用中的基本特性。
第四课 Postgresql使用高级:全库备份还原。
第五课 Postgresql使用高级:双机环境搭建。
第六课 Postgresql使用高级:复制环境搭建。
第七课 Postgresql引擎开发基础:开发环境准备。
第八课 Postgresql引擎开发基础:内核逻辑结构和运行结构实现分析,跟踪调试数据库,熟悉源代码结构。
第九课 Postgresql引擎开发基础:SQL语法分析器、优化器实现分析,扩展系统函数。
第十课 Postgresql引擎开发深入:数据迁移工具实现分析,修改完善COPY命令。
第十一课 Postgresql引擎开发深入:执行优化器实现分析,增加兼容其它数据库存储过程功能。
第十二课 Postgresql引擎开发深入:数据库数据字典实现分析,扩展系统性能动态视图。
第十三课 发布数据库引擎:扩展并运行数据库单元测试。
第十四课 发布数据库引擎:构建CentOS环境下RPM形式发布包。
第十五课 发布数据库引擎:大型项目迁移到自主研发数据库中,数据库层面的功能完善需求分析与设计。
相关资源