数据库管理-第260期 业务向前,数据库向后(20241111)

数据库管理260期 2024-11-11

  • 数据库管理-第260期 业务向前,数据库向后(20241111)
    • 1 CRUD
    • 2 融合向前
    • 3 屎山代码
    • 总结

数据库管理-第260期 业务向前,数据库向后(20241111)

作者:胖头鱼的鱼缸(尹海文)
Oracle ACE Pro: Database(Oracle与MySQL)
PostgreSQL ACE Partner
10年数据库行业经验,现主要从事数据库服务工作
拥有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等认证
墨天轮MVP、年度墨力之星,ITPUB认证专家、专家百人团成员,数盟会长老会成员,OCM讲师,PolarDB开源社区技术顾问,HaloDB外聘技术顾问,OceanBase观察团成员,青学会MOP技术社区(青年数据库学习互助会)技术顾问
圈内拥有“总监”、“保安”、“国产数据库最大敌人”等称号,非著名社恐(社交恐怖分子)
公众号:胖头鱼的鱼缸;CSDN:胖头鱼的鱼缸(尹海文);墨天轮:胖头鱼的鱼缸;ITPUB:yhw1809。
除授权转载并标明出处外,均为“非法”抄袭

在上周末,外出参加数据库综艺(这个是首席的旧词新读,指的是在工作以外的一些数据库行业或厂商的重量级会议)之前,和移动客户深入聊了一下数据库国产化进程中的一些问题与感触,本篇做了一个小小的总结与发散。

1 CRUD

我这边在过去的2年终还是经历了很多国产数据库的试点工作,其中一些是整体统筹的,有些是业务自测的,但是给客户的直接感触就是,绝大多数国产数据库连最基本的CRUD都没有实现好,这里说的不是说这些数据库没有CRUD的功能,而是无法满足客户业务场景对性能、稳定性的需求(还可以先不谈兼容性和高可用性)。
一些源自于低负载管理类系统的案例,根本没法在负载稍微大一点、业务逻辑稍微复杂点的应用场景中复用落地,至少是需要经历较多数据库与业务代码层面的优化甚至是业务拆分才能达到预期需求的,或者是针对国产数据库的特性重构或新建业务系统。
所以对于客户来说使用国产数据库带来了以下额外成本:

  • 应用代码改造
  • 业务逻辑改造
  • 研发难度提升
  • 服务器用量上升
  • 维护压力提升

2 融合向前

对于客户来说,业务场景是在不断发展的,以最近几年流行的AI大模型为例,客户非常希望AI能够赋能于业务场景之中并带来收益。从数据库层面来看,就是要能够存储AI向量数据同时能够与原有结构或非结构化数据进行混合查询,以更加快速的方式获取更精准的结果,这样就需要数据库实现多模融合。当然也可以使用多种专用数据库构建一个较为复杂的数据库体系来支撑,只不过这也需要更多的技术投入并解决数据交互带来的精度、复杂度、传输等问题。
多模融合是已经在多款国外商业与开源数据库中实现了的功能,能给客户带来更加统一的数据库管理与使用体验,简化业务开发难度,提升数据流转与交互效率,降低维护难度与复杂度同时不少的业务之中也有落地。但是纵观当前的国产数据库,提供的功能特性相对单一且独立,一些已经有多模融合的特性的数据库但功能支持也不是太好、BUG多也没有落地。
对于客户来说,业务在不断向前发展,但是似乎,数据库的国产化却是在向另一个方向“拖后腿”,而且这个差距在短时间内是无法缩短还可能越拉越大的,这也从另一个方面让客户需要在数据层面增加更多的投入来尽可能弥合这个差距带来的问题。

3 屎山代码

在很多场合中,都听到过一些数据库从业者对Oracle的不屑,特别是对其代码量的吐槽,称其为屎山代码,又臭又长又多。但是我认为在一个优秀产品中的海量代码并不一定是累赘,举个白鳝老师提的例子,在去年PAB之后,白鳝老师单独和Oracle产品经理讨论了关于SQL执行计划变化后管理、告警的相关需求,然后Oracle在很短的时间在基于SPM的基础上完成了Real-time SQL Plan Management的新版特性,并在白鳝老师建议的基础上做到了更多的扩展,实现过程简洁而优雅。这是不是从另一个角度来看,一个管理得当的“屎山代码”,不是累赘,而是长时间业务支撑中的经验与积累,这是一笔宝贵的财富,对其进行良好的梳理,做好迭代控制,完成代码量与功能之间的平衡,才是一个优秀的系统工程产品需要做到的。
反观为什么有些人不喜欢代码多的数据库产品,一方面可能就是单纯觉得占太多空间了,另一方面可能是认为实现一些功能不需要这么多代码,当然我觉得最根本的原因还是接触的业务场景太少,压根没有那么多积累的机会。

