我为何一直选择 MariaDB

开源软件的用户不一定会分享他们的故事,这仅仅是因为他们很满意。这就是为什么我们很高兴接受数据库专家 Richard Bensley 的提议,请他分享多年来为何一直使用 MariaDB 的原因。
我与 Richard 进行了一次交流,了解到他曾以用户、客户甚至 MariaDB 员工的身份接触过 MariaDB。尽管尝试过其他新旧解决方案,但他对 MariaDB 及其背后的人们的激情从未动摇。
自 2012 年以来,Richard 一直在大型生产环境中使用 MariaDB,用于区域和国际性的金融平台、CRM 和电子商务。他向我讲述了他在无数客户那里的数据库环境经验,以及 MariaDB 如何始终证明自己是一个强大、可靠、功能丰富且简单的选项。
在听了几次一般性的解释后,我为那些从一开始就没有选择 MariaDB 而不得不扩展应用程序的人感到不寒而栗。
Richard 认为,自 MariaDB 10 发布以来,它已经证明自己不仅仅是一个分支,而且创新速度丝毫没有放缓。
以下是 Richard Bensley 亲述的为何 MariaDB 是他的首选工具的原因:
Richard Bensley:我为何一直选择 MariaDB
自 10.0 版本发布以来,我一直在生产环境中使用 MariaDB。随着对向量的支持即将到来,我更没有什么理由不使用这个星球上最灵活、最内聚的 RDBMS 了。
我说这话是什么意思?让我们从灵活性开始。多年来,我使用大量不同的硬件平台,为各种行业演示和优化了数据库工作负载。从 Raspberry Pi 到大型机数据中心,以及全球可用的云解决方案,无所不包。每一次,MariaDB 都能通过提供易于访问的可调变量和灵活的复制选项来满足需求。
那内聚性呢?很多人忽略了在满足处理主要应用的 OLTP 解决方案基本需求之外,提供合适的数据生命周期的必要性。增长是不可避免的,能够有效地扩展用于数据仓库和报告的 OLAP 服务、读/写扩展、数据合规性、归档、本地和异地备份;这一切都使用相同的工具、相同的驱动程序、相同的协议、相同的生态系统。
拥有众多存储引擎意味着服务器可以根据需要按表处理混合工作负载,或者将它们移至自己的服务器以获得更多资源并实现关注点分离;同样,使用相同的协议、相同的工具。这些迁移的表可以使用 CONNECT Engine 轻松地在同一个查询中保持连接,如果需要分片,甚至可以使用 Spider。
利用 Columnstore 在集群本地存储或任何支持 S3 协议的存储上,让那些报告和数十亿行的查询快速运行,你也可以使用 S3 协议将表数据保存在桶中。InnoDB 和 RocksDB 依然像以前一样可靠,即使 MyISAM 也以 Aria 的形式获得了显著飞跃。
MariaDB 不仅仅有存储引擎,它还拥有满足各种需求的功能
- 需要缓存?使用内存存储引擎创建一些采用 JSON 数据类型或动态列的表,或将常规表添加到动态复制过滤器中。
- 需要队列?在选择要入队和处理的行时,将 SKIP LOCKED 与 FOR UPDATE 结合使用。
- 需要多主集群或广域网复制?使用 Galera。
- 如何在一个不幸的更新或删除后回滚一个表?使用 Flashback 重放二进制日志并撤销更改。
- 想为您的客户提供多租户数据库平台?Catalogs 可以满足您的需求。
在我看来,自最初分支以来,MariaDB 的表现始终超出所有人的预期,而且每个新版本都比上一个更强大。
Richard Bensley 是 Vettabase Ltd. 的数据库顾问和开发人员。