我想架设一个PHP论坛 网上据说有开源的代码和数据库

我想架设一个PHP论坛 网上据说有开源的代码和数据库,第1张

手把手教你架设Discuz!论坛

前些天,有朋友要小强帮忙架一个论坛。可是刚开学一直很忙(11门课啊~~还不说七七八八的杂事),都没顾上弄,这次国庆假期正好很无聊,于是决定动手试一下,毕竟没玩过类似的东西。经过了一天的安装调试之后,偶的实验论坛终于动起来了,兴奋之后觉得“独乐乐不如众乐乐”,于是就有个这篇东东。

开始之前呢,还是要说一些“废话”:虽然本文中用到的软件都是free的,但是,应当遵重原作者的权利及相关授权文档。还有就是偶对这个东西也是第一次玩,又说的不对的地方欢迎大家拍砖(人身攻击除外,呵呵)。

好了,闲言少叙,进入正题。本文中涉及到三种开源软件的Win32版本:

n Apache HTTP Server 2.0.46

n MySQL Servers and Clients 4.0.13

n PHP 5.0.3

此外就是同为开源的Discuz! 2.5 简体中文免费版(还是开源的东西好啊,功能又强,效率又高,又稳定,而且最重要的是:大多数情况下免费!)。以上这些软件在网上都很容易找到,下面只对这三种软件作简单介绍,更为详细的资料请参阅该软件的文档;对于该软件的下载方法就不说了,一个字:搜。如果比我还笨或还懒得话给我发邮件好了(不过mail的主题里要写明原因 :P)。

Apache HTTP Server是一种高效率的可在多种平台下的网页服务器(我尽量说的简单,但如果你连网页是啥都不知道那就没办法了)。它由Apache开源组织()开发和维护。记得去年同学找工作时候听过一种说法,如果你能有一个Apache的邮箱(如[email protected]),那找什么工作也就都不愁了(可是我没有,所以还是要愁啊~~)。Apache HTTP Server在本次架设过程中主要提供基于HTTP(超文本链接)协议的网页服务。

MySQL是大名鼎鼎的高性能跨平台的数据库服务器(),我挺喜欢它的那个海豚图标的,呵呵。提供基于GPL(free)的数据库服务,即将建立好的论坛的各种数据(如帖子、回复、会员管理等)都会存在这个数据库里面。

PHP也是开源软件,由PHP Group()开发和维护,用以提供服务器端脚本解释,以提高网页浏览效率的服务。

相信很多常常灌水的大虾们对Discuz!论坛一定不会陌生,这次接触后才知道Discuz!竟然是国产软件(如果我没理解错的话),强烈支持民族软件!!!本文中所用的是简体中文版本,其强大的功能、快速的运行效率和简单的安装配置的过程完全出乎我的意料。

如果你已经搞到了以上这四种软件,那就随时可以开始喽~~哈哈,Let’s Go!

哦,对了,稍等一下,还有要说的就是在配置过程中用到的环境是:

IBM T43 2668-44U ThinkPad 笔记本(我的小黑~~~好喜欢啊!)

Intel Pentium Dothan 1.86GHz M Processor

512MB DDR2 Memory

Microsoft Windows XP Professional Version 2002 Service Pack 2 英文版。

以上几种应用软件有的明确提出推荐在类Unix系统下运行,有的虽未提出但在类Unix系统下有助于与其它软件合作提高性能,尤其当论坛的访问量增大时。但考虑到偶对Unix(或Linux)的熟悉程度还不够,因此,本文暂时只考虑在Windows平台下的论坛搭建。

提示:如果你是买已有的空间,且对方服务器提供PHP、MySQL和文件上传的支持的话,请略去第一至三部分,第四部分的内容也有相应的改动,在涉及到的部分会有介绍。

好了好了,别不耐烦了,这就开始,让我们先看一下——

一、Apache HTTP Server的安装与配置

Apache的身材很好,2.0.46的win32版本只有不到6MB。安装过程非常的简单:按两次Next,看过Licence之后,填写网络域和服务器名,如果只是在本地架设的话填什么都可以,建议均填写“localhost”(不加引号),然后下面的管理员email就填写你的就好了(如[email protected])。建议选择80端口安装,但是此时也会将Apache安装为系统服务,在每次进入Windows系统是都会自动启动,但是可以在控制面板的系统服务中将其设为手动启动。选个目录安装,建议使用默认的“C:\Program Files\Apache Group\”,然后一路next按下去就好了。

这个时候,打开你的浏览器(比如说IE,Maxthon等),在地址栏输入然后回车,看看有什么事情发生了?

如果你看到了Apache的欢迎网页,那么恭喜你,我们的网页服务器已经装好了。

但是,安装完毕后,还需要对Apache服务器进行些简单的配置。

与很多的开源软件一样,Apache HTTP Server的配置是通过配置文件来进行的。在默认情况下,它的配置文件放在目录“C:\Program Files\Apache Group\Apache2\conf\”中,通常采用文件httpd.conf,当该文件不存在的时候调用httpd.default.conf进行配置。

