﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-wolflion-文章分类-开源数据库</title><link>http://www.cppblog.com/wolflion/category/18468.html</link><description /><language>zh-cn</language><lastBuildDate>Tue, 10 Jan 2012 01:57:33 GMT</lastBuildDate><pubDate>Tue, 10 Jan 2012 01:57:33 GMT</pubDate><ttl>60</ttl><item><title>主流开源数据库的技术特点</title><link>http://www.cppblog.com/wolflion/articles/163901.html</link><dc:creator>lionel</dc:creator><author>lionel</author><pubDate>Mon, 09 Jan 2012 15:04:00 GMT</pubDate><guid>http://www.cppblog.com/wolflion/articles/163901.html</guid><wfw:comment>http://www.cppblog.com/wolflion/comments/163901.html</wfw:comment><comments>http://www.cppblog.com/wolflion/articles/163901.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/wolflion/comments/commentRss/163901.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/wolflion/services/trackbacks/163901.html</trackback:ping><description><![CDATA[<p><strong>2. PostgreSQL</strong></p>
<p>PostgreSQL是一种运行在Unix和Linux操作系统(在NT平台借助Cygnus也可以运行)平台上的免费的开放源码的关系数据库。最早是由美国加州大学伯克利分校开发的，开始只是作为一个演示系统发表，但是随着时间的推移，逐步分发，得到很多实际的应用，才逐步流行起来。PostgreSQ的网址是http://www.postgresql.org/，最新版本是2005年10月4日发布的8.0.4。PostgreSQL的官方发音是：Post-gres-Q-L</p><br />
<p>PostgreSQL的技术特点：</p>
<p>1. 支持SQL。作为关系数据库，它支持SQL89标准也支持部分SQL92大部分功能。 </p>
<p>2. 有丰富的数据类型。许多数据类型是一些商业数据库都没有提供的。 </p>
<p>3. 面向对象。它包含了一些面向对象的技术，如继承和类。 </p>
<p>4. 支持大数据库，它不同于一般的桌面数据库，能够支持几乎不受限制大小的数据库，而且性能稳定。 </p>
<p>5. 方便集成web，提供一些接口方便 PHP，Perl等语言操作数据库。 </p>
<p>6. 事务处理。相对一些其他免费数据库如MySQL，他提供了事务处理，可以满足一些商业领域的数据需要。 </p>
<p>7. PostgreSQL运行速度明显低于MySQL。因为MySQL使用了线程，而PostgreSQL使用的是进程。在不同线程之间的环境转换和访问公用的存储区域显然要比在不同的进程之间要快得多。</p><br />
<p><strong>3. Firebird</strong></p>
<p>2000年7月，Borland（即现在的Inprise）公司公布了其数据库产品Interbase的源代码。Firebird数据库就是从该数据库中派生出来的。当时，Interbase是与客户/服务器版本的Delphi产品捆绑在一些销售的。现在，Interbase已经变成了一只开放源码中的&#8220;火鸟&#8221;。 Firebird 网址是http://firebird.sourceforge.net/ ，最新版本是2005年8月5日发布的1.5.3。的标志是一只&#8220;火鸟&#8221;，<a href="http://www.firebirdsql.org/">http://www.firebirdsql.org/</a></p><br />
<p>Firebird的技术特点</p>
<p>Firebird相对MySQL和PostgreSQL来说比较小，其RPM版本只有3.0MB。这也使其可以称得上是理想的&#8220;嵌入式数据库&#8221;，可用于与其它应用程序服务器和应用程序捆绑。Firebird具有大部分成熟数据库所具有的功能，比如支持存储过程、SQL兼容等。如果用户有使用DB2或PostgreSQL的经验，就会发现Firebird与它们的语法非常相似，数据类型和数据处理方式也很类似。 Firebird的设计思想是小型、快速和最小化的管理。这对于需要一个数据库用于存储数据，但又不想花太多时间来调整数据性能的开发人员很适用。实际上在很多情况下，我们并不需要存储程序或复杂的表之间的关联。这时会发现Firebird在大小和功能之间找到了一个理想的平衡点。</p>
<p>现在有两个版本的Firebird服务器软件可供下载，分别是Firebird Super Server和Firebird Classic Server。简单来说，二者的区别在于设计的方法不同。Super Server使用线程同时为多个客户连接提供服务，而Classic Server使用的则是Interbase的方法，采用为每个连接提供一个独立服务器进程的方式。如果想对二者的区别有更多的了解，可查看http://www.ibphoenix.com/main.nfs?a=ibphoenix&amp;page=ibp_ss_vs_classic。对于&#8220;嵌入式数据库&#8221;的用户，这两个版本之间没有太大的区别。从理论上讲，如果应用程序的用户很多，那么Super Server将是一个较好的选择。</p><br />
<p><strong>6. SQLite</strong></p>
<p>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的标志是一只羽毛</p>
<p>SQLite的技术特点：</p>
<p>SQLite 对 SQL92 标准的支持包括索引、限制、触发和查看。SQLite 不支持外键限制，但支持原子的、一致的、独立和持久 (ACID) 的事务（后面会提供有关 ACID 的更多信息）。这意味着事务是原子的，因为它们要么完全执行，要么根本不执行。事务也是一致的，因为在不一致的状态中，该数据库从未被保留。事务还是独立的，所以，如果在同一时间在同一数据库上有两个执行操作的事务，那么这两个事务是互不干扰的。而且事务是持久性的，所以，该数据库能够在崩溃和断电时幸免于难，不会丢失数据或损坏。SQLite 通过数据库级上的独占性和共享锁定来实现独立事务处理。这意味着当多个进程和线程可以在同一时间从同一数据库读取数据，但只有一个可以写入数据。在某个进程或线程向数据库执行写入操作之前，必须获得独占锁定。在发出独占锁定后，其他的读或写操作将不会再发生。</p>
<p>总结：目前的开源数据库还不能在功能和处理能力方面追上商业级产品，但价格的侵蚀力无法回避，开源数据库迅速增长的市场份额甚至让数据库领域的三巨头，Oracle、IBM、微软都感到忐忑不安。开源数据库的用户在增长，并正在被越来越多的用户所采用。在嵌入式数据库领域，开源数据库优势更加明显。分析师称开放源码正在迅速被数据库技术所采用。开放源码&#8220;从2000年被怀疑到2005年已经发展成为全球的主流技术&#8221;。低成本甚至免费的开源数据库时代即将来临。</p><br />原文链接：<a href="http://database.51cto.com/art/200602/21631.htm">http://database.51cto.com/art/200602/21631.htm</a><br /><img src ="http://www.cppblog.com/wolflion/aggbug/163901.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/wolflion/" target="_blank">lionel</a> 2012-01-09 23:04 <a href="http://www.cppblog.com/wolflion/articles/163901.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>