目前应用(非核心交易业务)采用的是开源mysql,计划向分布式数据库转型,请问采用哪种技术方案,兼容性最好、代码改动最小,有什么推荐,谢谢。
收起提问信息:
目前应用(非核心交易业务)采用的是开源mysql,计划向分布式数据库转型,请问采用哪种技术方案,兼容性最好、代码改动最小,有什么推荐
问题简化:
1、 应用(非核心交易业务)采用的是开源mysql,计划向分布式数据库转型?
答:
(1)从描述的应用为非核心交易业务,是单库版本MySQL数据库,用于尝试转型分布式数据库架构。
(2)本次尝试是为今后其他业务系统的数据库架构转型的产品选型尝试,则建议明确企业是否要求OLTP分布式数据库产品必须跟集中式数据库产品 在实时数据一致性、悲观锁、死锁检测、死锁解除、全局序列、全局唯一约束、事务隔离级别等是否保持一致,也即对业务系统的数据架构设计者 和 研发工程师 保持主体习惯不变。
2、 请问采用哪种技术方案 ?
答:
(1)选择何种技术方案 不是第一重要的,而是明确产品选型的目标要求为第一要素,即: OLTP分布式数据库产品必须跟集中式数据库产品 在实时数据一致性、悲观锁、死锁检测、死锁解除、全局序列、全局唯一约束、事务隔离级别等是否保持一致,也即对业务系统的数据架构设计者 和 研发工程师 保持主体习惯不变 。
(2)何种技术方案能达到产品选型的目标要求。
(3)选择的技术方案 除业务系统的设计者和研发者之外,是否在数据库运维管理方面、数据库技术知识储备、数据库人才市场上DBA招聘或培养的难易程度。
建议从上述三个维度出发,也即关心 数据架构设计者、研发工程师、数据库运维工程师。
3、 兼容性最好、代码改动最小,有什么推荐 ?
答:
(1) 代码改动最小 :就是要达到同集中式数据库MySQL/Oracle等一样效果的“ 实时数据一致性、悲观锁、死锁检测、死锁解除、全局序列、全局唯一约束、事务隔离级别等是否保持一致,也即对业务系统的数据架构设计者 和 研发工程师 保持主体习惯不变 ”
(2) 兼容性最好 :选择存储引擎依然是MySQL开源数据库 或者 直接采用InnoDB存储引擎,也即内在就是融入MySQL数据库生态的产品兼容性最好,像阿里云DRDS、热璞数据库HotDB就是把MySQL开源数据库作为存储引擎来用。
(3) 有什么推荐 :建议从企业需求维度出发,然后找3家左右分布式事务数据库厂商来测试验证,推荐找对外宣传支持上述目标要求的数据库厂商,例如:中兴GoldenDB、腾讯TDSQL、热璞HotDB、阿里云DRDS、华为DDM,MyCAT开源分布式数据库等衍生产品则因不支持分布式事务、死锁、唯一约束等功能则直接放弃。
备注:找分布式事务数据库产品厂商测试则要求可参考马上公布的金标委的金融分布式数据库检测方案,确保能判断产品是否达标,甚至某些地方更苛刻。也可以参考下信通院标准:http://www.talkwithtrend.com/Document/detail/tid/433099