用Windows的记事本(NotePad.exe)或其他可以打开文本的软件(如UltraEdit等)打开httpd.conf,可以看到该文件的很多行都是以“#”开头的,这些行都是配置文件的注释部分,Apache服务器进行配置时将直接忽略这些行。使用这种方式的一个好处就是配置人员可以较容易懂得每行配置的大致含义,此外,可以把可能有的多个可能值的行均写入配置文件,在暂时不需要的行前加入“#”号,这样,当需要改变配置时,只需要在某些行前加入或删除“#”号即可。

对httpd.conf中的内容不作详细介绍,仅涉及可能用到的几个参数,其他的内容请参考该文件或Apache的相关文档。

文件根目录:即对外提供的网页服务的根目录,默认情况下,配置文件中应当有这样一行:DocumentRoot "C:/Program Files/Apache Group/Apache2/htdocs" ,这表明,我们论坛的文件将放入该目录中。当更改相应的目录时,还应修改<Directory "C:/Program Files/Apache Group/Apache2/htdocs">行的内容及其他访问权限的设定。

默认网页设置:当用户请求某一目录时,打开的默认网页。比如论坛的首页为index.php文件,那么就将该文件拷入文件根目录(见前面介绍),然后把http.conf文件中的DirectoryIndex index.html index.html.var行修改为DirectoryIndex index.php index.html index.html.var。当用户提出访问根目录请求时(如在浏览器地址栏输入),Apache将从根目录中依次寻找Index.php、index.html、index.html.var等文件,然后将第一个找到文件返回给用户。

注意:在配置文件中涉及到路径时,注意应采用“/”而不是“\”,这与Windows下通用习惯不同,是由于Unix系统中采用“\”的原因;修改httpd.conf文件之前最好对该文件进行备份(如果未备份,可以将httpd.default.conf文件复制一份并更名为httpd.conf);修改完毕后要把Apache服务器重新启动( 开始-)程序-〉Apache HTTP Server 2.0.46-〉Control Apache Server-〉Restart)修改才能生效;在安装配置MySQL或PHP的过程中需要再次对Apache配置文件进行修改,在下文中有相关介绍。

二、MySQL Servers and Clients的安装与配置

怎么样,安装Apache的过程简单吧?早期的开源软件的用户有好度不够好,被微软比了下去,但目前的用户交互性有了很大的提高,而且自定义的程度要远高于商业软件,对追求个性化的用户有极大的吸引力。长远来看,开源软件前景一片光明。

注:在继续进行之前,我假设你懂得一些数据库和SQL及Windows命令行的基础知识,如果在谈到数据库的表等概念时你还不懂的话,可能就会有些问题。不过别灰心,如果实在不懂的话,就跟着我一步一步走好了。

安装完网页服务器之后,继续解决MySQL的问题。MySQL数据库也是开源软件的优秀代表,一直以其高稳定性、高效率及非常好的跨平台特性而得到广泛的应用。

获得MySQL在Windows平台下的版本后,解压。打开setup.exe,安装目录建议采用默认值“C:\MySQL”,然后一路next按下去就好了。

安装完毕后,打开 开始-〉运行,输入“c:\mysql\bin\winmysqladmin.exe”,点确定。然后出来一个界面,几秒钟后会自动最小化到桌面右下角任务栏,点击任务栏上的红绿灯样的图标,在d出的活动菜单上选择“Show me”。通过该工具可以看一些MySQL运行的状态信息及其中的数据库、表等。在第一次使用该工具时提示输入用户名密码,你输入的信息将作为新用户创建,所以可以任意输入(如starsnow/starsnow)。

接下来创建一个数据库和一个表作为实验(一个数据库由一个或多个表组成,每张表由一个或多个列组成,每个列由每个项组成,一个记录由处于同一行的各个列共同组成)。打开 开始-〉运行,输入“cmd”,在控制台的提示符下输入“cd c:\mysql\bin”然后输入“mysqladmin create testdb”,回车。这时已经创建了一个叫做“testdb”的数据库。

在控制台提示符下,输入“mysql”,此时启动了MySQL Monitor,此时命令行的提示符变为“mysql>”,可在此提示符后输入SQL命令创建表、插入删除数据等命令,每条命令均以分号“”作为结束。输入“use testdb;”,这说明我们将对testdb数据库进行 *** 作(如果输入回车后还是出现了提示符“>”,看一下,是不是丢了分号了?输入分号,回车)。然后输入“create table test_table (test_id int, test_note text)”(分号!!!), *** 作成功后,在testdb数据库中创建了一张新表test_table,该表格有两列,分别为整数型的test_id和文本型的test_note。再输入“show tables”(分号!!!别让我再提醒你了啊!)此时终端列出了所有表格的情况,然后再输入“explain test_table”显示出test_table表格的具体情况。接下来,将一个数据插入该表格中:输入“insert into test_table values('1', 'This is a note.')”, *** 作成功后即插入了一条记录。然后输入“select * from test_table”看到刚才插入的那个记录了吧,呵呵。最后输入“exit”退出。

