软件是新一代信息技术的灵魂,是数字经济发展的基础,是制造强国、网络强国、数字中国建设的关键支撑。2021年,工信部印发的《“十四五”软件和信息技术服务业发展规划》明确指出,要聚力攻坚基础软件,关键基础软件补短板,夯实开发环境、工具等产业链上游基础软件实力。
在此背景下,工信部开展源代码自主度测试方案,在400W+开源项目、10000W+组件数进行多维度自主度分析。核心功能包括源代码开源率分析、软件成分分析、开源安全漏洞风险分析、开源许可证合规性风险分析。天云数据公司自主研发的Hubble数据库源代码国产化率93%,系统自主研发率99.62%,是真正意义上信创数据库。
基础软件的发展已不单单是一个行业的发展,更关乎着国家产业结构转型。基础软件是支撑信息产业升级的“根技术”,且存在两个明显趋势:一是开源,二是云原生。
摒弃拿来主义,Hubble数据库系统自主研发率99.62%
根据Slintel网站的统计数据,在全球关系型数据库市场中,MySQL市场份额最高,达到43.04%,仅次于MySQL份额的便是PG。Hubble数据库源代码国产化率为93%,其开源率便是为了兼容这些开源产品而服务的。
就Hubble数据的兼容能力而言:Hubble兼容PG协议且完全兼容PG语法以及MySQL、Oracle函数。所以在SQL解析上为了提升与PG、MySQL、Oracle等兼容性,保留了部分SQL语法代码。
就Hubble数据库的系统而言:安全管理组件、容灾高可用组件、存储引擎组件、事务管理组件、控制模块组件源代码自主研发率99.62%。
而且Hubble 数据库是基于最适合云原生的 GO 语言编写,已通过逻辑计划融合 SQL、Graph、ML、3D 点云、 NL2SQL 等实现 AI-Native 数据库,支持 36 种 AI 原生算法;支持 158 种量化分析函数; 支持图逻辑计划;支持 3D 点云。
云原生时代已来,国内有几款数据库是在Go语言上做的?
我们知道,PC时代的产品语言是C/C++,C 语言的理念是信任程序员,但应对大规模问题还是会捉襟见拙;互联网时代换成了Java语言,虽然Java语言跨平台异构的能力强,但因其编码繁琐,所以运行效率很低
C语言、Java语言都是业界的主流语言,为什么天云数据会选择Go语言?在数据库产品线,天云数据团队早期沿着HBase技术路径探索。后创立天云数据公司后,面对银行A类核心系统ACID 的事务需求,以及银监会要求的两地三中心容灾要求,团队开始面向交易体系进行分布式计算的原创路径探索,Hubble数据库重写了HBase存储引擎,采用Go语言研发,更适于服务化的云原生时代。相比与C语言、Java语言,Go语言在工程化能力以及性能上都是最适合天云数据的,可以实现逻辑层、调度层、计算层、存储层的更小颗粒度的解析。天云数据就是站在Google这样巨人的肩膀上,卸掉了C语言的包袱,快速地奔跑。
简单做一个运维量评估:C/C++ 100万行代码约等于Java60-70万代码,对应到Go语言大概也就是20~30万行代码,其运维量可见一斑。
但目前整体市场上, 80%以上的产品语言是Java,能实现50%Go语言的也是凤毛麟角。Hubble 数据库100%基于GO语言编写,可编排、可调度、运维量小,适合云原生时代,弹性伸缩,按需分配。
随着云计算平台的逐渐成熟,应用上云已经成为一个不可逆转的趋势了。云目前是朝着云原生架构的方向演进的,云原生架构中有具有统治力的云原生项目都是用 Go 来构建的。因此, Go 是云计算时代的语言,它既适应于互联网应用的极速开发,又能在高并发、高性能的开发场景中如鱼得水。