这星期出差开会,特别是周四周五的两天会,上午都是8点半到12点半的快节奏,所以也没有时间思考写文章的事情。不过这几天和同行、友商、原厂的交流,用一个很俗不过十分贴切的词来说:“收获满满”,用另外一句俗语说是:“脑洞大开”。今天下午在北京参加一个类似的闭门会,应该还可以收获很多。脑子里的东西满了,自己的思路也会多起来。原本我周末是不写技术性的文章的,今天早餐后到外面走走。对北京的深秋缺乏准备,穿着单薄的衣服走了二十分钟就有点受不了了。不过在这二十分钟里,思考了一个问题,回到酒店就迫不及待地写了下来。有时候一些想法不及时记录一下,很快就会湮灭在我50多岁,已经有些健忘的脑海里了。
最近这段时间我一直断断续续的思考了数据库的辨识度问题,这些问题在我脑子里也只是模模糊糊的影子,在上海的两天会议中我也不断的在思考这个问题,昨晚到北京后和两个数据库原厂的朋友吃饭的时候,也在探讨这个问题。今天早上在寒风中,我似乎想得更清楚了。
据最新的数据,现在已经有285个国产数据库产品了,似乎这个数字比今年6月底要略少一些,不知道是统计口径的差异还是因为有些国产数据库厂商已经在这场群雄逐鹿中出局了。在芸芸众生之中,如何能让普罗大众记住你的名字呢?说实在的,从2017年到现在,我关注过的国产数据库产品接近70个了,仔细分析过的有三十多个,我们团队测试过的也有二十多个了。不过对于这些数据库,大多数我都记不太清楚他们的名字,也不清楚某些数据库名字背后的团队。这里面一个很大的原因是这些数据库产品太缺乏辨识度了。
我觉得一个数据库产品必须要有自己的标签,要有自己的品牌特征,要有一提起某个数据库马上能够在用户脑子里产生共识的地方。否则这个数据库产品就很可能泯然众人矣。这种标签必须是在某个产品的内核中存在的东西,而不是硬造出来的。另外一方面哪怕你的产品在某方面很不错,但是你给它打的标签不合适,那么也很难形成营销的优势。举个例子,在Oracle 23C预览中有个功能是对微服务的支持。这个功能虽然也很不错,但是对于这些年已经烂大街的“微服务”这三个字,恐怕还很难一下子让人高看这个功能。最近的宣传资料里,这个功能被重新包装了,包装成了“二元性视图”,是不是高大上了很多。再自己看看二元性视图的定义:“数据的最佳存储方式是关系型存储,但是开发人员和业务人员最能理解和使用的数据是文档型的,比如JSON格式。因此Oracle还是用关系型的方式来存储数据,但是可以为开发人员与业务人员提供JSON风格的视图,一致性的二元性视图弥合了数据使用与存储的鸿沟。”。是不是一个功能,用不同的表述方式,给人的印象就完全不同了。
从Oracle这个产品的发展来学习学习Oracle是如何给自己打标签的。先来看看Oracle的版本。在Oracle 8i之前,Oracle数据库都是采用传统的编号模式的,那时候Oracle也还没有在数据库领域一统江湖,面临众多挑战。1997年6月,Oracle推出了第一个对象关系型数据库 Oracle 8.0,以迎合当时正在兴起的JAVA等对象编程语言。不过1997年已经是互联网爆发的前夜了,因此Oracle 果断的在一年后的1998年7月推出了8.0的第二个版本,不过版本号变成了8i,这个i代表了Internet,因为98年第一波互联网高潮已经如火如荼了。继承者是千禧年推出的9i。当我们认为Oracle会推出10i的时候,Oracle把数据库版本号改成了10g,因为2003年是第一次互联网高潮后的恢复期,i已经不那么吃香了,网格计算正在兴起。于是有了10g/11g。12c不用我解释了,这个沿用到今天的版本号代表了近些年的热点。明年23c要正式上市了,不过这个23c的c不仅仅代表了Cloud或者说已经不想代表Cloud了,因为云已经烂大街了。23c的正式名称为Oracle Converged Database,Oracle又率先玩起了融合数据库了。融合了文档、图、向量等数据库特性的数据库,并且可以用MongoDB的API直接操作Oracle数据库,这个功能是不是很玄?Converged这个标签已经被Oracle先占用了。
国产数据库的标签大多数不明显,大部分都在模仿Oracle,因此同质化严重。大多数数据库厂商在介绍自己的数据库产品的特点的时候,甚至只能用相类似的技术之间的差异来做区分。比如说我们的副本一致性选举算法是用PAXOS而不是用RAFT,可能大多数用户都不清楚PAXOS和RAFT有啥区别,在我眼中,似乎也不应该有太大的区别。给自己的数据库产品打上这样的标签其实没太大的用处。这远没有当年Oracle为了让自己的集群技术区分于IBM HACMP、HP MC SERVICE GUARD等HA技术而把OPS改为Real Application Cluster(RAC)这样的标签高明。
在同质化严重的国产数据库中,其实也是可以通过标签来强化自己的辨识度的。比如现在很多用户一提到达梦,就会想到与Oracle的兼容性极强。还有一部分用户会提起达梦可能购买了Oracle 9i的源代码,而不是自主研发的这个故事来。实际上这个购买源代码的故事应该是达梦一种营销手段,通过这种自污,一方面可以加深Oracle兼容性极强的标签,另外一方面可以让用户感到更可靠。
还有一个挺有意思的数据库是崖山数据库(YashanDB),前阵子看到一个微信群里在讨论这个数据库,有人认为崖山数据库这个 名字不吉利,这么不吉利的数据库谁会去用呢?我觉得崖山是一个很好的产品标签。在不同的人眼里,崖山有很多种含义。在宋少帝陵寝同城的企业,体现了企业的地域特点。崖山,伶仃洋、钓鱼城等品牌又突出了一种倔强和坚持。十多年前与樊院士有过一面之缘的我也认识几个崖山的研发同学,从他们的经历上我更能理解崖山这两个字后面的含义。最重要的时候,哪怕一些年轻的DBA不喜欢崖山这个名字,但是很多具有采购决策权的领导可能是对崖山有些亲切感的人。不管你如何看待崖山这个数据库产品名,但是这个名字让你对这个数据库的关注度高了不少,因此在近300个数据库产品中,崖山虽然是个后来者,但是产品的传播速度和广度甚至比一些10年前就出生的数据库都要高,这是一个成功的数据库标签。
数据库的标签与辨识度不仅仅是起个名字那么简单,其内在特质必须与标签相吻合,才能有长期的效果。因此今天我所说的辨识度不仅仅是个名字或者文案,更多的是数据库能够满足用户需求的特性。只有真正的做好了对客户有帮助的功能,才能更好的让自己的产品有辨识度。
,