通过上面的练习,已经大概知道我们要通过命令行与MySQL交互,这是我们不大愿意的,不过没关系,跟着小强走,就没问题的,哈哈~~~(谁?谁拿砖拍我?!)

创建一个叫做“forum”的数据库(具体做法参考前面创建数据库的介绍,看你刚才认真看我写得东西了没!所不同的就是输入变为“mysqladmin create forum”),用作论坛今后存储数据的地方。数据库中的表格可以不用创建,在安装Discuz!的过程中将自动创建(Discuz!真是好东西,我不由得想再次赞美它!)

注:MySQL的功能实在是太强大了,很多的功能我也要慢慢学习,更多详细的信息请参考“C:\mysql\Docs\manual.html”;另外对于安全性的考虑较少,也请参考上述文档(如果你E文足够好的话)。

三、PHP的安装与配置

小强下载的PHP的版本解压后所有文件在目录php-5.0.3-Win32中,请将该目录中所有的文件拷贝至“c:\PHP”目录中(什么?没有这个目录怎么办?!新建一个啊!我晕~~)。

PHP的安装有两种模式,一种是作为CGI二进制文件安装,另一种是作为Apache服务器的一个模块运行。出于安全性和程序效率的考虑,Apache Group建议采用第二种方式安装Apache HTTP Server。既然人家都建议了,那我们就恭敬不如从命了。

打开Apache服务器的配置文档httpd.conf(别告我不知道在哪啊,刚才可是告诉过你了),在文件中找到含有“LoadModule”语句部分,在最后另起一行加上“LoadModule php5_module "c:/php/php5apache2.dll"”一句;此外,找到含有“AddType”的部分,也是在新的一行加入“AddType application/x-httpd-php .php”。然后在再下面一行加入“PHPIniDir "C:/php"”。

下面我们要把MySQL数据库与PHP联系起来,在默认情况下,PHP的配置文件还有一个需要修改的地方。

打开位于“c:\PHP”目录中的php.ini文件,找到“extension_dir”所在行,将该行整行用以下内容替换“extension_dir = "c:/php/ext/"”(因为PHP自动载入MySQL的功能时必须载入php_mysql.dll文件,而该文件在以上目录中,如果你的该文件不在此目录中,请做相应的调整)。PHP的配置文件与Apache的配置文件风格类似,不过把注释的符号换成了分号“”。然后在该文件中找到“extension=php_mysql.dll”,把该行最前面的分号去掉。

现在编辑一个新文件phpinfo.php,用任何普通文本编辑软件均可,推荐使用专用PHP编辑工具(如PHP Expert Editor)。在该文件中写入以下内容:

<html>

<head>

<title></title>

</head>

<body>

<?phpinfo()

?>

</body>

</html>

文件phpinfo.php的内容到上一行为止。将该文件保存在Apache网页服务的根目录内(默认情况下,应当是“C:\Program Files\Apache Group\Apache2\htdocs”)。

打开浏览器,在地址栏输入“”,如果出现了PHP的许多详细信息(应当包括MySQL的内容),那么恭喜你,你的PHP也安装好了(请我吃饭吧,呵呵~~哦,等会儿,还有最重要的论坛没有安装呢,狂汗~)。

好了,要不要休息一下。呵呵,燕姿7号就要出新专辑了,期待啊~~怎么?这么急么,好了好了,不废话了,反正要支持一下燕姿哈,我们继续。

四、Discuz!的安装

将下载的Discuz!文件解压后,有两个目录,将upload目录中的所有内容拷到“C:\Program Files\Apache Group\Apache2\htdocs”目录中(如果是购买的空间,服务器在远端的话,请用上传工具将该目录所有文件上传,且再次情况下需要对某些目录的权限进行修改,请参考Discuz!的相应文档)。

打开浏览器,在地址栏输入……什么?你已经知道了?不对,应该是“”,看到了吧,呵呵,选择第一个中文,没说的。然后选择同意,也没说的。数据库用户名和密码均为空,MySQL默认创建了匿名的用户,能满足我们建设论坛的需要。数据库名填“forum”,系统Email填你的地址(如[email protected]),其他的内容不要进行修改。其他的内容一直按照向导填就好了(如果这时候除了问题,多半是你的PHP与MySQL的连接方面出了问题,请参考相关的文档解决具体的问题)。

看到成功安装的字样了吧?哈哈,终于大功告成了,写了这么多,要累死了,还是没人请我吃饭么?哎,伤心啊,算了,自己去吃了~啊?什么?还不知道该怎么办啊?那我就简单的再说一下——

五、Discuz!的配置

打开浏览器,输入“”(如果是远端服务器请输入相应的地址,如“”),是不是看到了非常熟悉的画面。这时候,用你刚才安装Discuz!时设置的用户登录,以后他(也可能是“她”)就是管理员了。登录后选择系统设置。

在新打开的窗口中输入你的密码。

选择Discuz!选项->基本设置,论坛名称写“真情流露”(或你喜欢的名称)。广告!广告!真情流露是北京邮电大学的一个论坛,历史悠久,是我国第一批高校的BBS系统,地址是,欢迎大家来访问哈~~

