极米科技的核心业务部署在公有云上,数据库以 MySQL 为主,拥有 100 多个 MySQL 的 RDS。随着业务的增长,单 RDS 节点的存储容量逼近数据库的上限,不得不扩容,同时,RDS 的成本也持续增长。极米科技决定对 MySQL 数据库进行升级替换。
“替换 MySQL 对极米科技而言,是一次勇敢的尝试,要突破极米科技的舒适圈,同时也是对未来发展的深思熟虑。”极米科技软件与创新产品线高级架构师施刘凡如是说。
施刘凡在极米科技工作多年,从最基础的系统安装做起,逐步成长,从事核心业务系统的开发,到今天参与到极米科技的 IT 系统顶层设计。在施刘凡看来,这个成长的过程就是自己不断突破舒适圈的过程,正如今天的极米科技在数据库的升级上一样。
随后极米科技开始了新数据库的选型工作。施刘凡介绍,在数据库的选型过程中,极米科技主要有三个方面的考量:
1. 成本。要降低总体拥有成本,这是极米科技在这次新数据库选型工作的一个大前提。
2. 性能。性能满足业务需求是一个基本要求。特别是考虑到此前极米科技的数据库已经出现了上亿记录的单表,后来不得不通过分库分表来满足查询性能的需求。
3. 兼容性。鉴于原来的业务系统都是面向 MySQL 开发的。如果新数据库的语法和 MySQL 有很大差异,必然会带来大量的软件开发和测试成本。
施刘凡表示,在迁移过程中,极米科技秉持技术中立原则,力求减少对特定数据库中间件的依赖,同时控制成本。
“我们要做的,不仅是跳出 MySQL 的舒适区,还要实现成本效益的最大化。”
基于这三个要求,极米科技进行了广泛的数据库选型和多方面的测试,最后选定了 OB Cloud。
施刘凡介绍,极米科技的测试表明,OB Cloud 的 SQL 与 MySQL 兼容性非常好,应用系统基本做到了无修改。而且,OB Cloud 能兼容 PL 对象和绝大多数 SQL 对象。在性能方面,OB Cloud 也有明显优势,以单表索引扫描为例,在相同实例规格下 OB Cloud 几乎是 MySQL 吞吐量的 10 倍。