对Oracle 、SQL Server、MySQL、PostgreSQL数据库优缺点分析 (2)

5. MySQL 能够提供很多不同的使用者界面,包括命令行客户端操作,网页浏览器,以及各式各样的程序语言界面,例如 C++,Perl,Java,PHP,以及Python。你可以使用事先包装好的客户端,或者干脆自己写一个合适的应用程序。MySQL可用于 Unix,Windows,以及OS/2等平台,因此它可以用在个人电脑或者是服务器上。


缺点

1. 不支持热备份。

2. MySQL不支持自定义数据类型

3. MySQL最大的缺点是其安全系统,主要是复杂而非标准,另外只有到调用mysqladmin来重读用户权限时才发生改变。

4. MySQL对存储过程和触发器支持不够良好。

5. 尽管 MySQL 理论上仍是开源产品,也有人抱怨它诞生之后更新缓慢。然而,应该注意到有一些基于 MySQL 并完整集成的数据库(如 MariaDB),在标准的 MySQL 基础上带来了额外价值。

6. MySQL对XML支持不够良好

何时使用 ?

1. 分布式操作:

当你需要的比SQLite可以提供的更多时,把MySQL包括进你的部署栈,就像任何一个独立的数据库服务器,会带来大量的操作自由和一些先进的功能。

2. 高安全性:

MySQL的安全功能,用一种简单的方式为数据访问(和使用)提供了可靠的保护。

3. Web网站 和 Web应用:

绝大多数的网站(和Web应用程序)可以忽视约束性地简单工作在MySQL上。这种灵活的和可扩展的工具是易于使用和易于管理的——这被证明非常有助于长期运行。

4. 定制解决方案:

如果你工作在一个高度量身定制的解决方案上,MySQL能够很容易地尾随和执行你的规则,这要感谢其丰富的配置设置和操作模式。

何时不用 ?

1. SQL 服从性:

因为 MySQL 没有[想要]实现 SQL 的全部标准,所以这个工具不完全符合SQL。如果你需要对这样的关系数据库管理系统进行整合,从MySQL进行切换是不容易的。

2. 并发:

即使MySQL和一些存储引擎能够真地很好执行读取操作,但并发读写还是有问题的。

3. 缺乏特色:

再次提及,根据数据库引擎的选择标准,MySQL会缺乏一定的特性,如全文搜索。

PostgreSQL PostgreSQL是一个自由的对象-关系数据库服务器(数据库管理系统),支持大部分 SQL标准并且提供了许多其他现代特性:复杂查询、外键、触发器、视图、事务完整性、MVCC。同样,PostgreSQL 可以用许多方法扩展,比如, 通过增加新的数据类型、函数、操作符、聚集函数、索引。免费使用、修改、和分发 PostgreSQL。 优点 

1. PostgreSQL 是一个开源的,免费的,同时非常强大的关系型数据管理系统。

2. PostgreSQL 背后有热忱而经验丰富的社区,可以通过知识库和问答网站获取支持,全天候免费。

3. 即使其本身功能十分强大,PostgreSQL 仍附带有许多强大的开源第三方工具来辅助系统的设计、管理和使用。

4. 可以用预先存储的流程来程序性扩展 PostgreSQL ,一个高级的关系型数据库理应如此。

5. PostgreSQL 不只是一个关系型数据库,还是一个面向对象数据库——支持嵌套,及一些其他功能。

缺点 

1. 对于简单而繁重的读取操作, 超过了 PostgreSQL 的杀伤力,可能会出现比同行(如MySQL)更低的性能。

2. 按给出的该工具的性质,从普及度来说它还缺乏足够后台支撑,尽管有大量的部署——这可能会影响能够获得支持的容易程度。

何时使用?

1. 数据完整性:

当可靠性和数据完整性是绝对必要而无需理由时,PostgreSQL是更好的选择。

2. 复杂的自定义过程:

如果你需要你的数据库执行自定义过程,可扩展的PostgreSQL是更好的选择。

3. 整合:

在将来,如果可能要把整个数据库系统迁移到另一个适当的解决方案(例如Oracle)中,PostgreSQL对于这种切换将是最兼容和易于操作的。

4. 复杂的设计:

相比其他的开源和免费的 RDBMS(关系数据库管理系统)实现来说,对于复杂的数据库设计,PostgreSQL提供了大部分的功能和可能性,同时并没放弃其他有价值的地方。

何时不用?

1. 速度:

如果你需要的只是快速的读取操作, PostgreSQL 不是为此而准备的工具。

2. 简化体制:

除非你需要绝对的数据完整性,原子性,一致性,隔离性,耐久性,或复杂的设计,PostgreSQL 对简化体制来说是杀手。

3. 复制:

除非你愿意花不少时间,精力和资源,否则对于那些缺乏数据库和系统管理经验的人来说,实现与MySQL的(主从)复制可能不容易。

摘:

为了说明PostgreSQL的功能,我下面简要对比一下PostgreSQL数据库与MySQL数据库之间的差异:

我们先借助Jametong翻译的"从Oracle迁移到Mysql之前必须知道的50件事",看一看如何把Oracle转到MySQL中的困难:

50 things to know before migrating Oracle to MySQL

by Baron Schwartz,Translated by Jametong

1. 对子查询的优化表现不佳.

2. 对复杂查询的处理较弱

3. 查询优化器不够成熟

4. 性能优化工具与度量信息不足

5. 审计功能相对较弱

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzgspj.html