OceanBase 和 TDSQL 的差异和对比

网友投稿 1660 2022-11-01

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

OceanBase 和 TDSQL 的差异和对比

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

上一篇:【中培课堂】浅论HTML5为Java开发带来的5大利好
下一篇:Java程序员需要注意的五大Docker误区
相关文章

 发表评论

暂时没有评论,来抢沙发吧~