设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 开源资讯 查看内容

SQLite vs MySQL vs PostgreSQL:数据库比较

2014-4-2 09:54| 发布者: joejoe0332| 查看: 5313| 评论: 0|原作者: 孙镜涛|来自: InfoQ

摘要: 自1970年埃德加·科德提出关系模型之后,关系型数据库便开始出现,经过了40多年的演化,如今的关系型数据库种类繁多,功能强大,使用广泛。面对如此之多的关系型数据库,我们应该如何权衡找出适合自己应用场景的数据 ...


MySQL

  MySQL是最受欢迎的一个大规模数据库服务器。它是一款功能丰富的开源产品,许多网站和在线应用程序都使用该数据库。MySQL的入门相对比较简单,开发者可以从Internet上获取到大量与该数据库相关的信息。

  注意:鉴于该产品的受欢迎程度,使用该数据库可以让我们受益于大量第三方应用程序、工具以及集成类库。

  尽管MySQL并没有尝试实现完整的SQL标准,但是它依然为用户提供了大量功能。作为一个独立的数据库服务器,应用程序需要与MySQL守护进程通信才能访问数据库——不同于SQLite。


MySQL支持的数据类型

  MySQL支持的数据类型包括TINYINT、SMALLINT、MEDIUMINT、INT或INTEGER、BIGINT、FLOAT、DOUBLE、DOUBLE PRECISION、REAL、DECIMAL、NUMERIC、DATE、DATETIME、TIMESTAMP、TIME、YEAR、CHAR、VARCHAR、TINYBLOB, TINYTEXT、BLOB, TEXT、MEDIUMBLOB、MEDIUMTEXT、LONGBLOB, LONGTEXT、ENUM、SET。


MySQL的优点

  • 易用

    很容易安装。第三方工具,包括可视化工具,让用户能够很容易入门。

  • 功能丰富

    MySQL支持关系型数据库应该有的大部分功能——或者直接支持、或者间接支持。

  • 安全

    支持很多安全特性,有些非常高级,并且是内置于MySQL中。

  • 可扩展也非常强大

    MySQL能够处理大量数据,并且在需要的时候可以规模化使用。

  • 快速

    放弃某些标准让MySQL能够非常高效、简捷地工作,因而速度更快。


MySQL的缺点

  • 已知限制

    MySQL从一开始就没有打算做所有事情,因而它在功能方面有一定的局限性,并不能满足一些先进应用程序的要求。

  • 可靠性问题

    MySQL对某些功能(例如引用、事务、审计等)的实现方式使得它与其他的关系型数据库相比缺少了一些可靠性。

  • 开发停滞

    尽管MySQL依然是一款开源产品,但是自从它被收购之后人们就对其开发进展有很多抱怨。需要注意的是有一些基于MySQL的、完整集成的数据库在标准的MySQL之上附加了其他价值,例如MariaDB。


何时应该使用MySQL

  • 分布式操作

    如果SQLite不能满足你的需求,那么将MySQL引入到开发栈中,就像任何其他独立的数据库服务器一样,它能够给你带来大量的操作自由度以及一些先进的功能。

  • 高安全性

    MySQL的安全机制通过一种简单的方式为数据的访问和使用提供了可靠的保护。

  • 网站和Web应用

    尽管有一些约束,但是绝大部分网站和Web应用都可以简单地运行在MySQL上。相关的灵活可扩展的工具非常易于使用和管理——事实证明这些工具在长期运行时非常有用。

  • 定制解决方案

    MySQL有丰富的配置项和运行模式,如果你需要一个高度量身定制的解决方案,那么MySQL能够非常容易地尾随并执行你的规则。


何时不应该使用MySQL

  • SQL遵从性

    因为MySQL并没有打算实现完整的SQL标准,所以它并不完全符合SQL。如果你可能需要与这样的关系型数据库集成,那么从MySQL切换过去可能并不容易。

  • 并发性

    尽管MySQL和一些其他的存储引擎能够非常好地执行读操作,但是并发读写可能会有问题。

  • 缺少功能

    MySQL缺少某些功能,例如全文本搜索。



酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部