【IT168技术分析评论】
2009年7月1日开源数据库PostgreSQL 8.4正式版来到我们身边,引入了新的管理和数据库特性,相比上一个版本8.3,8.4版本的增强加起来总共有293项之多,主要围绕产品的性能进行了升级。
PostgreSQL项目核心团队成员Josh Berkus说所有改变都不会对用户产生不良影响,相反,有些变化会大大提升特定应用情况下的性能。
在开源数据库市场,新的PostgreSQL发布来得正是时候,因为MySQL被SUN收购后,又被并入到Oracle,目前它的前景似乎暗淡。
由于目前还不知道MySQL在软件巨人手中会落得什么下场,但PostgreSQL却没有坐着不动,等着挨打。
在新版本中改进了一些复杂报表的查询,根据Berkus的说法,性能至少提升了400%,数据库恢复速度也更快了,并行恢复特性使得载入一个新数据库或迁移一个现有数据库的速度大大得到提高,性能提高了八倍,但这要依赖于用户使用的处理器数量。
在新版本中还增加了新的SQL查询结构,允许在一个查询中执行多个任务,而在以前是需要使用多个查询的。
PostgreSQL 8.4用户也将获得新的“窗口合计”功能,用户可以在数据子集上做一些合计操作,如count,sum和rank。但Berkus说我们常见的合计只会给出一个总的行,假设你使用sum(),只会得到一个总和,与此相反,窗口合计不仅会得到总数,也会得到数据集每行的信息,也就是说不仅可以得到总计,也可以得到小计。当你想对所有员工按他们在每个部门所呆的时间进行排序时,这个功能就很有用了,过去却要使用存储过程或使用多个子查询。
安全
在PostgreSQL 8.4 中安全性也得到了提高,可以在每一列上设置权限了,这样为敏感数据提供了细粒度的权限控制,列权限也有利于保护通过SQL注入暴露的限制数据。Berkus说列权限的加入,也要求PostgreSQL开发更精密的权限管理工具,满足更复杂的权限管理需要。
假设你有一张表,它有两个字段,分别是信用卡卡号和密码,它需要特殊的访问控制,这是一个非常常见的设计问题,在以前,你可能只有将它们分开放到不同的表中,再授予不同的权限,或者创建一个视图授予不同的权限。现在就简单了,只有管理员能够看到表的这两列。
PostgreSQL 9?
PostgreSQL的下一个版本究竟是8.5还是9目前还不明朗。Berkus说“我们还没有决定下一版本的第一位数是什么,直到我们确定了下一版本将会做些什么才能确定,通常我们也不会明确告诉你下一版本将会做些什么,目前我只能透露的是我们正在努力工作”。
Berkus说到现在为止,清单中包括热备份,同步复制,覆盖索引,许可管理和自动分区。但这些特性是否会包含到下一个版本中还很难说,因为我们不会为了追求一个新特性而将其随意引入,如果不顾其准确性和可靠性,那将是灾难性的。
原文出处:http://www.internetnews.com/dev-news/article.php/3828046/PostgreSQL+84+Revs+Up+Database+Admin+Security.htm