greSQL 是唯一支持事务、子查询、多版本并行控制系统、数据完整性
检查等特性的唯一的一种自由软件的数据库管理系统。直到最近才有 Inprise 的 InterBase 以及 SAP 等厂商将其原先专有软件开放为自由软件之后才打破了这个唯一。最后,PostgreSQL拥有一支非常活跃的开发队伍,目前的提交人员已经超过三十人,而 且在许多黑客的努力下,PostgreSQL 的质量日益提高,也从另外一个侧面上增加了人们使用 PostgreSQL 的信心,毕竟数据库管理系统不能象桌面操作系统那样一天宕一次还让人觉得挺满意 :-P。
从技术角度来讲,PostgreSQL 采用的是比较经典的 C/S (client/server)结构,也就是一个客户端对应一个服务器端守护进程的模式,这个守护进程分析客户端来的查询请求,生成规划树,进行数据检索 并最终把结果格式化输出后返回给客户端。为了便于客户端的程序的编写,由数据库服务器提供了统一的客户端 C 接口。而不同的客户端接口都是源自这个 C 接口,比如 ODBC,JDBC,
Python,Perl ,Tcl,C/C++,ESQL 等,同时也要指出的是,PostgreSQL 对
接口的支持也是非常丰富的,几乎支持所有类型的数据库客户端接口。这一点也可以说是 PostgreSQL 一大优点。
说完优点,不能不说几句缺点,不能因为是自由软件而偏袒 PostgreSQL,从 Postgres 开始,PostgreSQL 就经受了多次变化。
首先,早期的 PostgreSQL 继承了几乎所有 Ingres, Postgres, Postgres95 的问题:过于学院味,因为首先它的目的是数据库研究,因此不论在稳定性,性能还是使用方便方面,长期以来一直没有得到重视,直到 PostgreSQL 项目开始以后,情况才越来越好,目前,PostgreSQL 已经完全可以胜任任何中上规模范围内的应用范围的业务。目前有报道的生产数据库的大小已经有 TB 级的数据量,已经逼近 32 位计算的极限。不过学院味也给 PostgreSQL 带来一个意想不到的好处:大概因为各大学的软硬件环境差异太大的缘故,它是目前支持平台最多的数据库管理
系统的一种,所支持的平台多达十几种,包括不同的 系统,不同的硬件体系。至今,它仍然保持着支持平台最多的数据库管理系统的称号。
其次,PostgreSQL 的确还欠缺一些比较高端的数据库管理系统需要的特性,比如联机热备份,数据库集群,更优良的管理工具和更加自动化的系统优化功能等提高数据库性能的机制等。
最后,PostgreSQL 拥有极其强大的扩展能力,你可以很容易地扩展数据类型,内部函数,聚集,操作符等等,而且,别忘了,你拥有所有的源程序,理论上你可以做任何你可以做的事情。
总而言之,PostgreSQL的特性已经完全可以满足绝大部分用户的需要,而且其质量和特性仍然在日新月异地进步着,所以,我们有理由相信在不远的将来,PostgreSQL 肯定能够成为一种优秀的,自由的,商业数据库的替代产品。
人物
对 PostgreSQL 做出巨大贡献的人物太多了,我在这里只能摘其一二而为之,
首先是伯克利,作为一个学院,好象不应该进入人物的范畴,但是如果没有 BSD 的优良的学术环境,创造出这样优秀的科学技术成果是不可能的,只要想想我们的 5000 多所科研单位就能明白。(我是不是应该还要在这里感谢美国?:-P)。
|