共计 1952 个字符,预计需要花费 5 分钟才能阅读完成。
导读 | 在比较开源数据库时,重要的是弄清楚企业想要从数据库中获取什么,以便做出正确的选择。 |
在过去的五年中,具有商业许可证的数据库系统开始变得没那么流行,而开源数据库的部署率总体有所上升。根据 DB-Engines 的数据,到 2021 年,在企业部署方面,开源许可证数据库管理系统已经取代其商业对手。
与大多数技术一样,选择开源数据库需要企业进行自我评估,以便为数据选择正确的选项。
开源数据库管理系统与商业数据库管理系统之间的区别在于许可证。开源数据库是开放的,并免费提供使用,而专有产品则需要从供应商处购买。
企业转向开源数据库管理系统可以降低与传统系统许可相关的成本,但可能没有供应商支持或容量。而专有的 DBMS 选项通常会为客户提供适当的支持系统。
从功能上讲,这两种类型的数据库大致相同。下面让我们看看四个常见关系数据库开源选项的对比。
MySQL 是由甲骨文支持的双重许可软件,它具有开源社区版和多个付费选项。十多年来,它一直是最受欢迎的开源数据库选项之一。这种受欢迎程度意味着有很多第三方工具和外部文档,让你可以尽可能轻松地使用此选项。
MySQL 开发人员在创建该数据库时优先考虑速度,目前 MySQL 仍然被广泛认为是最快的数据库选项之一。除速度外,MySQL 还有脚本帮助提高用户数据库的安全性。受支持的编程语言包括 C / C ++、Java、Python 和 Ruby 等。
MySQL 的缺点在于其双重许可的性质。某些功能和插件仅在专有版本中可用,对于寻求真正开源选项的企业而言,可能会感到沮丧。除此之外,MySQL 仍然是数据管理的临界标准。只要企业不需要 100% 兼容 SQL,企业就可以使用此数据库并期望获得稳定的结果。这个 DBMS 的设计者选择以速度为重点来构建 MySQL,而不是遵循 179 个功能的完整 SQL 标准。
各行各业的企业都越来越多开始部署 PostgreSQL,这个开源的对象关系数据库系统已经存在 30 多年。
PostgreSQL 在可靠性和数据完整性方面享有盛誉,并且自 2001 年以来,它一直符合 ACID。该数据库支持多种编程语言,例如.Net、C / C ++、Java、Python 等。
对于熟悉 MySQL 的企业,PostgreSQL 提供类似的体验。从技术上讲,MySQL 是开源数据库,但现在它拥有专有云源模块 (在甲骨文管理下)。这使一些开源开发人员开始寻找新的选项,而最相似选项应该是 PostgreSQL。
该数据库包含 MySQL 不具备的功能。例如,表继承,该功能使表可存在于继承为主的非循环图中,以及函数重载,该功能使一个以上的函数可具有相同的 SQL 名称,只要它们采用的参数不同。
不论其规模或所在行业,任何企业都可以使用 PostgreSQL,因为它能够处理复杂的查询和大数据集。如果你的企业希望将其部署用于复杂的分析过程,则非常适合使用 PostgreSQL。而 PostgreSQL 的缺点在于,并行化和集群等高级工具将需要第三方插件。
另一个首选的开源选项是 MariaDB,由 MySQL 的原始开发人员开发。该数据库支持多种编程语言,包括 C / C ++、Java、Perl 和 Python 等。
当你使用 MariaDB 时,你会看到频繁的安全发布,以及开发人员对维护其 DBMS 安全的承诺。除了对安全性的一般承诺外,开发人员还保证 MariaDB 将保持开源。
与 PostgreSQL 相似,MariaDB 可兼容从 MySQL 迁移,并可支持 MySQL 中常用的编程语言。这使寻求变更的企业更容易过渡。最重要的是,MariaDB 可以运行 WordPress。
MariaDB 的缺点在于,无法保证会很快发布进一步的更新和版本,而且它缺乏内置支持。
SQLite 可能是目前世界上使用最广泛的数据库引擎。SQLite 广泛应用在手机、大多数计算机、以及无数的应用程序中,它很常见,但它针对的问题与 MySQL 或 PostgreSQL 略有不同。该 DBMS 支持多种编程语言,包括 C / C ++、Java 和 Python 等。
对于在网络边缘拥有小型数据库或设备的企业,SQLite 非常适合。SQLite 可以跨系统部署,并为单个应用程序和设备提供本地数据存储。SQLite 在企业级别的缺点在于,人们对其目的的误解。它并不旨在与本文列出的较大选项的功能和特性相匹配,并且可能会使寻求高可扩展性的用户失望。如果你需要处理大量数据,则 SQLite 不是你的最佳选择。
那些需要多个用户具有特殊访问权限的应用程序也不适合使用 SQLite,因为 SQLite 可以在普通磁盘文件上读写,这意味着唯一适用的访问权限是底层操作系统中包含的常见权限。