数据库 频道

数据库选型是十分个性化的选择

前些年我总喜欢对别人的数据库选型评头论足,指出他们考虑不周的问题。这些年随着参与的实践活动越来越多,对这个问题的看法有了很大的转变。因为似乎我觉得大多数选型存在问题的客户,在数据库国产化替代的的道路上越走越远,信心也越来越足,也没有遇到什么特别严重的问题,都算不上选型失败。数据库国产化替代这项工作,想,都是问题,做,都有答案。

数据库选型中确实有很多技术性的因素和技巧,不过都是十分个性化的,就像穿鞋一样,有时候只有自己知道鞋磨不磨脚。只有十分了解自己的现状和目标,才能做好选型。绝对不是找个专家咨询一下就OK的。

比如我们要选可用性高的数据库,首先要知道自己的可用性目标是什么,只需要3个九的系统去追求5个9,就是一种浪费。RAC、分布式、主从复制还是RAFT复制组?同机房主备还是同城双活还是两地三中心?更高的可用性代表更高的成本和更复杂的运维。自己能够承受什么样的成本和获得什么样的可用性,这一点才是选择的关键。

性能也是如此,经常有朋友问我某个数据库的TPMC指标,我都会问他们,你们的系统是那种复杂度不高,并发超高的系统吗?回答基本上是否定的,我再问他有多少并发用户,他也回答不出来,最后我问他这个系统大概平时有多少人同时使用,他想了半天也说不清楚。最后我问他你们单位有多少人,他说大概300多人。我说那你还考虑TPMC干什么呢?性能是个性化的需求,银行要求高并发下的稳定的短延时,而保险公司的需求则是超高并发下可接受的延时,二者的数据库选型绝对是不同的。

兼容性是大家都关注的问题,不过大多数用户在考虑选型时都误解了兼容性,两个数据库比对兼容性的时候也是个性化的,并不是所有的对比项都要去对比,你根本用不上的功能,再不兼容又能如何?从自己的应用需求去比对兼容性才是合理的。兼容性的另外一个误解是只要SQL兼容就是兼容,在SQL兼容的基础上还要考虑性能的容忍度,只有性能是可接受的才是真正的兼容,你可以放心平替,不需要改写。

用自己的理解去推断别人的问题是新时代的刻舟求剑,作为每一个正在做国产化替代的用户来说,都是在做一项从来没有做过的新事情。刚开始还可以摸着前人的石头过河,而随着这项工作的深入,水可能深得见不着底了,这时候,你想摸石头也摸不着了。不管如何,你必须这么做下去。最好的做法是多看看别人怎么做的,再分析分析自己与别人的现实差异,探索一条自己的国产化替代之路来。别人不一定靠得住,自己把能力提升上去了,才是这项工作的最大保障。

0
相关文章