SQLite 是一个类似Access的轻量级数据库系统,但是更小、更快、容量更大,并发更高。为什么说 SQLite 最适合做 CMS (内容管理系统)呢?并不是说其他数据库不好, Oracle、MySQL、SQLServer 也都是非常优秀的 DBS,只不过他们设计目标不同,特性不同,所以只有更适用某个应用场景,没有绝对的好坏之分。
我归纳的中小型站点的CMS的特点如下:
SQLite 的优点在中小网站CMS应用场景下表现突出:
SQLite的缺点在中小网站 CMS应用场景下被规避:
综上所述:在中小站点 CMS的应用场景下 SQLite 能最大限度的降低建站成本,降低维护难度,又很好得规避了自身的缺点。所以我认为未来支持 SQLite 的 CMS 系统一定会大行其道。
随着开放源代码软件的使用越来越广泛,像Linux操作系统一样,开放源代码数据库的出现也有其必然性。在当Oracle、IBM、Microsoft、 Sybase 等几大数据库厂商在数据库领域处于垄断地位的时候,出现了以MySQL、PostgreSQL为代表的开放源代码的数据库系统,推动了开源软件事业的发 展。开源数据库系统并不是一个新事物,如Postgres(PostgreSQL的前身)已经有20年的发展历史了,而著名的MySQL今年4月刚刚度过 了其10周年纪念活动。
1、MYSQL
MysQL是瑞典的T.c.X公司负责开发和维护的,它是一个真正的多用户、多线程SQL数据库服务器。MysQL是以一个客户机/服务器结构实现其功能 的,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。SQL是一种标准化的语言,它使得存储、更新和存取信息更容易。MySQL主要特 点是快速、健壮和易用。MySQL的官方发音是“My Ess Que Ell”(不是MY-SEQUEL)。目前MySQL的最新版本是5.0,MySQL的网址是:http://www.mysql.com,MySQL的 标志是一个小海豚。见图-1。
图-1 Mysql 标志
MySQL的技术特点:
1. 它使用的核心线程是完全多线程,支持多处理器。
2. 有多种列类型:1、2、3、4、和8字节长度自有符号/无符号整数、FLOAT、DOUBLE、CHAR、VARCHAR、TEXT、BLOB、 DATE、TIME、DATETIME、 TIMESTAMP、YEAR、和ENUM类型。
3. 它通过一个高度优化的类库实现SQL函数库并像他们能达到的一样快速,通常在查询初始化后不该有任何内存分配。没有内存漏洞。
4. 全面支持SQL的GROUP BY和ORDER BY子句,支持聚合函数(COUNT()、COUNT(DISTINCT)、AVG()、STD()、SUM()、MAX()和MIN())。你可以在同 一查询中混来自不同数据库的表。
5. 支持ANSI SQL的LEFT 0UTER JOIN和ODBC。
6. 所有列都有缺省值。你可以用INSERT插入一个表列的子集,那些没用明确给定值的列设置为他们的决省值。
7. MySQL可以工作在不同的平台上。支持C、C++、Java、Perl、PHP、Python和TCL API。
MaxDB是2003年SAP公司和MySQL AB公司合作之后SAP DB新的名称。MaxDB是一款重量级的、获得SAP R/3认证,适宜于联机事务处理和联机分析处理等多种业务类型的高可用性、高可靠性和极具伸缩性的数据库,支持大容量的用户和并发业务操作,采用多线程多 进程的服务器设计,支持多处理器的应用,并通过集群和热部署提供高可靠性,支持TB级的海量数据,支持企业级的数据同步和复制等复杂应用。
2. PostgreSQL
PostgreSQL是一种运行在Unix和Linux操作系统(在NT平台借助Cygnus也可以运行)平台上的免费的开放源码的关系数据库。最早是由 美国加州大学伯克利分校开发的,开始只是作为一个演示系统发表,但是随着时间的推移,逐步分发,得到很多实际的应用,才逐步流行起来。PostgreSQ 的网址是http://www.postgresql.org/,最新版本是2005年10月4日发布的8.0.4。PostgreSQL的官方发音 是:Post-gres-Q-L。 PostgreSQ的标志是一个大象,见图-2。
图2 PostgreSQL 标志
PostgreSQL的技术特点:
1. 支持SQL。作为关系数据库,它支持SQL89标准也支持部分SQL92大部分功能。
2. 有丰富的数据类型。许多数据类型是一些商业数据库都没有提供的。
3. 面向对象。它包含了一些面向对象的技术,如继承和类。
4. 支持大数据库,它不同于一般的桌面数据库,能够支持几乎不受限制大小的数据库,而且性能稳定。
5. 方便集成web,提供一些接口方便 PHP,Perl等语言操作数据库。
6. 事务处理。相对一些其他免费数据库如MySQL,他提供了事务处理,可以满足一些商业领域的数据需要。
7. PostgreSQL运行速度明显低于MySQL。因为MySQL使用了线程,而PostgreSQL使用的是进程。在不同线程之间的环境转换和访问公用 的存储区域显然要比在不同的进程之间要快得多。
3. Firebird
2000年7月,Borland(即现在的Inprise)公司公布了其数据库产品Interbase的源代码。Firebird数据库就是从该数据库中 派生出来的。当时,Interbase是与客户/服务器版本的Delphi产品捆绑在一些销售的。现在,Interbase已经变成了一只开放源码中的“ 火鸟”。 Firebird 网址是http://firebird.sourceforge.net/ ,最新版本是2005年8月5日发布的1.5.3。的标志是一只“火鸟”,见图-3。
图-3 Firebird 标志
Firebird的技术特点
Firebird相对MySQL和PostgreSQL来说比较小,其RPM版本只有3.0MB。这也使其可以称得上是理想的“嵌入式数据库”,可用于与 其它应用程序服务器和应用程序捆绑。Firebird具有大部分成熟数据库所具有的功能,比如支持存储过程、SQL兼容等。如果用户有使用DB2或 PostgreSQL的经验,就会发现Firebird与它们的语法非常相似,数据类型和数据处理方式也很类似。 Firebird的设计思想是小型、快速和最小化的管理。这对于需要一个数据库用于存储数据,但又不想花太多时间来调整数据性能的开发人员很适用。实际上 在很多情况下,我们并不需要存储程序或复杂的表之间的关联。这时会发现Firebird在大小和功能之间找到了一个理想的平衡点。
现在有两个版本的Firebird服务器软件可供下载,分别是Firebird Super Server和Firebird Classic Server。简单来说,二者的区别在于设计的方法不同。Super Server使用线程同时为多个客户连接提供服务,而Classic Server使用的则是Interbase的方法,采用为每个连接提供一个独立服务器进程的方式。如果想对二者的区别有更多的了解,可查看 http://www.ibphoenix.com/main.nfs?a=ibphoenix& page=ibp_ss_vs_classic。对于“嵌入式数据库”的用户,这两个版本之间没有太大的区别。从理论上讲,如果应用程序的用户很多,那么 Super Server将是一个较好的选择。
4. mSQL
mSQL(mini SQL)是一个单用户数据库管理系统,个人使用免费,商业使用收费。由于它的短小精悍,使其开发的应用系统特别受到互联网用户青睐。mSQL(mini SQL)是一种小型的关系数据库,性能不是太好,对SQL语言的支持也不够完全,但在一些网络数据库应用中是足够了。由于mSQL较简单,在运行简单的 SQL语句时速度比MySQL略快,而MySQL在线程和索引上下了功夫,运行复杂的SQL语句时比mSQL,PostgreSQL等都要快一些。 MSQL的网址是:http://www.hughes.com.au ,最新版本是2005年5月8日发布的3.7。MSQL的标志是一个鹿。见图-2。
图4 mSQL 标志
mSQL的技术特点:
安全性方面,mSQL通过ACL文件设定各主机上各用户的访问权限,缺省是 全部可读/写。mSQL缺乏 ANSI SQL 的大多数特征,它仅仅实现了一个最最少的API,没有事务和参考完整性。mSQL与Lite(一种类似C的脚本语言,与分发一起发行)紧密结合,可以得到 一个称为 W3-mSQL的一个网站集成包,它是JDBC、ODBC、Perl和PHP API。
嵌入式数据库
嵌入式数据库的名称来自其独特的运行模式。这种数据库嵌入到了应用程序进程中,消除了与客户机服务器配置相关的开销。嵌入式数据库实际上是轻量级的,在运 行时,它们需要较少的内存。它们是使用精简代码编写的,对于嵌入式设备,其速度更快,效果更理想。嵌入式运行模式允许嵌入式数据库通过 SQL 来轻松管理应用程序数据,而不依靠原始的文本文件。嵌入式数据库还提供零配置运行模式,这样可以启用其中一个并运行一个快照。
5. Berkeley DB
像MySQL这类基于C/S结构的关系型数据库系统虽然代表着目前数据库应用的主流,但却并不能满足所有应用场合的需要。有时我们需要的可能只是一个简单 的基于磁盘文件的数据库系统。这样不仅可以避免安装庞大的数据库服务器,而且还可以简化数据库应用程序的设计。Berkeley DB正是基于这样的思想提出来的。官方网址是:http://www.sleepycat.com/ ,最新版本是2005年8月5日发布的4.3。的标志是一只“猫”,见图-4。
图5 Berkeley DB 标志
Berkeley DB的技术特点:
Berkeley DB是一个开放源代码的内嵌式数据库管理系统,能够为应用程序提供高性能的数据管理服务。应用它程序员只需要调用一些简单的API就可以完成对数据的访问 和管理。与常用的数据库管理系统(如MySQL和Oracle等)有所不同,在Berkeley DB中并没有数据库服务器的概念。应用程序不需要事先同数据库服务建立起网络连接,而是通过内嵌在程序中的Berkeley DB函数库来完成对数据的保存、查询、修改和删除等操作。
Berkeley DB为许多编程语言提供了实用的API接口,包括C、C++、Java、Perl、Tcl、Python和PHP等。所有同数据库相关的操作都由 Berkeley DB函数库负责统一完成。这样无论是系统中的多个进程,或者是相同进程中的多个线程,都可以在同一时间调用访问数据库的函数。而底层的数据加锁、事务日志 和存储管理等都在Berkeley DB函数库中实现。它们对应用程序来讲是完全透明的。俗话说:“麻雀虽小五脏俱全。”Berkeley DB函数库本身虽然只有300KB左右,但却能够用来管理多达256TB的数据,并且在许多方面的性能还能够同商业级的数据库系统相抗衡。就拿对数据的并 发操作来说,Berkeley DB能够很轻松地应付几千个用户同时访问同一个数据库的情况。此外,如果想在资源受限的嵌入式系统上进行数据库管理,Berkeley DB可能就是惟一正确的选择了。
Berkeley DB作为一种嵌入式数据库系统在许多方面有着独特的优势。首先,由于其应用程序和数据库管理系统运行在相同的进程空间当中,进行数据操作时可以避免繁琐的 进程间通信,因此耗费在通信上的开销自然也就降低到了极低程度。其次,Berkeley DB使用简单的函数调用接口来完成所有的数据库操作,而不是在数据库系统中经常用到的SQL语言。这样就避免了对结构化查询语言进行解析和处理所需的开 销。
6. SQLite
SQLite 是 D. Richard Hipp 用 C 语言编写的开源嵌入式数据库引擎。它是完全独立的,不具有外部依赖性。它是作为 PHP V4.3 中的一个选项引入的,构建在 PHP V5 中。SQLite 支持多数 SQL92 标准,可以在所有主要的操作系统上运行,并且支持大多数计算机语言。SQLite 还非常健壮。其创建者保守地估计 SQLite 可以处理每天负担多达 100,00 次点击率的 Web 站点,并且 SQLite 有时候可以处理 10 倍于上述数字的负载。SQLite 的网址是,最新版本是2005年9月24日发布的3.2.7 。SQLite的标志是一只羽毛,见图-5。
图6 SQLite标志
SQLite的技术特点:
SQLite 对 SQL92 标准的支持包括索引、限制、触发和查看。SQLite 不支持外键限制,但支持原子的、一致的、独立和持久 (ACID) 的事务(后面会提供有关 ACID 的更多信息)。这意味着事务是原子的,因为它们要么完全执行,要么根本不执行。事务也是一致的,因为在不一致的状态中,该数据库从未被保留。事务还是独立 的,所以,如果在同一时间在同一数据库上有两个执行操作的事务,那么这两个事务是互不干扰的。而且事务是持久性的,所以,该数据库能够在崩溃和断电时幸免 于难,不会丢失数据或损坏。SQLite 通过数据库级上的独占性和共享锁定来实现独立事务处理。这意味着当多个进程和线程可以在同一时间从同一数据库读取数据,但只有一个可以写入数据。在某个进 程或线程向数据库执行写入操作之前,必须获得独占锁定。在发出独占锁定后,其他的读或写操作将不会再发生。
总结:目前的开源数据库还不能在功能和处理能力方面追上商业级产品,但价格的侵蚀力无法回避,开源数据库迅速增长的市场份额甚至让数据库领域的三巨 头,Oracle、IBM、微软都感到忐忑不安。开源数据库的用户在增长,并正在被越来越多的用户所采用。在嵌入式数据库领域,开源数据库优势更加明显。 分析师称开放源码正在迅速被数据库技术所采用。开放源码“从2000年被怀疑到2005年已经发展成为全球的主流技术”。低成本甚至免费的开源数据库时代 即将来临。
=============关于 DB2 Express-C 的好消息是对它的限制不多:没有数据库大小限制,没有自动管理或工具限制,没有内存模型限制(可以使用 64 位内存模型),等等 —— 您使用的就是纯正的 DB2。而一些 Express 竞争产品往往设置了许多限制;但是,这超出了本文的范围。
DB2 Express-C 可以在运行 Linux 或 Windows 操作系统的服务器上使用。在 IBM DB2 Express-C 下载站点 上可以找到支持平台的完整列表。
开 发人员喜欢 DB2 Express-C,因为可以使用它免费开发和部署应用程序。ISV 也喜欢 DB2 Express-C,因为可以使用它免费开发 DB2 并在他们的打包应用程序中部署和发布 DB2。请牢记,因为 DB2 Express-C 是纯正的 DB2,这意味着可以不加修改地将这些应用程序部署到任何 DB2 版本上,甚至可以迁移到 DB2 for z/OS 上(只要在编写应用程序时使用 DB2 系列 95+% 的公共 SQL API 集)。
在学术领域,教育工作者可以利用本文前面提到的 IBM 学院计划。这个计划允许他们免费使用 DB2 技术,允许他们的学生在任何课程中使用 DB2 Express-C。这些 DB2 参与者可以不受限制地开展活动,免费构建、部署和发布数据服务器。
DB2 Express-C 在 2006 年 8 月 17 日的 VARBusiness' 2006 上获得了 Best of the Midmarket 奖。您不想试试 DB2 Express-C 吗?马上 下载 一个拷贝。
许可和定价
DB2 Express-C 可以免费构建、部署和发布。因此,这个 DB2 版本没有相关联的许可费用。但是,在任何规模的服务器上,它限制 DB2 引擎只能使用最多 2 GB 的内存和 2 个处理器核心。可以在虚拟化环境中使用 DB2 Express-C。
===========================
甲骨文发放免费餐 Oracle XE版任你下
作者:IT168 电脑虎 2005-11-09
Oracle Database XE建立在Oracle数据库10g第二版的代码库之上,与Oracle数据库产品系列完全兼容。Oracle Database XE可用于32位Linux和Windows操作系统,在功能上,Oracle Database XE版相当于Oracle Standard Edition One。但由于是免费版本,在硬件上受到了一定的限制,如: