Home Database Mysql Tutorial MySQL5、PostgreSQL8和Oracle10g的初步比较

MySQL5、PostgreSQL8和Oracle10g的初步比较

Jun 07, 2016 pm 04:04 PM

这是我在安装和开始使用Oracle 10g, PostgreSQL8 ,以及MySQL 5时做出的比较。我从以下三种艺术形态来比较一下三种类型的数据库:商业vs.学术vs.因特网模型。这是从一个想要安装数据库并对其进行学习的初级使用者的角度做出的比较。我试图以家庭或者小型商业

这是我在安装和开始使用Oracle 10g, PostgreSQL8 ,以及MySQL 5时做出的比较。我从以下三种艺术形态来比较一下三种类型的数据库:商业vs.学术vs.因特网模型。这是从一个想要安装数据库并对其进行学习的初级使用者的角度做出的比较。我试图以家庭或者小型商业用户的视角来进行说明。

完全大揭密:我非常倾向于Oracle,并且真的希望没有其他的任何产品能够真正与之抗衡。

许可费用:我不想要卷入开源和资源保密的争论中去。Oracle是一个商业的数据库,要想使用就必须交纳许可费用。MySQL 和 PostgreSQL则是开源项目。Oracle为你提供了免费的开发许可证,用来试验并创建原型。

配置:我使用的是一台较老的机器,内存256兆,硬盘40G,CPU是633Mhz 的赛扬。操作系统是Windows2000专业版。我想要在低端配置上进行安装,以便于衡量对于家庭用户类型的安装的性能。

操作系统:我选择在Windows下面进行比较,因为我相信这仍然是新近使用数据库的人们的最常见的平台。我的意思是人们在家里进行安装。对于新的公司用户来说,他们就无须对操作系统或者数据库进行选择,当然这个比较也就没有意义了。

版本:

PostgreSQL 8.0——PostgreSQL 8.0是一款非常新的产品。我选择8.0是因为它是最新的版本,并且它很本来就支持Windows。这是第一个不需要模拟器或者第三方重新编译的真正支持Windows的版本。

MySQL ——MySQL 5.0也是一款非常新的产品。实际上,我使用的版本v5.0.4是一款beta版。我对于应该选择稳定的v4还是beta版的v5犹豫了一阵子。最后我选择v5是因为v4无法与PostgreSQL 或者 Oracle 进行竞争。V4没有存储过程、触发器、视图等。没有上述特性,我认为它不具有竞争者的资格,而v5则支持上述特性。

Oracle 10g——这是Oracle的最新版本,去年发布的。我认为,Oracle 10g是数据库重的黄金标准。然而,我还是认为它太过昂贵,并且在产品环境需要相当的知识才能对其进行维护。

得分指标:

文档和入门支持

易于安装

易于检验安装是否成功

非管理员用户的创建

运行第一个查询的时间

资源需求

得分:我给每一个指标打一个从1到10的分数,10表示最好或者最高。

文档和入门支持

PostgreSQL ——我找到了它对以前很多版本的支持(在Linux, Cygwin等环境下),但是对Windows的支持却只有8.0。PostgreSQL 文件管理网站,http://www.postgresql.org/docs/,提供了非常好非常完整的文档。我认为,过去PostgreSQL的一个长处就是它的文档。

这个网站包括了非常好的安装文档。然而,安装后的文档和入门文档就非常有限。我希望他们能够及时改变这种状况。

我在google上查询了“PostgreSQL入门”,获得上千个点击,但是几乎都是版本7的。PostgreSQL 有一些Usenet新闻组支持,但是我发现他们不是很活跃。

PostgreSQL 文档得分:5

MySQL ——因为v5是如此的新,以至于现在还没有很多的文档。满世界都是MySQL v3和v4的文档。查看Amazon 或者BN.com ,MySQL 似乎是相当多的较小的因特网和面向java的公司的选择。

因为v5是beta版本,我不会给这个指标打分,因为文档会在发布的时候给出。V4拥有令人惊讶的文档,我也非常期望v5在发布产品的时候能够拥有同样多的文档。我根据v4的文档给出得分。

我在google上查询“MySQL入门”,获得了数百万的点击,几乎都是v4的。我没有找到针对MySQL 的Usenet 新闻组支持,但是我发现comp.databases 组中发表了一些对MySQL 的支持。

MySQL 文档得分:8

Oracle ——Oracle ,作为一个商业产品,它拥有一大批全职的技术编辑。每个特性都有说明,并且许多特性都有自己的手册。Oracle提供的安装文档非常不错,但是缺点就是它是由Oracle专用的第三方网站组成的。文档,和文档入口一样,都非常成熟。

除了针对每个操作系统的安装文档之外,Oracle还提供了一个《2天成为数据库管理员》的指南。这个文档对于新用户来说是不可缺少的。

我在google上搜索“Oracle入门”,可以查到数百万个点击。Oracle还拥有鲁棒的Usenet 新闻组支持。

Oracle文档得分:10

易于安装

PostgreSQL

我以前没有在Cygwin(一种用于Windows的Unix环境)之上使用过PostgreSQL 。我对于安装赶到非常惊讶。它运行起来非常自然,没有丝毫纰漏。安装过程也非常快。

PostgreSQL 的安装是最快的。根据文档描述,你可以在没有管理权限的情况下进行安装。因为这是支持Windows(没有Cygwin)的第一个PostgreSQL 版本,我想要测试一下服务支持。PostgreSQL 作为服务安装,在机器重启之后可以没有问题的启动。

PostgreSQL 安装得分:10

MySQL

我过去构建了一个网站,主要用于自己娱乐,使用了MySQL 作为数据库。我使用的技术是Java/Apache/MySQL 。根据已往的经验,我十分期望MySQL 可以在安装方面胜出。然而,MySQL 是惟一一个在安装过程中失败的。我执行了清除,然后重新运行安装程序。又失败了。我再次清理,重新启动电脑,然后重新运行安装程序。这次成功安装。我不确定是什么引起了错误。它隐藏得很深,但是它导致了数次的失败。然而,我可以强制通过。记住,这只是一个beta版本。

MySQL 还可以作为服务进行安装,在机器重启之后没有错误的启动。当它运行正确的时候,安装进行得也很快。

MySQL 安装得分:5

Oracle

Oracle再一次证明了它是一个非常成熟的产品。在三者当中,Oracle是唯一一个不需要管理员权限就可以安装的。这个选项非常好。

并且,它确实非常容易安装。我没有碰到错误。Oracle也是惟一一个在安装的最后提示我按下一步按钮的。这个方法对于新用户来说非常有用,它几乎不需要任何努力。所有的数据库都应该提供这种支持。

实际上,Oracle有一个诟病就是它的安装花费的时间。这对于家庭用户来说确实是一个问题。有好几次,我都怀疑我的机器挂掉了,因为我在很长一段时间内没有得到任何的反馈。

Oracle安装得分:7

易于检验安装是否成功

要验证安装是否成功有一点困难,但是上述三种数据库都提供了数据访问工具。我根据提供的文档中的指示,在三种环境都中可以访问到服务器。

以上三种数据库的验证得分:10

非管理员用户的创建:

PostgreSQL :PostgreSQL 使用了标准的CREATE USER语法,我可以轻松地执行这个任务。文档可以指导用户通过这个任务(出于安全的需要)。

PostgreSQL 创建用户得分:10

MySQL :在v5版本中也可以使用CREATE USER语法。以前发布的版本则不可以。因此,文档是不完整的;不能明显地看出是否可以使用CREATE USER。对于新用户,这有点令人困惑。

MySQL 创建用户得分:7

Oracle:Oracle 使用标准CREATE USER语法,我能够轻松地执行这个任务。文档可以指导用户完成这个任务。

Oracle创建用户得分:10

运行第一个查询的时间

上述三种数据库文档集都提供了连接并运行第一个查询的指南。

上述三种数据库的第一个查询得分:10

资源需求:

PostgreSQL ——我对于PostgreSQL 的最小资源需求感到十分吃惊。我进行了一些测试,例如在远程连接的时候打开网络浏览器和MS-Word ,可以看到我的测试机器上面没有收到任何影响。

我没有找到最小的硬件需求,但是旧机器上的256兆内存看起来足够了。

PostgreSQL 资源得分:10

MySQL ——MySQL 的资源需求非常小是众所周知的。这就是它的一个最大的卖点,并且一直如此。我进行了与在PostgreSQL上面进行的同样的测试,MySQL 执行得与PostgreSQL 一样好。

非常奇怪的是,我也没有找到MySQL 的最小硬件需求,但是旧机器上面的256兆内存看起来是足够了。

MySQL 资源得分:10

Oracle——Oracle 使用了大多数的内存,并且Oracle 10g使用得比以前的版本还多。实际上,它最好运行在512兆内存的机器上,我推荐1G的内存。

在测试机上,仅是Oracle的启动就花了很长时间。当我打开Word,内存开始不断地交换和停滞。开启了多个远程连接之后,数据库开始停顿。Oracle可以安装并运行在256兆内存的机器上,但是我不推荐。

Oracle资源得分:3

那么综合评定如何呢?下面是最终得分:

PostgreSQL: 55

MySQL: 50

Oracle: 50

那么,这就是安装和第一次使用的得分。这根本不是我期望的结果。我认为这三者得分如此的高是非常好的。我本没有期望会得到这个结果,或者是Oracle和MySQL不分胜负。我也没有预料到PostgreSQL 会成为第一名。

