PostgreSQL简史:Postgres计划、Postgres95、PostgreSQL
最新学讯:近期OCP认证正在报名中,因考试人员较多请尽快报名获取最近考试时间,报名费用请联系在线老师,甲骨文官方认证,报名从速!
我要咨询PostgreSQL简史
现在称为PostgreSQL的对象关系数据库管理系统是从加州大学伯克利分校的Postgres软件包。经过二十多年的发展,PostgreSQL现在是世界上最先进的开源数据库。
2.1. 伯克利Postgres计划
由Michael Stonebraker主导的项目,由DARPA,ARO,NFS,ESL等赞助。POSTGRES始于1986.该系统的初始概念于1986年发布,初始数据模型的定义在1987年出现。当时对于规则系统的设计在1987年进行了描述。同年,对存储结构的基本原理及体系结构进行了详细描述。
之后,POSTGRES经历了几次重要版本的发布。第一版从1987年开始开发,于1988年的ACM-SIGMOD大会上展出。第一版,在1989年6月对少数用户进行了发布,并在1990年的相关文章中进行了描述。为回应对于1989年发布的规则系统的批评,在1990年对规则系统进行了重新定义,并在于1990年6月发布的第二版中使用了新的规则系统。第三版于1991年发布,增加了对多存储管理的支持,查询器的优化,及规则系统的重写。在大多数情况下,PG95之前的版本,基本都侧重于可移植性及稳定性方面。
POSTGRES被用于各种正式或研究用业务系统。包括:财务分析系统、喷气式飞机引擎性能监控、行星跟踪、医疗、地理信息系统等。POSTGRES也在几所大学中被用做教学工具。最终,Illustra Information Technologies(之后合并到由IBM拥有的Informix中)取得了它的代码并将其商业化。在1992年底,POSTGRES称为了Sequoia 2000科学计算项目的主要数据管理工具。
1993年期间,外部用户社区规模几乎翻倍。越来越明显的是,对于代码的维护及支持占用了本应用于数据库研究的时间,为了减轻这种负担,POSTGRES项目正式终止于版本4.2。
2.2. Postgres95
1994年,Andrew Yu和Jolly Chen在POSTGRES中添加了一个SQL语言解析器。然后,以一个新的名字:Postgres95发布到了网上。这样,POSTGRES以一种全新的方式现身:开源。
Postgres95的代码全部有ANSIC写成,在大小方面减少了25%。许多的内核更改提高了性能及可维护性。Postgres95的1.0.x版比POSTGRES4.2在Wisconsin Benchmark测试中快大概30-50%。Postgres95不仅修复了许多bug,还对以下内容进行了增强:
· 在服务端,用SQL替换了原查询语言PostQUEL。(接口库libpq以PostQUEL命名)。直到PostgreSQL才支持子查询,但在Postgres95中可以使用用户定义的SQL函数实现类似功能。聚合函数以重新实现,且添加了对于GROUP BY 的支持。
· 一个新的程序:psql用以进行SQL查询交互,它使用开源的GUN Readline库。这在很大程度上替换了旧有的监控程序。
· 一个新的前端库,libpgtcl,支持基于tcl的客户端。示例shell,pgtclsh,提供了新的tcl命令用以将tcl程序与Postgres95服务端连接起来。
· 对大对象接口进行了彻底整改。反转大对象是存储大对象的唯一机制(反转文件系统已被移除)。
· 移除了实例级的规则系统。规则仍可用作重写规则。
· 随源码一起发布了一个简短的教程,介绍常用的SQL特性及Postgres95功能。
· 构建的时候使用GUN而不是BSD。而且,Postgres95可以使用外部的GCC进行编译(double数据类型的对齐是固定的)。
2.3. PostgreSQL
到了1996年,Postgres95这个名字明显跟不上时间变换了。我们选取了一个名字:PostgreSQL用以反映原始POSTGRES与具有SQL功能的新版本之间的关系。同时,将版本编号设置为从6.0开始,将数字返回到伯克利POSTGRES项目开始的序列中。
或许是因为传统,又或许是因为Postgres更容易发音,现在许多人仍称呼PostgreSQL为Postgres(很少用全大写)。这被认为是一种昵称或者别名。
Postgres95在开发过程中的重点是识别和理解服务器代码中已存在的问题。PostgreSQL中,重点转移到了扩展特性及功能,当然,其他所有领域的工作仍在继续。
关于PostgreSQL之后发生的细节可以在附录E中找到。