其他的功能嘛,我就不多说了,你慢慢试吧,作为一个新世纪的水车,怎么这些东西还问呢!

(太困了,懒得写了,以后有机会再说吧,:P)

重要提示:在以上各个软件自带的介绍文档中,有着更为详细、准确的介绍,例如更为重要的安全性问题等,在实现了基本功能后,强烈建议你更为自己的阅读相应的文档!以上的过程不一定是最好的,但是这个过程本身是很重要的,因为通过这一过程可以更好的体会到开源软件的好处,及基本的使用方法。

请参考

四大开源数据库是哪些

开源世界中的那几个免费数据库

发布时间:2011-11-22 09:34:30 来源:CSDN 评论:0 点击:1476 次 【字号:大 中 小】

QQ空间 新浪微博 腾讯微博 人人网 豆瓣网 百度空间 百度搜藏 开心网 复制 更多 0

开源数据库MySQLMySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源...

开源数据库MySQL

MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

盘点:开源社区那些免费的数据库软件

MySQL为多种编程语言提供了API,包括C、C++、C#、Delphi、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。而其自身是采用C和C++编写的,使用了多种编译器进行测试,所以,MySQL能够保证源代码具有很强的可移植性。这样的一款数据库,自然能够支持几乎所有的 *** 作系统,从Unix、Linux到Windows,具体包括AIX、BSDi、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、NetBSD、OpenBSD、OS/2 Wrap、Solaris、SunOS、Windows等多种 *** 作系统。最重要的是,它是一个可以处理拥有上千万条记录的大型数据库。

与此同时,MySQL也产生了很多分支版本的数据库也非常值得推荐。

首先是MariaDB,它是一个采用Maria存储引擎的MySQL分支版本,是由原来MySQL的作者 Michael Widenius创办的公司所开发的免费开源的数据库服务器。与MySQL相比较,MariaDB更强的地方在于它拥有更多的引擎,包括Maria存储引擎、PBXT存储引擎、XtraDB存储引擎、FederatedX存储引擎,它能够更快的复制查询处理、运行的速度更快、更好的功能测试以及支持对Unicode的排序等。

其次是rcona,它为MySQL数据库服务器进行了改进,在功能和性能上较MySQL有着很显著的提升。该版本提升了在高负载情况下的InnoDB的性能,同时,它还为DBA提供一些非常有用的性能诊断工具,并且提供很多参数和命令来控制服务器行为。

第三是Percona Server,它使用了诸如google-mysql-tools、Proven Scaling和 Open Query对MySQL进行改造。并且,它只包含MySQL的服务器版,并没有提供相应对 MySQL的Connector和GUI工具进行改进。

非关系型数据库NoSQL

从NoSQL的字面上理解,NoSQL就是Not Only SQL,被业界认为是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储,相对于目前铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。

盘点:开源社区那些免费的数据库软件

当然,NoSQL也是随着互联网Web2.0网站的兴起才能取得长足的进步。关键的需求在于,传统的关系数据库在应付Web2.0网站,特......>>

该选择哪个开源数据库

如果打算为项目选择一款免费、开源的数据库,那么你可能会在MySQL与PostgreSQL之间犹豫不定。MySQL与PostgreSQL都是免费、开源、强大、且功能丰富的数据库。你主要的问题可能是:哪一个才是最好的开源数据库,MySQL还是PostgreSQL呢?该选择哪一个开源数据库呢?

在选择数据库时,你所做的是个长期的决策,因为后面如果再改变决定将是非常困难且代价高昂的。你希望一开始就选择正确。两个流行的开源数据库MySQL与PostgreSQL常常成为最后要选择的产品。对这两个开源数据库的高层次概览将会有助于你选择最适合自己需要的。

MySQL

MySQL相对来说比较年轻,首度出现在1994年。它声称自己是最流行的开源数据库。MySQL就是LAMP(用于Web开发的软件包,包括Linux、Apache及Perl/PHP/Python)中的M。构建在LAMP栈之上的大多数应用都会使用MySQL,包括那些知名的应用,如WordPress、Drupal、Zend及phpBB等。

一开始,MySQL的设计目标是成为一个快速的Web服务器后端,使用快速的索引序列访问方法(ISAM),不支持ACID。经过早期快速的发展之后,MySQL开始支持更多的存储引擎,并通过InnoDB引擎实现了ACID。MySQL还支持其他存储引擎,提供了临时表的功能(使用MEMORY存储引擎),通过MyISAM引擎实现了高速读的数据库,此外还有其他的核心存储引擎与第三方引擎。

MySQL的文档非常丰富,有很多质量不错的免费参考手册、图书与在线文档,还有来自于Oracle和第三方厂商的培训与支持。

MySQL近几年经历了所有权的变更和一些颇具戏剧性的事件。它最初是由MySQL AB开发的,然后在2008年以10亿美金的价格卖给了Sun公司,Sun公司又在2010年被Oracle收购。Oracle支持MySQL的多个版本:Standard、Enterprise、Classic、Cluster、Embedded与munity。其中有一些是免费下载的,另外一些则是收费的。其核心代码基于GPL许可,对于那些不想使用GPL许可的开发者与厂商来说还有商业许可可供使用。

