华为推出首款全栈自主数据库 GaussDB,你怎么看?

news2024/11/28 7:30:16

鸿蒙套壳,鸿蒙套壳完了ERP套,ERP套壳,ERP套壳完了数据库套壳,数据库套壳完了……

犹记得GaussDB之前一直宣传是基于PostgreSQL研发而来,不知道今天为啥摇身一变为首款全栈自主分布式数据库了。

基于开源研发改不恶心。这个性质有点类似于深度Linux、红旗Linux、麒麟等国产桌面系统基于开源的Linux系统深度开发而来。

而且数据库这种玩法也不少,阿里的oceabase 不也是基于MySQL改来的么的,但人家可没给自己数据库这么个称呼,不打着自主研发的爱国情怀,不也做的挺好。

虽然PostgreSQL是开源数据库,国内用户可以随便改,华为肯定改动不少,甚至面目全非,但你非要说首款完全自主研发分布式数据库就恶心人了,加了这么多限制词,真的很难跟你掰扯你是不是第一,但真的太恶心了。

说的你就跟国内只有你自己做数据库似的,其他做数据库的都是啥?

数据库内核开发的技术难度很大,哪怕开发团队对内核架构与机制的制定上出现了丝毫的问题,上线后都极有可能会出现后果严重。有时一旦确定项目无法进行下去,甚至可能需要推倒重来。所以基于一款已经成熟的开源数据库进行自主研发并不可耻,国内这么做的也不在少数。

那么华为为什么选择PG而不是选择在互联网公司已经得到广泛使用的MySQL呢?

可能是华为在调研分析后看中了PG各方面优秀的特性:

代码质量高:作为学院派的代表,PG的代码简洁、规范、结构清晰,非常适合从源码级进行二次研发。相比之下,修改MySQL的代码会困难很多。

功能完善强大:PG支持的数据类型丰富(多模能力),SQL语法完善(高级SQL特性),查询优化性能强。以JSON支持为例,PG从2012年的9.2版本就已经添加了对JSON数据类型的支持,相比之下Oracle从2014年发布12c才开始支持JSON,而MySQL直到2015年发布5.7.8版本才开始原生支持JSON。以join算法为例,PG几乎支持所有的多表连接算法;以SQL为例,PG支持大多数SQL语法,相比之下MySQL支持较弱;此外PG的查询优化处理能力,例如复杂子查询等都要强于MySQL。

技术先进:PG号称是世界最先进的开源数据库,其先进性不仅体现在基本的存储、事务、查询处理等方面,更多的是体现在其新技术上,比如JIT查询计划的即时编译和外部表技术等。

扩展性强:良好的扩展性使得PG非常适合进行二次开发,例如在PG基础架构之上引入MPP框架可以构建分布式数据仓库GreenPlum(MySQL基本不适合做数据仓库);在PG上引入OpenCypher可以构建具备图数据存储和查询能力的多模数据库AgensGraph;在PG架构上通过将数据自动按时间和空间分片可以构建时序数据库Timescale。

最后说下,虽然高斯数据库基于开源的PostgreSQL而研发,但是目前肯定自研的比重已经很大,数据库的性能也很高,但就是做法有点恶心!

下面进去猜一猜环节:下一个被华为套壳的是哪个软件呢……

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/626786.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

智能设备管理系统

传统设备实施管理难点: 1、日常工作繁琐,手动纸质记录和 Excel 管理设备数据麻烦,后期难以汇总管理,且数据易丢失。 2、需核对设备巡检、保养、故障维修记录,手动更新设备状态和最近维修时间等。 3、无法实时获取设备最…

大学生网络工程想走网络安全方向该怎么规划?

明确需求,确定方向 网络安全 网络安全 是一个很广的概念,涉及的岗位也是非常多的,有安全服务、安全运维、渗透测试、web安全、安全开发、安全售前等等。可以看看下面每个岗位的要求与自身兴趣能力匹配度再决定最适合自己的方向。 渗透测试/Web安全工程师…

开启人机协作新时代:协作机器人的应用与展望

原创 | 文 BFT机器人 01 蓄势待发,产业变革新引擎 近年来,在政策扶持、资本助推和技术创新的共同作用下,产业迎来发展黄金期。日前,各行各业正经历产业智能化转型,机器人市场规模不断扩大,发展前景广阔&…

万宾建筑结构健康监测系统方案

建筑结构健康监测是现代建筑工程领域的重要措施之一。通过实时监测和评估建筑物的结构状态,可以及早发现潜在的问题,保障建筑物的安全性和稳定性。 随着城市化进程的加速和建筑规模的扩大,建筑结构的安全性和稳定性越来越受到关注。然而&…

chatgpt赋能python:Python快速打开:如何提高Python执行速度

Python 快速打开:如何提高 Python 执行速度 介绍 Python 是一种解释型语言,由于其简洁易读,广泛用于数据科学、机器学习、Web 开发等领域。然而,它的执行速度相对较慢,这通常是由于其解释器中面临的硬件资源限制以及…

如何查看docker下的mysql版本

