发新话题
 搜藏 打印 该页面添加到 Mister Wong

PostgreSQL成新贵 号称世上最先进的开源数据库

PostgreSQL成新贵 号称世上最先进的开源数据库

在过去的三年中,Oracle、IBM和微软都相继发布了它们各自旗舰级数据库软件产品的免费版本,这种举动在几年前是闻所未闻的。尽管这几家公司官方声称这是为了更好地满足用户的需求,但是很明显这些商家不会如此慷慨,实际上是它们感受到了来自于开源数据库的持续压力,像MySQL、 PostgreSQL等,才使得这些主流商业数据库巨头们开始重新考虑它们的策略,以在这个竞争日益激烈的数据库市场中抢得先机。
2 `! e' v, D" |7 N  V2 H5 y/ p% v- z' X* n
  2006年11月份,在《Linux Journal》杂志的“2006年度开源数据库编辑选择奖”中,号称“世界上最先进的开源数据库”PostgreSQL夺得桂冠,而淘汰了人们意想中的 MySQL。尽管PostgreSQL被采用得比率继续急速上升,但一些人还是感到奇怪。按照这个产品如此令人印象深刻的功能,为什么它的采纳率没有表现得更加优秀呢?一种推测的可能性是,那些不考虑采用PostgreSQL的人可能是因为错误的认为PostgreSQL功能老套,或者对 PostgreSQL有什么其他的错误认识?
. n- |( i$ `3 J2 w9 Q+ w) Z
! y0 S% i* ?  I5 P  为了消除大家对于这款开源数据库产品的恐惧、怀疑的心理,接下来的内容将摆出用户们在选用PostgreSQL的时候比较普遍存在的一些顾虑,然后逐个帮助大家分析。
  Z. E2 E+ b8 {# N3 ]
/ v& {8 L. c# r# a0 s  理由1: PostgreSQL不可以在Windows之上运行" r9 `- K1 Y1 m4 E# q0 Y7 U2 m
9 u) O9 s0 _% t% d* g8 x
  这已经是过去时态了,PostgreSQL目前可以支持每一个现代的兼容Unix操作系统,并且还可以与Novell NetWare以及OS/2进行很好的结合。而且PostgreSQL通过其8.0版本完成了对于所有主流操作系统的支持,当然也包含Windows。9 c+ M9 m( ^& |7 d, q2 V1 s

" y$ P. `. ~! V5 v3 T( X5 G  现在你可以非常轻松地在一个台式机或者笔记本电脑上安装PostgreSQL,这得益于它有一个像安装微软的办公软件Windows Word或者播放器Quicken一样方便的安装向导。
+ D  a. D4 y" N3 w- v, U' h+ X9 Q, f5 P& u3 ?1 W" r
  理由2:没有专业性的开发和管理工具% L, X, n1 l; S
/ @2 t  \& S7 ^. C, p
  大多数不太熟悉开源项目的用户可能会认为,数据库管理员需要通过一系列神秘的命令来管理数据库。事实上,PostgreSQL不但可以很好地利用功能强大的命令行环境,还具有很多直观的图形界面管理工具,从而能够简易的完成一些常见的任务,例如系统管理以及数据库设计等。& m4 A$ {* K8 y7 ~, h

% @3 i& r: `" a4 K- E5 L% L  以下仅列举了一部分面向PostgreSQL开发者的工具:
! x8 |$ n. h% X/ y% ~7 J
  Z1 F, n3 i  C  数据库模型——有好几个商业性的或者开源的产品可以帮助你完成数据建模的问题,例如Visual Case以及Data Architect。1 d0 M/ X  @4 y: K. n' E# a
& S- F! Q9 C8 u. N+ i  W, Y
  管理和开发——在这个方面有很多不错的选择,其中有三项产品是更加优秀和有前途的。一个是pgAdmin III,它有着一个相当长的开发历史,并且它几乎可以处理所有任务,无论是简单的创建表操作,还是管理多服务器的数据复制等。二是Navicat PostgreSQL,它提供了与pgAdmin III相似的功能,并且被封装在一个设计非常优秀的界面中。还有一个很好的基于浏览器的管理工具是phpPgAdmin。" y$ f. R9 B3 A8 C( a
* h  ?( s4 C8 |4 K  S( ^! {% v
  报表工具——PostgreSQL可以与很多的主流报表工具对接,包括著名的水晶报表(Crystal Reports)、Cognos ReportNet以及日益流行的开放源码报表程序JasperReports。9 W, H% D8 {8 r2 \; v
& W0 [, X3 N, q6 Q( D4 y) P
  理由3ostgreSQL不能够支持“我”的程序设计语言2 o3 U! c+ ^! Y3 e8 B

: N) F2 m( J, U0 k# `. o  d5 P% l  现在的企业大多经常依赖于某种类型的程序设计语言,并且如果PostgreSQL API能够适应于很多的程序语言,那么该数据库将会在很多的系统环境中被广泛使用。  l5 F$ Z9 f3 K  ?
* U1 }0 ?( d3 w  I8 t" y. W3 E
  PostgreSQL可以支持目前比较普遍使用的大多数程序语言,包括C++、C#、JDBC、Perl、PHP、Python、Ruby 以及Tcl等。
' [3 B; Z2 b3 L+ Y4 O) Z0 ^8 Z: K- N. s
  另外,PostgreSQL还支持一些超出我们想象的的语言,例如Ada、Common Lisp以及 Pascal。
4 g  v7 w4 @0 q' ?3 J: }$ k- B. t8 J# B& h$ }. a% {0 N1 d& }
  理由4:出现问题没有人负责1 L& m! l( F8 O& S! @6 N
" h: S1 L) O) G- x" E: b% B. z
  很多人错误地认为开源产品缺乏完善的技术支持和保障,尤其是有人认为当开放源码系统出现问题时没有人负责,也没有人可以找来帮助解决。' u0 K3 m  |2 b6 s7 O% Z
3 D9 m- R) e( ?2 N. `1 Y$ k: N
  实际上,你可以轻松地在PostgreSQL官方手册中找到很多问题的答案,该手册包含了1450多页的详细的文件说明,几乎囊括了该数据库的每一个细节,从所支持的数据类型到系统内核。
8 t3 n% g3 G1 [: e3 w! j' u5 y' b7 m+ H! V+ ]) ^& D- M+ \
  这个文件可以从网上下载其PDF格式的版本(下载地址为http://www.postgresql.org/docs/manuals/)。如果你需要更多帮助,还可以通过Google新闻组查找访问更多新闻组。新闻组的主题包括性能方面、管理方面、SQL构建方面、开发方面以及一些常见问题等。
: j# O8 h$ O& H$ T
# n2 X( i6 M) F+ R  d  如果需要一些快捷的答复,那么你可以登陆IRC(irc.freenode.net #postgresql?),在那里你可以得到很多PostgreSQL志愿者的帮助。: c0 c) H5 B# d+ s% a. Z- u
* P* J* s3 l; e  f' o9 s! F
  你可以在任何常用操作系统(包括Windows)上安装IRC聊天客户端,然后在任何的时间进入IRC聊天室,在那里你可以进行各种问题的咨询。在最近的周三晚上,我发现就有超过 240人登陆进了该频道之中。第二天早上醒来,我发现还有252人在线,包括几个著名的业内专家在内。聊天的内容多种多样,既包括教导一些新手们进入并使用PostgreSQL的方法,也包括与一些高级人士探讨像决策树生成算法等高深的问题。每一个人都被欢迎来参与和提出问题,无论是非常简单的问题还是困难的问题。
+ N% G  l* n+ ~! H' l8 k& w( K5 y; {; ^! y
  对于那些希望使用更正规的支持的用户来说,还有一些其他的选择。(这些支持对国内用户感觉意义不大,故隐去)" G2 c( d( Z! |* P' |( r

( C+ {) R2 g  G% m" E% c4 _, g) o  理由5:按需选购
5 x1 y0 }- e8 E; w1 b9 l" B. G- m+ T/ M: }, B- k
  简单的说,如果你需要的是一种SQL标准的数据库,并且拥有其他的企业版产品的所有特性,还能够储存大容量的数据信息,以及具有高压运行能力,那么请选用PostgreSQL,它将能够很好的满足你的需求。不过,它没有一个漂亮的包装盒,也不会在你下载后有销售人员站在你面前喋喋不休的向你推销。
' P  v6 D+ ?1 z/ z6 c- B' d4 H" ?
$ x* d% J7 M1 j( q8 f  如果你的应用程序需要Oracle数据库配合才能正常工作,那么可以考虑EnterpriseDB,这也是PostgreSQL的一个版本,但是它重新设计了一些功能,例如数据类型、视图及指针等,这些都是模仿Oracle而设计的。0 f" r, }1 J1 N4 s5 }5 n+ Q3 i

# r1 i, ~' C+ ?  只要将多种产品进行对比,那么你就很容易选择PostgreSQL,它还是一种可以节省成本的方案。

本文由hew 发布于Linuxsky 论坛,网址:http://bbs.linuxsky.org/thread-6425-1-1.html

相关主题
你的鼓励,我的动力.
做人厚道,看贴回贴.
my linux blog

TOP

发新话题