现在,基于最初的MySQL代码还有更多的数据库可供选择,因为几个核心的MySQL开发者已经发布了MySQL分支。最初的MySQL创建者之一Michael "Monty" Widenius貌似后悔将MySQL卖给了Sun公司,于是又开发了他自己的MySQL分支MariaDB,它是免费的,基于GPL许可。知名的MySQL开发者Brian Aker所创建的分支Drizzle对其进行了大量的改写,特别针对多CPU、云、网络应用与高并发进行了优化。

PostgreSQL

PostgreSQL标榜自己是世界上最先进的开源数据库。PostgreSQL的一些粉丝说它能与Oracle相媲美,而且没有那么昂贵的价格和傲慢的客服。它拥有很长的历史,最初是1985年在加利福尼亚大学伯克利分校开发的,作为Ingres数据库的后继。

PostgreSQL是完全由社区驱动的开源项目,由全世界超过1000名贡献者所维护。它提供了单个完整功能的版本,而不像MySQL那样提供了多个不同的社区版、商业版与企业版。PostgreSQL基于自由的BSD/MIT许可,组织可以使用、复制、修改和重新分发代码,只需要提供一个版权声明即可。

可靠性是PostgreSQL的最高优先级。它以坚如磐石的品质和......>>

该选择哪个开源数据库?哪一个更好

Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。Microsoft Access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃,表现为英文“Service Unavailable”。

MS SQL Server是基于服务器端的中型的数据库,可以适合大容量数据的应用,在功能上管理上也要比Microsoft Access要强得多。在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大。因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。Microsoft SQL Server还有更多的扩展,可以用存储过程,数据库大小无极限限制。

MySql短小精悍,像access一样的文件型数据库,但比access强百倍,是真正多用户多任务的数据库系统,从Linux上移植过来的,安全性非常好,不过大部分 *** 作是在dos下进行,虽然也有第三方开发的图形界面但并不好用。MySQL是跨多平台的数据库管理软件,可运行于LINUX、NT、UNIX等系统,可支持命令和图形化管理,对于一般的数据库足以应付了,占用系统资源较少,速度较快,而且是开源的。

Oracle各方面都比较成熟,但对硬件要求高,用于数据完整性、安全性要求较高的场合,能在所有主流平台上运行,完全支持所有的工业标准,采用完全开放策略。可以使客户选择最适合的解决方案,对开发商全力支持。平行服务器通过使一组结点共享同一簇中的工作来扩展服务器的能力,提供高可用性和高伸缩性的簇的解决方案,获得最高认证级别的iso标准认证,多层次网络计算,支持多种工业标准,可以用odbc,jdbc,oci等网络客户连接,较复杂,同时提供gui和命令行,在windows和unix下 *** 作相同,如果windows不能满足需要,用户可以把数据库移到unix中。其 *** 作和设置比较复杂,适用于有一定 *** 作经验的用户。

db2 能在所有主流平台上运行(包括windows)。最适于海量数据。DB2在企业级的应用最为广泛, 在全球的500家最大的企业中,几乎85%以上用DB2数据库服务器,而国内到97年约占5%。

总之,各个主流数据库各有优势与侧重,对于初学者而言,建议从MS SQL Server 着手学习,众所周知,微软的东西么,简单易懂。

该选择哪个开源数据库

如果打算为项目选择一款免费、开源的数据库,那么你可能会在MySQL与PostgreSQL之间犹豫不定。MySQL与PostgreSQL都是免

费、开源、强大、且功能丰富的数据库。你主要的问题可能是:哪一个才是最好的开源数据库,MySQL还是PostgreSQL呢?该选择哪一个开源数据库

呢?

在选择数据库时,你所做的是个长期的决策,因为后面如果再改变决定将是非常困难且代价高昂的。你希望一开始就选择正确。两个流行

的开源数据库MySQL与PostgreSQL常常成为最后要选择的产品。对这两个开源数据库的高层次概览将会有助于你选择最适合自己需要的。

MySQL

MySQL相对来说比较年轻,首度出现在1994年。它声称自己是最流行的开源数据库。MySQL就是LAMP(用于Web开发的软件包,包括

Linux、Apache及Perl/PHP/Python)中的M。构建在LAMP栈之上的大多数应用都会使用MySQL,包括那些知名的应用,如

WordPress、Drupal、Zend及phpBB等。

一开始,MySQL的设计目标是成为一个快速的Web服务器后端,使用

快速的索引序列访问方法(ISAM),不支持ACID。经过早期快速的发展之后,MySQL开始支持更多的存储引擎,并通过InnoDB引擎实现了

ACID。MySQL还支持其他存储引擎,提供了临时表的功能(使用MEMORY存储引擎),通过MyISAM引擎实现了高速读的数据库,此外还有其他的

核心存储引擎与第三方引擎。