总结

随着数据库国产化进程逐渐进入深水区,暴露出来的问题也越来越多,数据库是一个用出来的产品,需要足够的场景打磨,所以也希望大家给国产数据库更多的包容、理解与支持,在各方面做好权衡利弊。
老规矩,不知道写了些啥。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分布式----Ceph部署(上)

目录 一、存储基础 1.1 单机存储设备 1.2 单机存储的问题 1.3 商业存储解决方案 1.4 分布式存储(软件定义的存储 SDS) 1.5 分布式存储的类型 二、Ceph 简介 三、Ceph 优势 四、Ceph 架构 五、Ceph 核心组件 #Pool中数据保存方式支持两种类型&…

linux详解,基本网络枚举

基本网络枚举 一、基本网络工具 ifconfig ifconfig是一个用于配置和显示网络接口信息的命令行工具。它可以显示网络接口的P地址、子网掩码、MC地址等信息,还可以用于启动、停止或配置网络接口。 ip ip也是用于查看和管理网络接口的命令。 它提供了比ifconfig更…

组件间通信(组件间传递数据)

组件间通信(组件间传递数据) 在 Vue.js 中,组件间通信是开发者需要经常处理的任务,特别是在构建具有多层次组件的复杂应用时。根据组件之间的关系和数据流的复杂程度,可以采用不同的通信方式。以下是常用的几种组件间通信方式: …

深度学习-图像评分实验(TensorFlow框架运用、读取处理图片、模型建构)

