暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

我与【信创】的“那些事”...

dba悠然 2024-04-09
32


“采菊东篱下,

  悠然现南山”。

           晋·陶渊明

DBA悠然

专注数据库技术,开源信创、AI云计算.......

击关注,一路同行吧!
今天因为有你,让我元气满满!

"作者: 悠然 | 首发公众号: dba悠然(orasky666)"

<温馨提示:以下内容仅代表个人观点>


青春不打折,信仰不迷失!





     近些年,国产化信创热火朝天。随着数据库厂商们“攻城掠地”式抢夺市场,“全民信创“时代悄然而至。今天聊一下我与信创的那些事。



信创学习成本高

由于工作性质的特殊性,需要适配各种主流国产数据库。而根据权威机构统计显示,目前国内大概有300多家数据库厂商,如果要全面适配,信创数据库学习成本非常高。


值得庆幸是,目前市面上主流的国产数据库也不过来10来家,综合起来可为2大数据库类型:集中式和分布式。


关于集中式数据库

集中式数据库以达梦金仓等老牌数据库为代表,以及后起之秀的OpenGauss和yasdb等数据库。这些数据库的特点大多为pg系(关于pg/mysql优劣暂不讨论)。其中:

1.Kingbase数据库

金仓数据库源自于pg内核,每个功能及特性都非常相似,做了一些深度插件扩展定制化。

2.DM达梦数据库

达梦数据库的语法使用起来确实很像oracle(SQL引擎层),但是基于存储引擎以及Instance维护却完全不同(类似于pg),需要一定的学习成本。

3.OpenGauss/yasdb

OpenGauss/yasdb源自pg内核,yasdb在pg内核基础上进行了深度魔改定制化(据传已完全替换pg内核),使用起来几乎与oracle语法完全一样,性能/易维护性/灵活性也不输传统数据库和开源数据库。


关于分布式数据库



  1. 分布式数据库

分布式信创数据库主要以GaussDB、TiDB、TDSQL/TBase以及OceanBase等为代表。笔者亲自使用过甚至获取过相关数据库的认证,所以对于这些数据库的使用有一些心得体验。


2.分布式数据库使用场景

GaussDB主要在工行、招行、建行使用较多,先前有参与相关的项目建设;TSQL/TBase在银行领域使用较为广泛;OceanBase和TiDB主要运用在金融业。考虑到TiDB国外技术的敏感性,对于信创有一些影响。


3.分布式数据库特点

1.GaussDB个人感觉中规中矩吧,源自于PG系,继承了PG的优点以及缺点;

2.TSQL的透传功能确实不错,可以作为性能提升点,但是需要设置sharding key,也可能是业务改造适配的拦路虎,混合场景下TDSQL/TiDB DDL性能也显得有些拉。

3.OceanBase分布式集群对资源要求非常高,64C/256GB内存是最低配置(LSM-Tree/租户合并/版本冻结等),IOPS至少也要几十万才能将性能跑起来。当然,OceanBase实现了自动读写分离,可以通过后端查询到读的请求几乎一直在随机分布在Slave节点间;值得吐槽的是OceanBase的生态工具也有点拉,OMS几乎只能自己用(没有开放其他厂商数据库通道),甚至连pg作为目标端都没有适配,以至于笔者不得不使用Datax来进行数据迁移(后续专门分享)。



数据库“使用体验”

1.集中式数据库

值得一提是崖山数据库,源自深圳计算科学院,其和GaussDB有一定渊源。在某项项目测试中,笔者曾经通过TPCC测试出其性能几乎可以追平80%左右Oracle性能。同时,其oracle兼容性也是完全不输达梦等一些老牌数据库厂商的。


题外话(不会被骂吧?):信创POC环节的TPCC都存在水分,各个厂商为了展示产品性能都会使出浑身解数来展示竞争力,比如定制化表结构,固化数据写入顺序,checkpoint不落盘等等都是基操,只要能想到的,只要能提升性能的,都可以“不择手段”。


另外就是关于分布式数据库的TPCC,大部分玩法是将多个业务测试接入到整个大集群(可以创建多个独立集群租户来做测试)来累加计算的TPCC,相信有些人没想到吧。当初也是惊掉了下巴,(XXX粗话屏蔽)纳尼?还有这个玩法!!!


所以,建议别去信那些所谓分布式TPCC多么牛叉,比Oracle牛逼多少,是骡子是马,搞个单机比一比才知道。



2.分布式数据库

在分布式数据库使用体验中,大表join、超长in..list查询、频繁创建临时表/索引等ddl场景中,分布式数据库表现拉胯得几乎“团灭”:大量慢查询SQL,未经过优化的慢查询最长可达几百秒!非常之恐怖,当然仅限于特定场景下,不代表所有。


最后经过调优后,慢SQL几乎能满足1s响应。但是让人崩溃的是,业务不允许更改SQL进行优化,(XXX脏话屏蔽)这还玩个der。


当然,这些仅仅是信创业务适配的小插曲,在某些时候还有可能面临更为复杂的环境适配难题,比如分布式集群虚拟化主机带宽只有千兆,节点延迟在2000~3000ms,集群节点不断重启,节点OOM宕机,租户冻结/大小版本合并,io hang导致文件系统损坏集群起不来等等。


后记:“信创之路漫漫兮”

总体来说,相比OLTP场景,分布式数据库在OLAP+OLTP混合场景确实有些乏力;而单机数据库(PG系)的表现却相当不错。从一方面看,信创之路确实还有一段距离,或许3~5年,或许更长。不过从另一方面来看,随着国产数据库技术的不断成熟和发展,相信未来信创之路会越来越好。


END
扫码关注,元气满满!
数据库|开源信创|架构重构|DevOPS|云计算|AI



精彩回顾




oracle直方图了解多少?
云与DBA爱恨情仇的故事?
......





文章转载自dba悠然,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论