MySQL的文档非常丰富,有很多质量不错的免费参考手册、图书与在线文档,还有来自于Oracle和第三方厂商的培训与支持。

MySQL近几年经历了所有权的变更和一些颇具戏剧性的事件。它最初是由MySQL

AB开发的,然后在2008年以10亿美金的价格卖给了Sun公司,Sun公司又在2010年被Oracle收购。Oracle支持MySQL的多个版

本:Standard、Enterprise、Classic、Cluster、Embedded与munity。其中有一些是免费下载的,另外一

些则是收费的。其核心代码基于GPL许可,对于那些不想使用GPL许可的开发者与厂商来说还有商业许可可供使用。

现在,基于最初的

MySQL代码还有更多的数据库可供选择,因为几个核心的MySQL开发者已经发布了MySQL分支。最初的MySQL创建者之一Michael

"Monty"

Widenius貌似后悔将MySQL卖给了Sun公司,于是又开发了他自己的MySQL分支MariaDB,它是免费的,基于GPL许可。知名的

MySQL开发者Brian Aker所创建的分支Drizzle对其进行了大量的改写,特别针对多CPU、云、网络应用与高并发进行了优化。

PostgreSQL

PostgreSQL标榜自己是世界上最先进的开源数据库。PostgreSQL的一些粉丝说它能与Oracle相媲美,而且没有那么昂贵的价格和傲慢的客服。它拥有很长的历史,最初是1985年在加利福尼亚大学伯克利分校开发的,作为Ingres数据库的后继。

PostgreSQL是完全由社区驱动的开源项目,由全世界超过1000名贡献者所维护。它提供了单个完整功能的版本,而不像MySQL那样提供了多个

不同的社区版、商业版与企业版。PostgreSQL基于自由的BSD/MIT许可,组织可以使用、复制、修改和重新分发代码,只需要提供一......>>

现在的开源图形数据库有哪些

首先是MariaDB,它是一个采用Maria存储引擎的MySQL分支版本,是由原来MySQL的作者 Michael Widenius创办的公司所开发的免费开源的数据库服务器。与MySQL相比较,MariaDB更强的地方在于它拥有更多的引擎,包括Maria存储引擎、PBXT存储引擎、XtraDB存储引擎、FederatedX存储引擎,它能够更快的复制查询处理、运行的速度更快、更好的功能测试以及支持对Unicode的排序等。

其次是rcona,它为MySQL数据库服务器进行了改进,在功能和性能上较MySQL有着很显著的提升。该版本提升了在高负载情况下的InnoDB的性能,同时,它还为DBA提供一些非常有用的性能诊断工具,并且提供很多参数和命令来控制服务器行为。

第三是Percona Server,它使用了诸如google-mysql-tools、Proven Scaling和 Open Query对MySQL进行改造。并且,它只包含MySQL的服务器版,并没有提供相应对 MySQL的Connector和GUI工具进行改进。

什么是开源数据库

开源意思是开放源代码,没有加密

开源数据库,说明这个数据库没有加密的,代码就是开放的

数据库作用都是用于动态语言开发的网站

有哪些开源的 POI 数据库

这个多了去了 ,apache 绝对是 开源里面的领头羊 for example: 分类 项目名 说明开发语言 服务器 (共20) Apache HTTP Server全球第一HTTP服务器C/C++ TomcatJava的Web服务器Java James邮件服务器Java SpamAssassin反垃圾邮件C/C++ PerlApache的...

介绍几个比较好的面向对象数据库,最好是开源的。

db4o

Java连接多个数据库有什么开源实现吗

1. 如果是 MySQL 中的多个数据据实例的话, *** 作数据库时,使用 schema.table 就可以了

2. 如果是 MySQL 数据库和其他数据库同时使用的话,需要在 Spring 中配置多个 datasource,(ITJOB)

该选择哪个开源数据库?哪一个更好

1.MySQL 5

作为当今最流行的开放源码数据库之一,MySQL数据库为用户提供了一个相对简单的 解决方案,适用于广泛的应用程序部署,能够降低用户的TCO。MySQL是一个多线程、结构化查询语言(SQL)数据库服务器。MySQL的执行性能高, 运行速度快,容易使用。

MySQL包括以下几个关键优势:

◆ 可靠的性能和服务MySQL向公众提供所有数据库服务器软件的早期版本,都是利用开放源码进行为期几个月的测试之后才发布作为生产之用。

◆ 易于使用和部署MySQL的结构体系易于定制,运行速度快,其独特的多存储引擎结构为企业客户提供了灵活性, 为数据库管理系统带来紧致性和稳定性,易于部署。

◆ 自由获得源码可以随时访问MySQL源代码,其策略确保了自由性,避免锁定某家公司或平台。

◆ 跨平台支持MySQL可用于20多种不同平台,包括主要的Linux系统、Mac OS X、Unix和Windows

◆ 可信赖的开发力量MySQL拥有大量的用户基础,也拥有高素质、有经验的开发团队。

◆ 满足企业需求MySQL结构体系简单易用,运行速度极快,能够处理企业数据库绝大多数的应用需求。