进入运行的mysql的容器 docker exec -it mysqlserver bash 标红的位置可以是我们运行的别名,也可以为id 我们想连接mysql服务时报错了 我们看下配置文件 cat /etc/my.cnf 可以看到配置文件的sock文件位置并不在/var/lib/mysql文件夹中 这里又两种办法 1.直接修改…

JVM--方法区元空间

前言 本篇对java的JVM线程共享内存中的方法区进行系统性的讲解。 1、方法区&元空间概念 方法区是《Java虚拟机规范》中规定的一个内存区域,它用于存储已被虚拟机加载的类型信息、常量、静态变量、即时编译器编译后的代码缓存等。 元空间是方法区的实现。方法…

python基础----09-----类、对象、魔法方法、封装、继承、类型注解、多态、数据分析案例

一 初识对象 说白了就是类的实例化,类是一个抽象层的定义。 例如下面class Student就是定义的一个类,它是抽象层,然后stu_1 Student(),我们根据类创建了一个对象,就是对类的实例化,这个实例化对象我们是可…

paas云底座-数字化转型,你真的了解么

云底座是什么? 如图 底座其实就是一个基础打个比方: 把底座看成一块土地,我们在这块土地上可以盖楼房,可以挖一个游泳池,可以开一家饭店 也就是说我们这块土地可以开发很多东西言归正传 云底座其实就是数字化转型的“底…

【快速幂】-迭代法:详解

何为快速幂? 我们经常会计算:。STL中有自带的pow函数,如果当n很大的时候,那么一定会TLE。 因此,我们需要另一种求值的方法:快速幂! 快速幂有两种做法:1:递归 2…

谷歌云 | 宣布跨云互连:无缝连接到您的所有云

【本文由Cloud Ace整理发布,Cloud Ace 是谷歌云全球战略合作伙伴,拥有 300 多名工程师,也是谷歌最高级别合作伙伴,多次获得 Google Cloud 合作伙伴奖。作为谷歌托管服务商,我们提供谷歌云、谷歌地图、谷歌办公套件、谷…

1 软件测试基本概念

文章目录 课程目标1. 入门前的7个基础问题2. 软件测试基本概念2.1 需求的概念2.1.1需求的基本概念2.1.2 从软件测试人员角度看需求2.1.3 为什么需求对软件测试人员如此重要?2.1.4 如何才可以深入理解被测试软件的需求 2.2 bug的概念(了解)2.3测试用例的概念2.3.1 概…

AI读心术

近期,德克萨斯大学奥斯汀分校的神经科学家们展开了一场「AI」实验,利用人工智能聊天机器人ChatGPT,将大脑活动转化为文字信息。 参与实验的志愿者,在进行长达20小时的「训练」后,成功被「AI」识别出正在进行的活动。按…

portraiture宿主插件最新v4中文版本下载及使用教程

自拍怎么可以不修图呢?如果要修图的话,磨皮就是其中非常重要的一环。皮肤看起来细腻光滑了,整个人的颜值都会瞬间拉高。下面就让我们介绍一下磨皮用什么软件好用,什么软件可以手动磨皮的相关内容。portraiture是ps人像修图中常用的…

喜报!恭喜知了堂学员成功通过CISP-PTE证书考试

有人说,大学可以不谈恋爱,但一定要考证。 考证,是大学校园生活的关键一环。充分利用在校时间为后期就业提前储备优势,毕业后如果从事IT领域,证书就是一个高含金量的专业认证,尤其是网络安全行业&#xff0…

干货|SpringBoot-Maven与Gradle多模块搭建

比较熟悉的模式是SpringbootMaven多模块的组织方式,由于近期Gradle势力很猛,据Gradle官网给出的5种压测场景的数据来看,Gradle的处理性能确实比Maven快,所以就来体验一下Gradle怎么做多模块搭建和各种依赖的引入和查看。 对Gradl…

【unity】燧光MR设备接入极简教程

官网说明文档: https://doc.ximmerse.com/sdkconf/unityxrsdk/index.html 一、环境准备 1、Unity环境准备 配置adb环境 官网下载:https://developer.android.google.cn/studio/releases/platform-tools 找到SDK Platform-Tools下载 参照 此教程 配置ad…

vulnhub dc-9

1.信息搜集 端口 80 20 filter 存活ip 172.16.1.65 2.访问网站进行信息搜集 cms staff 寻找漏洞 登录处尝试弱口令失败,尝试sql失败 search处sql注入 3.sqlmap跑用户名和密码 注意这题两个库的用户名和密码都需要 UserDetails,Users search处是post传参&…

trace clock structure的若干方法

这里分享几个trace clock structure的方法,各有特点。 1)report_clock_qor -to FF/CK -clock $clk_name -type structure 报告的结果与innovus的clock structure报告类似,如下示例。 (H) clock_root_name # sdc中的root name (0) cts_buf: A-> Y [REF: XX/BUF_XX] [Lo…

【Android开发基础】说说模块设计(下拉刷新、图片查看、布局设计)

文章目录 一、引言二、设计1、下拉刷新(1)依赖(2)使用 2、图片需求 三、结论 一、引言 描述:设计一个简单说说功能模块需求: 1、能够下拉刷新,更新数据 2、一条说说里允许包含多张图片&#xf…