zoukankan      html  css  js  c++  java
  • 2021年9月数据库流行度排行解读:聊聊国产数据库可以从哪方面做到以用户为中心

    2021年9月墨天轮国产数据库流行度排名TiDB依然状元,Oceanbase位居探花,达梦牢居榜眼。对于第一名,我们没有任何意外,毕竟TiDB在市场打磨了相当长的时间。而第二名虽然今年6月1日正式开源,起步虽晚但是后居而上,因为它本身就是很有实力的,最令人侧目是第三位达梦。不紧不慢,继8月开始稳追TiDB、Oceanbase身后。

    我与达梦还有一段情结,见暗恋达梦那十年 。以前在饭桌上,当时我们话题聊的是国产和国有企业,我们说联想做了一个决定 ,国退民进,终于摆脱流程冗杂效率低的毛病决心践行,加上国家的一点扶持最后起来了,勉强排入世界500强。对于与达梦同行的另一个小伙伴gbase,我们都误读gbase是基于informix的基础上更换LOGO和界面,没有自己的原始创新和技术积累。没有想到多年以后,带有国企性质的达梦也上来了。

    不管是国企还是民企,不管是国产还是外产,产品都要面对用户,今天我们可以聊聊数据库公司从哪些因素可以做到以用户为中心,增强综合竞争力。我归纳为三个方面,天下本是同根生,三个方面也可以概括人的综合发展,第一个无非是增强自己的专业水平,把你喜欢的东西练到极致 ,弹琴也好、跳舞也好、唱歌也好,都有无限的提高空间。第二点是商业变现,商品在解决用户的问题和满足业务场景的同时,也带来相应的财富。第三点是影响力和知名度,让用户知道你这个东西能用而且还用的好。

    提升产品水平

    提升数据库产品的水平,最好对数据库有一个本质的认识。什么是数据库?数据库是一款可以存储数据,存储后还能能被高效访问的产品,那么kafka等消息队列算不算数据库,不算!kafka支持存储数据,也支持访问数据,但是它不支持数据对象的修改。多个用户对同一个数据库对象进行操作,抽象上分为先读后读、先读后写、先写后读、先写后写,而kafka不支持修改,不存在先读后写、先写后读、先写后写的风险操作,所以kafka等消息队列根本不算数据库。

    支持对数据对象修改是数据库的基本特征之一,面对数据修改带来的风险,恰似地铁、飞机的安检。过去,我们坐地铁是不需要安检,买通行、进闸、上车,效率很高。但是也不知道哪一天,突然有一个悲观厌世的人书包是满满一袋汽油,所以有了安检。飞机的安检就更加严格了,因为在空中如果有意外,基本逃生机会是0,不光行李要过激光射线检查,还有人工进行全身检查,登机前也要检查。

    以上是数据库的强事务和弱事务介绍,多个用户对同一时间对数据对象进行修改,必须设定规则约束。言外之意,人命关天,牺性了性能代价换取高程度的安全,这是值的。但是类似飞机的安检制度就不能应用地铁上面,那么大的人流量,如果严格约束访问的话,地铁系统早就瘫痪了。

    数据库的科研工程技术探究包括但不限如何充分利用内存、如何设计优美的数据结构、如何优美的调度、如何方式批量提交、信息之间如何传递、如何高效压缩存储数据、如何大事务更快的达成一致性等等。数据库的关键核心技术包括有并发控制、事务管理、索引、存储引擎、SQL优化器、容灾和恢复技术等等。

    TiDB开始默认是乐观锁,在 v3.0.8 及之后版本默认使用悲观事务模式,也支持切换到乐观锁。产品的提升可以满足用户的多样化需求的功能。提升产品的过程本质是好奇心驱动的自然科学研究,对事物本质的深刻认识,在产品上有属于自己的关键核心技术。个人认为TiDB的基于raft进行数据同步、Oceanbase的paxos协议、以及的100%自主可控代码可以算是产品的科技亮点。

    产品更伟大的提升,区块链数据库、量子数据库、6G数据库都可能是下一代的数据库技术,这是大公司才有实力做研发或者国家科研单位有能力做的事。对于商业公司太远,我们近的能做的,例如华为云GaussDB(for openGauss)最近研发推出重大内核新特性——Ustore存储引擎,可以在数据频繁更新场景下性能依旧稳如泰山,使业务系统运行更加平稳,适应更多业务场景和工作负载,特别是对性能和稳定性有更高要求的金融核心业务场景。

    需要注意,产品提升不是增加几个新功能函数或命令行使用,创新有核心创新和边缘创新,产品提升更偏向核心创新

    洞悉用户需求

    关注用户的需求,因为知道用户要什么,贴近市场的变化,才能行动上做出正确的判断和选择。产品提升做得再好,也要把它卖出去获取利润。有一个产品做的不错公司叫做SUN,旗下产品有 Solaris、Java还有MySQL,曾经它与微软竞争,与IBM在市场上撕杀,与Oracle在众多产品线上分庭抗礼,可惜后面还是给市场淘汰了。需求是一个很大的话题,真正的用户需求是把市场的期望转化成为商业驱动的产品创新、产品运营、产品管理等。

    每位用户对数据库需求不同, 有些用户就希望快速生成数据库,马上用做应用开发。MySQL就是这样起家的,由于它的方便快捷,简单几步就完成安装使用,很快就在市场收获一批用户。简单就是美,TiDB在安装使用了也下了功夫,专门 成立了一个项目TiUP,使得体验TiDB集群变成触之可及的事。但是这个过程并不容易,在此之前,TiDB是通过ansible集群管理软件实现的,ansible是脍炙人口的一套集群管理软件,TiUP比ansible在安装上更减少了工作量,并提升了效率,直接把ansible变成过去式。

    OceanBase专注数据库,但是沟通交流的通讯工具至今对公众开放的是钉钉,目前没有微信交流群,也就是说OceanBase与钉钉都绑定在一块,可能对OceanBase的发展不友好 ,毕竟有些用户真的没有使用钉钉的习惯。2020年11月25日,达梦发布发布四款自主研发的国产数据库新品包括有达梦数据共享集群(DMDSC)、达梦启云数据库(DMCDB)、梦图数据库(GDM)、达梦新一代分布式数据库。虽然姗姗来迟,但是聊胜于无,目前达梦基本具备适配数据库市场需求的产品线。

    上面我说的用户需求是冰山一角,但凡做好 "关注需求"的企业都是深植行业数十年的,非常理解用户。国际标准化组织(ISO)把ANSI SQL作为国际标准,统一开发标准和建设参考,Oracle SQL弥补不足,另辟蹊径增加了更多的功能和符合业务的函数,这也是很多公司不能去O的原因。

    从另一个角度理解,数据库只是盛放数据的一个容器工具,用户的元需求关心的是他的数据资产应该管理设计,根本不关心它是放在什么地方,这是为什么要深入了解客户的业务原因。因为你了解它,所以它乖乖进你的盆里面。

    深耕服务能力

    以上总结,提升产品水平是人类好奇心探索自然科学的行为表现,而关注市场需求是商业价值驱动的行为表现,那么深耕服务是培养用户忠诚度、打造品牌生态建设的行为表现

    数据库面向的受众群体是开发人员或者数据管理员,TiDB成立TUG 社区,对TUG做出极大贡献的人评级为MVA 和 MOA。MVA 和 MOA 是 TUG 社区的技术先锋和意见领袖,享受极高的社区荣誉;同时,TUG 也将向 MVA 和 MOA 回报以 TiDB 的原厂技术支持、人脉拓展、个人影响力提升等多种权益,同时TiDB也推出产品相关认证,并制定各种培训课程和产品知识教学。不定时组织数据领域相关的大赛,产品深入互联网企业扎根,实事求是面对问题。这一切在工程师建立良好的口碑。

    OceanBase走的方向TiDB大致相似,搞社区、立标兵、产品问题管理、事件跟踪,但是毕竟刚开源不多久,群众基础没有TiDB深厚。以前,OceanBase发行过一本书叫《大规模分布存储系统》,里面探索各种分布式系统的技术原理和实现,TiDB也组织广大开源社区人写了一本TiDB的书,但没有出版。在教育行业,把学习国产数据库从娃娃做起就只有华为和达梦。

    华为开源后出了三本书《openGauss数据库核心技术》、《华为openGauss开源数据库实战》、《数据库原理及应用:基于GaussDB的实现方法》,面向计算机专业学生如何学习数据库,在高校就让学生知道有国产数据库存在。达梦也出了产品及平台相关的书,但是销量不大,说明达梦相关社区服务建设还不够。但是,近年达梦在国产数据库的占有量第一,应用在30多个领域,面向企业做的还挺不错的,但是面向个人开发者还需要提高。

    总结

    今年2021年我们有三位宇航员上天了,代表中国重工业技术和水平到了一个新的层次。近年,由于美国和中国冷战,尤其是中兴事件后,国家重视卡脖子问题,政策上支持基础软件建设,希望借助国家利好东风和政策红利,我们所有的国产数据库产品会越来越好。提升产品水平体现一个公司的核心技术的专业水平,洞悉用户需求体现一个公司的用户市场把握能力,深耕服务程度更是体现一个公司的综合服务能力。如果三者俱备,笔者认为你的排名想降也难。


    相关阅读

    声明:本文为墨天轮作者 大数据模型(亨利) 的原创内容,代表作者观点。如您对上述内容有意见和建议,请在文章评论区指点和交流,或点击作者主页留言。

    原文链接:https://www.modb.pro/db/110755?0928

    墨天轮,围绕数据人的学习成长提供一站式的全面服务,打造集新闻资讯、在线问答、活动直播、在线课程、文档阅览、资源下载、知识分享及在线运维为一体的统一平台,持续促进数据领域的知识传播和技术创新。

    关注官方公众号:
    墨天轮、 墨天轮平台、墨天轮成长营、数据库国产化 、数据库资讯

  • 相关阅读:
    Java锁到底锁的到底是哪个对象?什么是锁对象
    什么是正向代理,什么是反向代理
    到底什么是线程安全
    为什么要使用接口,直接写是实现类不行吗
    Nginx配置学习(一)
    Zookeeper集群节点数量为什么要是奇数个?
    Redis 5 单实例数据迁移到Cluster
    Centos8安装Nginx1.18.0
    vmware workstation15 桥接模式互ping不通,虚机可以连通局域网其他机器解决方法
    MongoDB double类型保留2位小数
  • 原文地址:https://www.cnblogs.com/modb/p/15347698.html
Copyright © 2011-2022 走看看