2008年12月8日,Sun Microsystems公司宣布,正式对外提供MySQL 5.1软件 —— 这是全球最受欢迎的开源数据库MySQL的一个极其重要的新版本。MySQL 5.1 GA版现通过以下三种模式提供,以满足不同用户的各种特殊需求:

◆MySQL munity Server —— Sun的MySQL 数据库的免费开源版。这一GPL许可的全功能软件的目标用户是个人技术用户,他不需要商业支持或是享有优惠的机上服务。

◆MySQL Enterprise Server —— 它作为MySQL Enterprise订购的一部分来提供,它最可靠、最安全,提供的是MySQL数据库的最新版本,其目标用户是有法人的IT用户。该模式的订户每月可收 到快速软件升级服务,每个季度可收到带有最新补丁程序的“服务包” —— 还能访问仅供预览的监测工具,享受全天候7*24的生产技术支持。

◆MySQL Embedded Server —— 这是MySQL软件的商业许可模式,让ISV和OEM将一个高速的、占用空间很小的数据库嵌入或打包到他们自己的产品中,而不需要免费的GPL许可。

2. PostgreSQL

PostgreSQL是一个功能齐全、开放源码的对象一关系性数据库管理系统 (ORDBMS)。目前,PostgreSQL的稳定版本为8.4版,具有丰富的特性和商业级数据库管理系统的特质。这是一次向高质量大型数据库管理系统 方向的飞跃。PostgreSQL是很富特色的开源数据库管理系统,其特性覆盖SQL-2/SQL-92和SQL-3/SQL-99。

◆ 丰富的数据类型PostgreSQL包括了丰富的数据类型支持,其中有些数据类型连商业数据库都不具备,比如IP类型和几何类型等。

◆ 功能全面PostgreSQL是全功能的开源软件数据库,全面支持事务、子查询、多版本并行控制系统和数据完整性检查等特性。

◆ 活跃的开发队伍PostgreSQL拥有一支活跃的开发队伍,在他们的努力下,PostgreSQL的质量日益提高,增强了人们使用PostgreSQL 的信心。

◆ 丰富的接口PostgreSQL支持几乎所有类型的数据库客户端接口。

◆ 支持多种平台PostgreSQL是目前支持平台最多的数据库管理系统之一,所支持的平台多达十几种,包括不同的系统和不同的硬件体系。

◆ 满足商用需求......>>

