在现代企业技术世界里,开源软件已牢固地确立了自己作为不可忽视的,最大力量之一的地位。由于开源运动的出现,推动了几十年来的一些最著名的技术发展。
不难理解为什么:尽管基于Linux的开源网络标准可能不像专有选项那样受欢迎,但这是来自不同制造商的智能设备可以相互通信的原因。另外许多人同意,开源开发所产生的应用程序要优于专有的应用程序,这就是为什么有可能使用开源数据库开发您喜欢的工具(无论是开源软件还是专有软件)的原因之一。
像任何其他类别的软件一样,开源数据库管理系统的功能和特性可能会相差很大。简而言之,并非所有开源数据库管理系统都是平等的。如果要为公司选择一个开放源数据库,则必须选择一个用户友好,可以随组织发展并提供足够安全功能的数据库。
考虑到这一点,我们对开源数据库及其各自的优缺点进行了概述,但是很抱歉,我们不得不省略一些最常用的数据库。值得注意的是,MongoDB最近更改了其许可模式,因此它不再是真正的开源。从业务角度来看,此决定可能是合理的,因为MongoDB已成为事实上的数据库托管解决方案,已有近27,000家公司使用它,但这也意味着MongoDB不再被视为真正的开源系统。
此外,自从收购MySQL以来,Oracle几乎杀死了该项目的开源性质,可以说,几十年来,它一直是开源数据库的首选。但是,这为其他真正的开源数据库解决方案提出了挑战的空间。
PostgreSQL
没有PostgreSQL的开源数据库的清单是不完整的,PostgreSQL一直是各种规模企业的首选解决方案。甲骨文收购MySQL可能在当时具有良好的商业意义,但是云存储的兴起意味着数据库已逐渐受到开发人员的青睐。
尽管PostgreSQL已经存在了一段时间,但MySQL的相对衰落使它成为最常用的开源数据库的有力竞争者。由于它的工作原理与MySQL非常相似,因此喜欢开源软件的开发人员正在大量转换到PostgreSQL。
优点
缺点
MariaDB
MariaDB是MySQL的真正开源发行版(在GNU GPLv2下发行)。它是在甲骨文收购 MySQL 之后创建的,当时一些MySQL的核心开发人员担心甲骨文会破坏其开源哲学。
MariaDB的开发目的是尽可能与MySQL兼容,同时替换几个关键组件。它使用一个存储引擎Aria,该引擎既充当事务引擎又充当非事务引擎。一些人甚至猜测,在MariaDB出现分歧之前,Aria将在将来的版本中成为MySQL的标准引擎。
优点
缺点
SQLite
由于许多流行的Web浏览器,操作系统和移动电话采用了SQLite,因此SQLite可以说是世界上使用最广泛的数据库引擎。最初是作为MySQL的轻量级分支开发的,与许多其他数据库不同,它不是客户端服务器引擎,而是将完整的软件嵌入每个实现中。
这创造了SQLite的主要优势:在嵌入式或分布式系统上,每台机器都承载数据库的整个实现。因为它减少了系统间调用的需要,所以可以大大提高数据库的性能。
优点
缺点
哪个开源数据库最好?
最终,您对开源数据库的选择将取决于您的业务需求,尤其取决于系统的大小。对于小型数据库或使用量有限的数据库,请使用轻量级的解决方案:它不仅可以加快实施速度,而且系统的复杂程度较低,这意味着您将花费更少的时间进行调试。
对于大型系统,尤其是在成长中的企业中,请花一些时间来实现更复杂的数据库,例如PostgreSQL。通过消除随着业务增长而重新编码数据库的需求,最终可以节省您的时间。