这几年我们陆续上了达梦,gbase,tdsql等数据库。目前在一些非核心的外围业务试点。使用过程中也遇到了很多问题,比如首次上线并发过2万直接瘫痪。数据库bug多,每周都在更新补丁。某些性能故障如幽灵一样,偶发性,始终定位不到原因。所以想了解一下大家在使用信创数据库中有没有一些好的最佳实践可以分享的。
看了你的问题,我感觉选型逻辑面临考验;
1." 这几年我们陆续上了达梦,gbase,tdsql等数据库 " 先要看哪一家经历过海量数据、高并发场景的考验,温水里长不出牛的数据库产品。所以产品比较,一定要看头部厂商的产品。即使不选头部,也要了解头部厂商。
2.在国产化替代中,谁最早提出、谁走的最深最远,我们都知道2010年左右,阿里提出去IOE,业界影响深远。
3.银行业选型要有自己的主见,避免被应用开发商绑架,股权投资、利益是背后的驱使。
4.基于mysql数据库的改造的数据产品,存在明显的问题:
*单库容量,各种书里、材料上有些 3.5TB是上限
*看到阿里写的书里,500万行要分表,不然就有性能问题
*Mysql单行事务只有128个槽位,如果存在业务上的行热点,那玩不转了
选型的逻辑很重要,莫名其妙当了白老鼠;如果是边缘业务那还好,核心业务那付出代价太大了;
收起数据库替代需要优先基于应用进行适配,poc不是过场,应用所需的功能、性能、高可用、管理、运维等用户关注的特性需要在适配阶段就发现问题。前面的工作做完了要做7*24稳定性、容灾rto、rpo方面的测评,一切都得基于行里的基础设施现状和规划,没办法完全相信其他所谓最佳实践。
收起好奇啥数据库每周更新补丁啊?
可能是你们选型过于草率了,没有做好poc,没有做好压力测试就上线了。
现在的国产数据库厂商服务能力差,所以服务还是要靠自己,上线前的压力测试一定要做充分。
另外做好故障处理的应急演练,避免出了问题,手足无措。
和成熟的商业数据库或者开源数据库不同的是,绝大多数国产数据库都处在一个告诉发展的阶段。一个大版本更新的周期可能比过往的产品要短,功能的演进性能的提高稳定性的进步,都肉眼可见中发生着。成熟的数据库我们可以按照一锤子买卖的思维去做,安装一个稳定版本,没有大的问题,一直用到这个系统下线,这也就诞生了无数上一部分提及的老旧系统。
然而在替换国产数据库时,这种思维就没法再继续用下去了。稳定阶段还没到来,后续有了大的版本更新,就要做出抉择,是否要升级迭代。这就给了DBA一个难题,需要较为准确判断这个数据库产品的生命周期和开发阶段。之前的经验,我会选择先看看各家官网或者推送,然后和相关厂商的人去聊一下,你们产品未来两三年年,有什么相关计划?有没有什么大的架构调整或者大的功能变动?
接下来对这些未来可能做的大动作做个评估,会不会对自己未来的数据库管理产生重大影响使得不得不升级。假如我现在使用一个稳定版,如果半年后就必须做升级,那这个时间点,我宁可选择不替换而再等等。每次数据库升级迁移,一定都是要鸡飞狗跳一下,基础设施、应用运维、业务部门都要一起折腾,不是换个磁盘插根内存条那么简单。
在这方面我比较保守,之前替换的时候,先选择了一个稳定版确认了在未来一年内,不会有哪个迭代对系统特别重大的变化后,才选择进行测试,测试环境又用了三个月才进入生产环境。在生产环境刚开始运行的过程中,确实遇到了些许问题,一方面是经验不足,另一方面是产品的某些方面和宣传有出入。经过开发人员的继续开发,平稳跑到现在。
收起