AIOps 一场颠覆传统运维的盛筵
1660
2022-11-01
OceanBase 和 TDSQL 的差异和对比
在语法上,OceanBase 更接近Oracle,是 Oracle-Like 的产品,如果从Oracle数据库迁移出来,OceanBase 会更具优势和亲和力。从性能上看,OceanBase 的全缓存模式比传统数据库效率更高,但每天需要固定时间刷缓存,成本上 OceanBase 相对更高,蚂蚁的服务标准对标 Oracle 的。腾讯的 TDSQL 是MySQL流派的产品,算是 MySQL 加中间件的实现。其语法支持和Oracle的差异较大,复杂查询支持弱。早前 OceanBase 不支持死锁检测,TDSQL支持跨节点两语句、或更多语句的死锁检测。不支持死锁检测,表示死锁后只能等待超时,影响很大。腾讯的TDSQL设计了华陀与扁鹊两套强有力的管理平台,提供了强大的监控、自治、管理、运维分析能力。从分析sql性能,慢语句查询,到节点问题发现与自动切换,主备切换,节点扩展等工作,都可以通过管理台来完成,为系统稳定运行提供了强有力的支撑保障能力。运维管理台的自动化处理能力,只要少量运维人员,即可运维大量服务器。新一代的核心系统,其原型设计,在交易型已经不再使用存储过程,所以交易层面,所做的工作就是进行SQL的适配改写。SQL改写是基础,是首先要完成的,主要有函数替换和语法替换。在这部分工作完成后,基本可以进行交易的试跑。初期,确实发现性能不尽如人意。经过对一个帐务类交易的一周的集中分析与优化,最终使性能达到预期。所以SQL适配的第二部分工作,就是效率优化,这部分内容更多,持续时间也更长。性能存在问题的地方,主要是联表查询,联表查询优化的关键,则在于分区键shardkey的设计。另外,日终跑批处理,原设计确实仍有使用存储过程,这部分则仍靠应用的拆分,将存储过程通过应用、临时表来完成相关工作。使用分布式数据库要转换思路,不再或少用复杂sql,通过合理的表结构的全局设计,将语句简单化,才能适配。如果应用在交易层都大量使用存储过程,那进行数据库的替换,确实将比较困难。
发表评论
暂时没有评论,来抢沙发吧~