目录 0、实验准备 ①实验环境 ②需要下载的安装包 ③注意事项(很关键,否则后面内容看不懂) ④容易出现的问题 1、查看数据并读取数据。 2、PIL库里的Image包进行读取(.resize更改图片尺寸,并将原始数据归一化处…

全球碳循环数据集(2000-2023)包括总初级生产力、生态系统净碳交换和生态系统呼吸变量

全球碳循环数据集(2000-2023) 数据介绍 PFTs_XGB FLUX 是一个基于 XGBOOST 机器学习模型的全球碳循环数据集。该数据集通过对全球植被功能类型(PFTs)的分类,结合了 FLUXNET、AmeriFlux 和 ICOS 通量站点的现场观测数据…

前端代码分析题(选择题、分析题)——this指向、原型链分析

this指向 普通函数:this 的指向由调用方式决定,可以是全局对象、调用该函数的对象,或者显式指定的对象。箭头函数:this 的指向在定义时确定,始终继承自外层函数作用域的 this,不会被调用方式影响。 var obj…

【SpringBoot】18 上传文件到数据库(Thymeleaf + MySQL)

Git仓库 https://gitee.com/Lin_DH/system 介绍 使用 Thymeleaf 写的页面&#xff0c;将&#xff08;txt、jpg、png&#xff09;格式文件上传到 MySQL 数据库中。 依赖 pom.xml <!-- https://mvnrepository.com/artifact/com.mysql/mysql-connector-j --><depende…

手动搭建 Ghost 博客

操作场景 Ghost 是使用 Node.js 语言编写的开源博客平台&#xff0c;您可使用 Ghost 快速搭建博客&#xff0c;简化在线出版过程。本文档介绍如何在腾讯云云服务器&#xff08;CVM&#xff09;上手动搭建 Ghost 个人网站。 进行 Ghost 网站搭建&#xff0c;您需要熟悉 Linux …

类型转换指令及方法调用与返回指令

我的后端学习大纲 JVM学习大纲 4.类型转换指令&#xff1a; 类型转换指令说明 ①类型转换指令可以将两种不同的数值类型进行相互转换。 这些转换操作一般用于实现用户代码中的显式类型转换操作&#xff0c;或者用来处理字节码指令集中数据类型相关指令无法与数据类型一一对应的…

【LLM Agents体验 3】利用Open-WebUI+Ollama本地部署Qwen2.5:7B大模型的安装指南

Open WebUI是一种基于 Web 的用户界面&#xff0c;用于管理和操作各种本地和云端的人工智能模型。它提供了一个直观的图形化界面&#xff0c;使用户可以方便地加载、配置、运行和监控各种 AI 模型&#xff0c;而无需编写代码或使用命令行界面。 Open-WebUI 是一款功能强大且易于…

动态规划 —— dp 问题-买卖股票的最佳时机IV

前言 在开始之前先说一下本题与 买卖股票的最佳时机Ill 的解法很相似&#xff0c;也可以去参考lll 动态规划 —— dp 问题-买卖股票的最佳时机III-CSDN博客https://blog.csdn.net/hedhjd/article/details/143671809?spm1001.2014.3001.5501 1. 买卖股票的最佳时机IV 题目链接&…

软件测试学习记录 Day1

根据黑马程序员最新版的软件测试课程所做的笔记&#xff0c;需要原件后台私信&#xff1a; 练习提取测试点&#xff1a; 博主的答案&#xff0c;有不一样看法的可评论区讨论&#xff1a;

Kafka 快速入门(一)

1.1安装部署 1.1.1 集群规划 bigdata01bigdata02bigdata03zookeeperzookeeperzookeeperkafkakafkakafka 1.1.2 集群部署 官方下载地址&#xff1a;http://kafka.apache.org/downloads.html 检查三台虚拟机的zk是否启动&#xff1a;zkServer.sh start 默认启动方式 1)解压…

wordpress实用功能A5资源网同款 隐藏下载框 支付框 需要登录才能查看隐藏的内容

实用功能 隐藏下载框 支付框 需要登录才能查看隐藏的内容, 个人网站防天朝申查实测有效 。 登录前&#xff0c;未登录&#xff1a; 登录后&#xff0c;已登录&#xff1a; 功能说明 该代码段的主要功能是隐藏支付框并为未 登录用户显示一条提示信息&#xff0c;告知他们需要…

SQL HAVING子句

SQL 是一种基于“面向集合”思想设计的语言。HAVING 子句是一个聚合函数&#xff0c;用于过滤分组结果。 1 实践 1.1 缺失的编号 图 连续编号记录表t_seq_record 需求&#xff1a;判断seq 列编号是否有缺失。 SELECT 存在缺失的编号 AS res FROM t_seq_record HAVING COUN…

TCP可靠连接的建立和释放,TCP报文段的格式,UDP简单介绍

TCP连接的建立&#xff08;三次握手&#xff09; 建立连接使用的三报文 SYN 报文仅用于 TCP 三次握手中的第一个和第二个报文&#xff08;SYN 和 SYN-ACK&#xff09;&#xff0c;用于初始化连接的序列号。数据传输阶段不再使用 SYN 标志。 SYN 报文通常只携带连接请求信息&a…

【量化交易笔记】14.模拟盘效果

说明 距离上一篇的量化文章有一段时间&#xff0c;应小伙伴要求&#xff0c;继续写下去&#xff0c;我思考了一下&#xff0c;内容有很多&#xff0c;绝大多数是研究的过程&#xff0c;并且走的是弯路&#xff0c;分享了怕影响大伙&#xff0c;之前因为行情不好&#xff0c;研…

FPGA实现以太网(二)、初始化和配置PHY芯片

系列文章目录 FPGA实现以太网&#xff08;一&#xff09;、以太网基础知识 文章目录 系列文章目录一、MDIO协议介绍二、PHY芯片管脚以及结构框图三、MDIO帧时序介绍3.1 MDIO帧格式3.2 MDIO写时序3.3 MDIO读时序 四、PHY芯片常用寄存器描述4.1 基本模式控制寄存器&#xff08;0…

【韩老师零基础30天学会Java 】06章 数组、排序和查找

第六章 数组、排序和查找 1. 数组&#x1f6a9;&#x1f6a9; 数组介绍&#xff1a; 数组可以存放多个同一类型的数据。数组也是一种数据类型&#xff0c;是引用类型。即:数组就是一组数据。 示例&#xff1a; double [] hens{3,5,1,3,4,2,50,7.8,88.8,1.1,5}; double totalWe…

基于Zynq FPGA对雷龙SD NAND的测试

文章目录 SD NAND特征SD卡简介1.2 SD卡块图 SD卡样片Zynq测试平台搭建测试流程SOC搭建软件搭建 测试结果总结 SD NAND特征 SD卡简介 雷龙的SD NAND有很多型号&#xff0c;在测试中使用的是CSNP4GCR01-AMW与CSNP32GCR01-AOW。芯片是基于 NAND FLASH 和 SD控制器实现的SD卡。具…