本文简介
当第一次有人建议我为linuxpl.net写数据库管理系统的比较时,我摇了摇头,我从来没做过这样的比较,但是后来,我想:有何不可?也许一种新鲜天真的方法并不坏。因此就有本文:一种全新眼光看缤纷的linux数据库世界。本文共4部分。
在这里比较的数据库管理器是免费的或有便宜的许可费,并且他们可在所有层次的linux系统上运行,从低端硬件到高端多处理器服务器,他们已经广泛地应用世界范围的生产系统上。为了比较,我把我自己放在了运行典型的linux机器的境地,每天都由 dbms提供动力。
我将考察:
msql
mysql
postgresql
我将以一个这3个数据库系统的安装和配置的讨论开始,然后我将在第2部分继续,通过用sql的一个小数据库的设计,指出我碰到的困难和试图使数据库系统接受的差异,我也将解释一个程序的编码,它在数据库上执行各种的真实操作,例如增加数据并产生报表,同时讨论数据库在处理上的各种差别。这个客户程序针对所有3个数据库系统用c语言实现。为此,我必须不仅学习所有系统sql api,还有sql。如果没有其他东西,这将肯定饶有兴趣地看下去。
第三部分将包含一些真实的基准测试,作为奖赏。我已经有了在linux 新闻组上款观看关于数据库的基准测试结果没完没了的争论的保持怀疑的乐趣,因此我将只测试客户程序做随机事情的时间性能,既在理想的条件下运行跑又通过多个并发进程的时候。那时我将已经涉及dbms之间的大多数差别,因此你应该有了关于他们的强项和弱项的一个良好概念。
最后的部分将是你所期待的一切:结论、覆盖的特征、实现、在dbms之间的api和性能差别。
但是现在,准备深入数据库管理的王国的探险吧。
获得并安装 postgresql
位于postgresql 网站的软件小节,有一个ftp和http镜像网站的列表,可从他们下载分发,也有定购dbms cd的选择。构造并安装它是一个多步骤过程。
首先,如果你想要建立postgresql的perl语言绑定,在你系统上的perl 5 可执行文件必须已知是perl5的名字。通常,这意味着你需要做一个符号连接。
也许要做的最重要的事情是创造一个postgres用户。在我的系统上,这个命令可运行:
useradd - c “ postgresql administrator” - d /opt/postgresql - g users postgres
在其他系统上,命令可能有所不同。注意我假定postgres是在users组里。你可能比较喜欢给数据库主管一个它自己的组。
如果不另外说明,所有其它安装步骤需要以用户postgres身份来做。
解开postgresql下载包并进入源代码目录树:
tar - xvzf postgresql-6.5.2.tar.gz
cd postgresql-6.5.2
用root用户,创建postgresql目录并把交给postgres用户:
mkdir /opt/pgsql
chown postgres.users /opt/pgsql
进入源代码目录并配置软件包。我用下列选择:
./configure -- prefix=/opt/pgsql -- with-perl
进行构造和安装过程:
| cd .. /doc make install cd .. /src make all make install |
| path=$path:/opt/pgsql/bin manpath=$manpath:/opt/pgsql/man pglib=/opt/pgsql/lib pgdata=/opt/pgsql/data export path manpath pglib pgdata lc_collate=c lc_ctype=c export lc_collate lc_ctype |
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器