Q: 除了必须要考虑的强一致性、高可用性的原则,还应考虑哪些问题?
市面上主流的分布式数据库,如OceanBase、Tdsql、TiDB、华为的高斯数据库,或者基于mysql+mycat改造的中间件型数据库,从特性上来说都可算作分布式数据库的选型范围,区别在于自主研发和自主可控能力,有的企业比较看重自主可控。
此外,还需考虑迁移改造成本。在选型时一定要考虑原数据库迁移至分布式数据库的改造成本,包括sql语句、数据迁移等方面的改造难度和改造工作量,也包括与分布式数据库匹配的硬件投入(某些分布式数据库对于硬件的要求比较高,硬件会影响数据库性能。)
以上是本人从可行性角度给出的建议。至于 强一致性、高可用性等特性,大部分分布式数据库都是具备的。
Q:在CAP定律的限制下如何取得最优解?
CAP定律的P是必然存在的,不同分布式数据库厂商对于C和A的权重比例不同,没有理论上的最优解,只有基于特定业务才能制定出更加适合该业务的解。
Q:整个改造大致需要历经几个阶段?
首先,要进行数据库的迁移改造测试,评估工作量和工作难度;然后,选择外围小型事务型系统做试点迁移,分布式数据库和原数据库做好数据同步,分布式数据库作为从,逐渐过渡至主;最后,制定规范再推广。