然而,安装只是使用数据库的一小部分。还有语言支持、管理、额外的可用特性、安全措施,以及第三方的支持。在不久的将来 ,我还会写出这些部分的比较。

Oracle 10g MySQL 5.0 PostgreSQL 8.0
文档和学习支持 10 8 5
易于安装性 7 5 10
易于检验成功安装 10 10 10
创建非admin权限用户 10 7 10
执行第一次查询的时间 10 10 10
资源占用 3 10 10

虽然postgresql的文档只得5分,不过我觉得postgreSQL官方文档也很全,只是因为还不够普及所以经验之谈得资料很少,我相信以后会多.


Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

When might a full table scan be faster than using an index in MySQL? When might a full table scan be faster than using an index in MySQL? Apr 09, 2025 am 12:05 AM

Full table scanning may be faster in MySQL than using indexes. Specific cases include: 1) the data volume is small; 2) when the query returns a large amount of data; 3) when the index column is not highly selective; 4) when the complex query. By analyzing query plans, optimizing indexes, avoiding over-index and regularly maintaining tables, you can make the best choices in practical applications.

Explain InnoDB Full-Text Search capabilities. Explain InnoDB Full-Text Search capabilities. Apr 02, 2025 pm 06:09 PM

InnoDB's full-text search capabilities are very powerful, which can significantly improve database query efficiency and ability to process large amounts of text data. 1) InnoDB implements full-text search through inverted indexing, supporting basic and advanced search queries. 2) Use MATCH and AGAINST keywords to search, support Boolean mode and phrase search. 3) Optimization methods include using word segmentation technology, periodic rebuilding of indexes and adjusting cache size to improve performance and accuracy.

Can I install mysql on Windows 7 Can I install mysql on Windows 7 Apr 08, 2025 pm 03:21 PM

Yes, MySQL can be installed on Windows 7, and although Microsoft has stopped supporting Windows 7, MySQL is still compatible with it. However, the following points should be noted during the installation process: Download the MySQL installer for Windows. Select the appropriate version of MySQL (community or enterprise). Select the appropriate installation directory and character set during the installation process. Set the root user password and keep it properly. Connect to the database for testing. Note the compatibility and security issues on Windows 7, and it is recommended to upgrade to a supported operating system.

Difference between clustered index and non-clustered index (secondary index) in InnoDB. Difference between clustered index and non-clustered index (secondary index) in InnoDB. Apr 02, 2025 pm 06:25 PM

The difference between clustered index and non-clustered index is: 1. Clustered index stores data rows in the index structure, which is suitable for querying by primary key and range. 2. The non-clustered index stores index key values ​​and pointers to data rows, and is suitable for non-primary key column queries.

MySQL: Simple Concepts for Easy Learning MySQL: Simple Concepts for Easy Learning Apr 10, 2025 am 09:29 AM

MySQL is an open source relational database management system. 1) Create database and tables: Use the CREATEDATABASE and CREATETABLE commands. 2) Basic operations: INSERT, UPDATE, DELETE and SELECT. 3) Advanced operations: JOIN, subquery and transaction processing. 4) Debugging skills: Check syntax, data type and permissions. 5) Optimization suggestions: Use indexes, avoid SELECT* and use transactions.

Explain different types of MySQL indexes (B-Tree, Hash, Full-text, Spatial). Explain different types of MySQL indexes (B-Tree, Hash, Full-text, Spatial). Apr 02, 2025 pm 07:05 PM

MySQL supports four index types: B-Tree, Hash, Full-text, and Spatial. 1.B-Tree index is suitable for equal value search, range query and sorting. 2. Hash index is suitable for equal value searches, but does not support range query and sorting. 3. Full-text index is used for full-text search and is suitable for processing large amounts of text data. 4. Spatial index is used for geospatial data query and is suitable for GIS applications.

The relationship between mysql user and database The relationship between mysql user and database Apr 08, 2025 pm 07:15 PM

In MySQL database, the relationship between the user and the database is defined by permissions and tables. The user has a username and password to access the database. Permissions are granted through the GRANT command, while the table is created by the CREATE TABLE command. To establish a relationship between a user and a database, you need to create a database, create a user, and then grant permissions.

Can mysql and mariadb coexist Can mysql and mariadb coexist Apr 08, 2025 pm 02:27 PM

MySQL and MariaDB can coexist, but need to be configured with caution. The key is to allocate different port numbers and data directories to each database, and adjust parameters such as memory allocation and cache size. Connection pooling, application configuration, and version differences also need to be considered and need to be carefully tested and planned to avoid pitfalls. Running two databases simultaneously can cause performance problems in situations where resources are limited.

See all articles