“我们的最低需求要能替换 MySQL,满足我们现在的业务需求;此外,最好还能替换其他几个数据库。当然,成本不能增加。”李远军说。
根据上述要求,九讯云对流行的一些数据库,包括各种 RDS、TiDB、OceanBase、PostgresSQL 等进行了评估,初步选中了 OceanBase,包括开源的 OceanBase 和云数据库 OB Cloud,随后对 OceanBase 进行了充分的测试。
OceanBase 的支持力度很大,帮助我们对 OceanBase 进行了功能测试、兼容测试,最终确认能满足我们关于成本以及后续的可扩展性需求后,我们敲定使用OceanBase。
李远军介绍,OceanBase 打动他的是这些能力:
1) 多租户能力:OceanBase 支持租户间资源的灵活隔离,能够充分满足不同租户对性能与成本的需求。
2) 统一技术栈:OceanBase 全面兼容 MySQL 协议,提供 JSON、多模能力,可以帮助我们整合 MongoDB、TiDB 等不同数据库,极大地简化了系统架构,降低了运维成本。
3) 成本优化:OceanBase 的高压缩率(只要原来 1/6 左右的存储空间)大幅降低了存储成本,其分布式的架构也能够支持系统灵活扩容。
4) 部署灵活:OceanBase 是独立的第三方数据库供应商,既可以私有化部署,也提供云数据库 OB Cloud,且支持多云部署。这个能力对九机和九讯云非常关键,因为九讯云有一些客户就是私有云部署,数据库要部署在自己的数据中心。同时,客户也可能会选择不同的云服务商,而 OB Cloud 在多个云平台都可以提供服务,为九讯云提供了很大的灵活性。
2024 年下半年,九讯云的数据库替换工作正式开始,先从边缘、辅助系统开始,然后逐步推进到核心业务系统。从已完成数据库迁移的系统运行结果看,成本节约、软件架构简化、性能稳定等特点一一都得到了验证。OceanBase 的能力都没有让李远军失望。
以统一软件栈为例,九讯云原来有个应用基于文档数据库 MongoDB。由于 OceanBase 能支持 JSON 数据类型,且功能上也能替代 MongoDB,李远军果断选择从 MongoDB 迁移到 OceanBase。
“这个切换可以说皆大欢喜,开发人员只要统一用 SQL 就好,不要学 MongoDB 的语法,运维人员也不要掌握 MongoDB 的运维。我们不再为找懂 MongoDB 的人发愁了。”李远军说。