开源数据库MySQLMySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源...开源数据库MySQLMySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。盘点:开源社区那些免费的数据库软件MySQL为多种编程语言提供了API,包括C、C++、C#、Delphi、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。而其自身是采用C和C++编写的,使用了多种编译器进行测试,所以,MySQL能够保证源代码具有很强的可移植性。这样的一款数据库,自然能够支持几乎所有的 *** 作系统,从Unix、Linux到Windows,具体包括AIX、BSDi、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、NetBSD、OpenBSD、OS/2 Wrap、Solaris、SunOS、Windows等多种 *** 作系统。最重要的是,它是一个可以处理拥有上千万条记录的大型数据库。与此同时,MySQL也产生了很多分支版本的数据库也非常值得推荐。首先是MariaDB,它是一个采用Maria存储引擎的MySQL分支版本,是由原来MySQL的作者 Michael Widenius创办的公司所开发的免费开源的数据库服务器。与MySQL相比较,MariaDB更强的地方在于它拥有更多的引擎,包括Maria存储引擎、PBXT存储引擎、XtraDB存储引擎、FederatedX存储引擎,它能够更快的复制查询处理、运行的速度更快、更好的功能测试以及支持对Unicode的排序等。其次是rcona,它为MySQL数据库服务器进行了改进,在功能和性能上较MySQL有着很显著的提升。该版本提升了在高负载情况下的InnoDB的性能,同时,它还为DBA提供一些非常有用的性能诊断工具,并且提供很多参数和命令来控制服务器行为。第三是Percona Server,它使用了诸如google-mysql-tools、Proven Scaling和 Open Query对MySQL进行改造。并且,它只包含MySQL的服务器版,并没有提供相应对 MySQL的Connector和GUI工具进行改进。非关系型数据库NoSQL从NoSQL的字面上理解,NoSQL就是Not Only SQL,被业界认为是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储,相对于目前铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。盘点:开源社区那些免费的数据库软件当然,NoSQL也是随着互联网Web2.0网站的兴起才能取得长足的进步。关键的需求在于,传统的关系数据库在应付Web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。首先推荐的是Oracle NoSQL Database,这是一个社区版。Oracle的这个NoSQL Database, 是在10月4号的甲骨文全球大全上发布的Big Data Appliance的其中一个组件,Big Data Appliance是一个集成了Hadoop、NoSQL Database、Oracle数据库Hadoop适配器、Oracle数据库Hadoop装载器及R语言的系统。其次推荐的是Membase。Membase是NoSQL家族的一个新的重量级的成员。Membase是开源项目,源代码采用了Apache2.0的使用许可。该项目托管在GitHub.Source tarballs上,目前可以下载beta版本的Linux二进制包。该产品主要是由North Scale的memcached核心团队成员开发完成,其中还包括Zynga和NHN这两个主要贡献者的工程师,这两个组织都是很大的在线游戏和社区网络空间的供应商。并且,Membase容易安装、 *** 作,可以从单节点方便的扩展到集群,而且为memcached(有线协议的兼容性)实现了即插即用功能,在应用方面为开 发者和经营者提供了一个比较低的门槛。做为缓存解决方案,Memcached已经在不同类型的领域(特别是大容量的Web应用)有了广泛的使用,其中 Memcached的部分基础代码被直接应用到了Membase服务器的前端。通过兼容多种编程语言和框架,Membase具备了很好的复用性。在安装和配置方面,Membase提供了有效的图形化界面和编程接口,包括可配置 的告警信息。Membase的目标是提供对外的线性扩展能力,包括为了增加集群容量,可以针对统一的节点进行复制。 另外,对存储的数据进行再分配仍然是必要的。第三推荐的是Hibari。Hibari在日语中意思为“云雀”,它是一个专为高可靠性和大数据存储的数据库引擎,可用于云计算环境中,例如 webmail、SNS和其他要求T/P级数据存储的环境中。同时,Hibari也支持Java,C/C++,Python,Ruby和Erlang语言的客户端。第四推荐的是memcachedb。这是一个由新浪网的开发人员开放出来的开源项目,给memcached分布式缓存服务器添加了Berkeley DB的持久化存储机制和异步主辅复制机制,让memcached具备了事务恢复能力、持久化能力和分布式复制能力,非常适合于需要超高性能读写速度,但是 不需要严格事务约束,能够被持久化保存的应用场景,例如memcachedb被应用在新浪博客上面。第五推荐的是Leveldb。这是一个Google实现的非常高效的kv数据库,目前的版本1.2能够支持billion级别的数据量了。 在这个数量级别下还有着非常高的性能,主要归功于它的良好的设计,特别是LSM算法。LevelDB是单进程的服务,性能非常之高,在一台4个Q6600的CPU机器上,每秒钟写数据超过40w,而随机读的性能每秒钟超过10w。XML数据库的优势XML数据库是一种支持对XML格式文档进行存储和查询等 *** 作的数据管理系统。在系统中,开发人员可以对数据库中的XML文档进行查询、导出和指定格式的序列化。目前XML数据库有三种类型:XMLEnabledDatabase(XEDB),即能处理XML的数据库NativeXMLDatabase(NXD),即纯XML数据库HybridXMLDatabase(HXD),即混合XML数据库。关系数据库中的第一代XML支持是切分(或分解)文档,以适应关系表格或将文档原封不动地存储为字符或二进制大对象(CLOB 或 BLOB)。这两个方法中的任一种都尝试将XML模型强制转换成关系模型。然而,这两种方法在功能和性能上都有很大的局限性。混合型模型将XML存储在类似于DOM的模型中。XML数据被格式化为缓冲数据页,以便快速导航和执行查询以及简化索引编制。在这里,首要要推荐的XML数据库是Sedna。它号称是一款原生态的XML数据库,提供了全功能的核心数据库服务,包括持久化存储、ACID事务、索引、安全、热备、UTF8等。实现了 W3C XQuery 规范,支持全文搜索以及节点级别的更新 *** 作。第二款XML数据库是BaseX。这款数据库用来存储紧缩的XML数据,提供了高效的 XPath和XQuery的实现,同时,它还提供一个前端 *** 作界面。盘点:开源社区那些免费的数据库软件第三款推荐的是XMLDB。这款数据库使用了关系型数据库来存储任意的XML文档,因为所采用的存储机制,所以文档的搜索速度特别快,同时执行XSL转换也相当快。XMLDB同时还提供了一个PHP的模块,可以应用在Web应用中。第四块推荐的是X-Hive/DB。它是一个为需要高级XML数据处理和存储功能的软件开发者设计的强大的专属XML数据库。X-Hive/DB Java API包含存储、查询、检索、转换和发表XML数据的方法。与传统关系型数据库相比,XML数据库具有以下优势:第一,XML数据库能够对半结构化数据进行有效的存取和管理。如网页内容就是一种半结构化数据,而传统的关系数据库对于类似网页内容这类半结构化数据无法进行有效的管理。第二,提供对标签和路径的 *** 作。传统数据库语言允许对数据元素的值进行 *** 作,不能对元素名称 *** 作,半结构化数据库提供了对标签名称的 *** 作,还包括了对路径的 *** 作。第三,当数据本身具有层次特征时,由于XML数据格式能够清晰表达数据的层次特征,因此XML数据库便于对层次化的数据进行 *** 作。XML数据库适合管理复杂数据结构的数据集,如果己经以XML格式存储信息,则XML数据库利于文档存储和检索可以用方便实用的方式检索文档,并能够提供高质量的全文搜索引擎。另外XML数据库能够存储和查询异种的文档结构,提供对异种信息存取的支持。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/sjk/9796915.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存