介绍怎样优先选择最适宜你的市场需求的开放源码资料库。
在现代的虚拟化控制技术领域中,开放源码开发工具早已正式成为了一股不可忽视的重要力量。借助于 开放源码运动(open source movement)的广汽,不断涌现除了很多重大的控制技术突破。
个中原因不言而喻,虽然很多基于 Linux 的开放源码网络标准可能将比不上私有供应商的所以畅销,但相同生产商的智能化设备间能互相通信,开放源码控制技术成绩斐然。当然也有不少人认为开放源码合作开发出的应用比供应商提供更多的商品更加好,所以无论怎样,采用开放源码资料库展开合作开发确实是相当有利的。
和其他类型的应用开发工具一样,相同的开放源码资料库信息系统间在机能和优点上可能将会存在着比较大的差异。换句话说,并非所有的开放源码资料库都是公平的。因而,如果要为整个组织优先选择一个开放源码资料库,所以应该重点考察资料库与否对使用者亲善、与否能持续适应项目组市场需求、与否能提供更多足够安全的机能等方面的因素。
出于这点考量,他们在这首诗中对很多开放源码资料库展开了简述和优劣对照。惋惜的是,他们必须忽视很多最常用的资料库。更为重要的是,MongoDB 前段时间更动了它的许可,因而它早已并非或者说的开放源码商品了。从商业性角度来看,那个决定是很有象征意义的,因为 MongoDB 早已正式成为了资料库代销实际上的开发工具系统,约 27000 家公司在采用它,但这也意味著 MongoDB 早已无须被视作或者说的开放源码商品。
另外,自从 MySQL 被 Oracle 全面收购之后,那个商品就早已无须具备开放源码性质了,MySQL 能说是几十年来必选的开放源码资料库。然而,这为其他或者说的开放源码资料库开发工具系统提供更多了挑战它的空间。
下面是三个值得考量的开放源码资料库。
PostgreSQL
没有 PostgreSQL的开源资料库目录肯定是不完整的。PostgreSQL 一直都是各种规模企业的必选开发工具系统。Oracle 对 MySQL 的全面收购在当时来说可能将具备一定的商业性象征意义,但随着云储存的迅速扩张,合作开发人员对 MySQL 的倚赖程度或许并比不上以前所以大了。
虽然 PostgreSQL 并非一个前段时间几年才问世的新商品,但它却是借助于了 MySQL 相对衰败的机会才逐渐正式成为最畅销的开放源码资料库之一。由于它和 MySQL 的工作方式非常相似,因而很多热衷采用开放源码开发工具的合作开发人员都纷纷转向 PostgreSQL。
优势
目前 PostgreSQL 最明显的缺点是它的核心演算法的工作效率,这意味著它的性能强于很多声称更先进资料库。这一点在处置大型数据集的时候就能很明显地体现出了,否则 I/O 处置会正式成为困局。PostgreSQL 也是最灵活的开放源码资料库之一,采用 Python、Perl、Java、Ruby、C 或者 R 都能很方便地调用资料库。作为最常用的几个开放源码资料库之中,PostgreSQL 的社区支持是做得最好的。劣势
在数据量比较大的时候,PostgreSQL 的工作效率毋庸置疑是很高的,但对于数据量较小的情况,采用 PostgreSQL 就显得比不上其他的很多工具快了。虽然拥有一个很优秀的社区支持,但 PostgreSQL 的核心文档仍然需要作出改进。如果你需要采用并行计算或者集群化等高级工具,就需要安装 PostgreSQL 的第三方插件。虽然官方有计划将这些机能逐步添加到主要版本当中,但可能将会需要再等待好几年才能出现在标准版本中。MariaDB
MariaDB 是 MySQL 的或者说开放源码的发行版本(在 GNU GPLv2 下发布)。在 Oracle 全面收购 MySQL 之后,MySQL 的很多核心合作开发人员认为 Oracle 会破坏 MySQL 的开放源码理念,因而建立了 MariaDB 那个独立的分支。
MariaDB 在合作开发过程中替换了 MySQL 的几个关键组件,但仍然尽可能将地保持兼容 MySQL。MariaDB 采用了 Aria 作为储存引擎,那个储存引擎既能作为事务式引擎,也能作为非事务式引擎。在 MariaDB 分叉出之前,就有很多人推测 Aria 会正式成为 MySQL 未来版本中的标准引擎。
优势
由于 MariaDB 频繁展开安全发布,很多使用者优先选择采用 MariaDB 而不优先选择 MySQL。虽然这不一定代表 MariaDB 会比 MySQL 更加安全,但确实表明它的合作开发社区对安全性十分重视。有很多人认为,MariaDB 的主要缺点就是它在坚持开放源码的同时会与 MySQL 保持高度兼容,这就意味著从 MySQL 向 MariaDB 的迁移会非常容易。也正是由于这种兼容性,MariaDB 也能和其他常用于 MySQL 的语言配合采用,因而从 MySQL 迁移到 MariaDB 之后,学习和调试代码的时间成本会非常低。你能将 WordPress 和 MariaDB(而并非 MySQL)配合采用从而获得更好的性能和更丰富的机能。WordPress 是最畅销的内容信息系统(Content Management System)(CMS),占据了一半的互联网份额,并且拥有活跃的开放源码合作开发人员社区。各种第三方插件在 WordPress 和 MariaDB 配合采用时都能正常工作。劣势
MariaDB 有时会变得比较臃肿,尤其是它的 IDX 日志文件在长期采用之后会变得非常大,最终导致性能下降。缓存是 MariaDB 的另一个工作领域,并没有期望中所以快,这可能将会让人有所失望。虽然 MariaDB 最初承诺兼容 MySQL,但目前 MariaDB 早已并非完全兼容 MySQL。如果要从 MySQL 迁移到 MariaDB,就需要额外做很多兼容工作。SQLite
SQLite能说是世界上实现最多的数据库引擎,因为它被很多流行的 web 浏览器、操作系统和手机所采用。它最初是作为 MySQL 的轻量级分支所合作开发的。SQLite 和很多其他的资料库相同,它不采用客户端-服务端的引擎架构,而是将整个开发工具嵌入到每个实现当中。
这样的架构让 SQLite 拥有一个强大的优势,就是在嵌入式系统或者分布式系统中,每台机器都搭载了资料库的整个实现。这样的做法减少了系统间的调用,从而大大提高了资料库的性能。
优势
如果你需要构建和实现一个小型资料库,SQLite可能将是最好的优先选择。它小而灵活,不需要费工夫寻求各种变通方案,就能在嵌入式系统中实现。SQLite 体积很小,因而速度极快。其他的很多高级资料库可能将会采用复杂的优化方式来提高工作效率,但SQLite 采用了一种更简单的方法:通过减小资料库及其处置开发工具的大小,以使处置的数据更少。SQLite 被广泛采用也导致它可能将是兼容性最高的资料库。如果你希望将应用程序集成到智能化手机上,这一点尤为重要:只要是能工作于广泛环境中的第三方应用程序,就能原生运行于 iOS 上。劣势
SQLite 的体积小意味著它缺少了很多其他大型资料库的常见机能。例如数据加密就是抵御黑客攻击的标准机能,而 SQLite 却没有内置那个机能。SQLite 的广泛流行和源码公开使它易于采用,但也让它更容易遭受攻击。这是它最大的劣势。SQLite 经常被发现高危的漏洞,例如前段时间的 Magellan。虽然 SQLite 单文件的方式拥有速度上的优势,但要采用它实现多使用者环境却比较困难。哪个开放源码资料库才是最好的?
当然,对于开放源码资料库的优先选择还是取决于业务的市场需求,尤其是系统的体量。对于小型数据库或者是采用量比较小的资料库,能采用比较轻量级的开发工具系统,这样不仅能加快实现的速度,而且由于系统的复杂程度不算太高,花在调试上的时间成本也不会太高。
而对于大型的系统,尤其是在成长性企业中,最好还是花时间采用更复杂的资料库(例如 PostgreSQL)。这是一个磨刀不误砍柴工的优先选择,能让你不至于在后期再重新优先选择另一款资料库。
via: https://opensource.com/article/19/1/open-source-databases
作者:Sam Bocetta 选题:lujun9972 译者:HankChow 校对:wxy