当前位置: 首页 > news >正文

数据库管理-第六十九期 另一种累(20230422)

数据库管理 2023-04-22

  • 第六十九期 另一种累
    • 1 国产数据库沟通
    • 2 问题
    • 3 我的建议
    • 总结

第六十九期 另一种累

Oracle 23c的相关内容先缓缓,有些数据库管理相关的还是得正式版发布后才好去做实验。这周相较于之前那种割接较多的累还有点不一样,这周陪着客户交流了大把国产数据库厂商,每次1-2个小时,需要全神贯注,协助客户提问。

1 国产数据库沟通

为啥要沟通的背景就不说了,这周以线上和线下方式沟通了人KingBase、AntDB、GoldenDB、DM、MogDB、Gbase,算上有意向还未沟通的还有GreatDB、OceanBase,和以前沟通过的TiDB、PolarDB、TDSQL等。
其中分布式占了大多数(即使现在没有也在做)。
本周沟通的除了达梦是自研的以外基本都是基于MySQL、PostgreSQL(含OpenGauss)或Informix二次开发(通俗点叫包装or套壳)的,通过单个数据库架构基本都只能实现OLTP,如果要组合OLAP或实现HTAP大多需要叠加更加复杂的架构。
下面对部分国产数据库的基本信息做个汇总:

数据库名称厂商数据库内核部署模式数据库模态
KingBase人大金仓基于PostgreSQL集中式OLTP
AntDB亚信基于PostgreSQL集中式、分布式OLTP
GoldenDB中兴基于MySQL分布式OLTP
DM达梦自研集中式、分布式OLTP
MogDB云和恩墨基于OpenGauss集中式OLTP
GBase南大通用基于MySQL、PostgreSQL、Informix集中式、分布式OLTP
TiDBPingCap自研分布式HTAP
OceanBase蚂蚁金服自研分布式HTAP
PolarDB阿里巴巴基于MySQL/PostgreSQL分布式OLTP
TDSQL腾讯基于MySQL分布式OLTP
GreatDB万里开源基于MySQL分布式HTAP

上面本周沟通的信息还算比较准确。有些以前沟通或还未直接沟通的信息可能不大准,欢迎大家指正。还有就是这个表不代表排名!!!

2 问题

在沟通过程中,其实还是暴露出不少问题:

  • 云底层
    其实这周沟通的基本上都能实现独立部署,但是之前沟通过的某些数据库是必须依赖配套的云底层(说白了就是用附加条款的方式绑死),但是众所周知,我客户这是不让的。
  • 分布式
    绝大多数使用分布式架构的国产数据库厂商基本上都在有意无意的避开分布式改造这件事情,其中需要涉及的代码改造、业务逻辑改造、数据逻辑改造要么不提要么就一笔带过,其实集中式换分布式需要避的坑,我在第三十六期写过,有兴趣的可以去看看(可能往后还会重新总结一次)。
  • 售前
    虽然说绝大多数国产数据库厂商的售前还是不错,也会有研发之类的技术做补充。但是不得不说,某些数据库厂商的售前真是垃圾(根据就是销售转的完全没技术背景),除了照本宣科以外基本就是一问三不知或者open yellow gun。
  • PPT
    之前在DBA群里有人问过,国产数据库排名,我回了一句是按照PPT排还是实际使用,嘿嘿。不得不说大多数厂商的PPT做的还是很不错的,但是“吹”的成分还是偏高,比如:某些功能仅PPT实现、某些项目PPT中已达成、吾乃国产之光(其余都是垃圾)、性能突破天际、我们没有问题等等。
  • 混乱
    这里的混乱主要是某些数据库的技术架构混乱、产品构成混乱、发展方向混乱和沟通混乱。
  • 马内
    在很多国产数据库眼中,似乎客户都是不差钱的主,单从替换的硬件需求层面,很多就不考虑客户实际情况(往多往好的整),更不会考虑客户是不是要在业务改造上花钱。看起来license便宜(还有买断制的)其实可能花更多的钱。

3 我的建议

根据客户要求我也做了一个国产数据库选型的很粗的建议:

  • 实现尽可能平滑、安全的迁移
    – 双平面数据库支持能力,支持业务回切
    – 减少代码改动量,需要全面支持语法、存储过程与触发器
    – 减少数据库逻辑层面改造(暂时不选择分布式,选分布式的话还是建议重构)
  • 数据库能力
    – 全面的硬件、操作系统、数据库管理监控工具,实现集中化管理、调优、告警、自愈等功能
    – 需要具备横纵向扩展能力,支持未来业务发展
    – 性能测试满足各业务系统要求,业务响应不能慢于当前环境
    –异地灾备能力,满足支持读写分离的可切换灾备架构或双活架构,RTO、RPO满足条件
    – 多租户能力,支持数据库硬件资源隔离
    – 一定程度的HTAP能力
  • 其他
    – 硬件的全面支持,需要支持国产CPU及其他硬件
    – 国产操作系统全面支持,欧拉、龙蜥
    – 原有硬件的少量改造,包含10GE以上网络(25GE、40GE等)、SSD(NVMe、SAS等)等,控制成本

当然还要根据实际的业务类型、业务压力、数据量综合讨论。这个肯定没有某些数据库服务大厂写的完善,写的好,但是是我这里真真切切的一线需求。

总结

最后说一句,这周某大佬还说过一句话“国产数据库, PPT是啥都行的, 研发都是抄的, 文档是没有的, 上线是要俄罗斯轮盘赌的, 上线后的常态是通宵在线改bug的”。替换很难,尤其是Oracle,再尤其是Exadata环境。
老规矩,不知道写了些啥。

相关文章:

数据库管理-第六十九期 另一种累(20230422)

数据库管理 2023-04-22 第六十九期 另一种累1 国产数据库沟通2 问题3 我的建议总结 第六十九期 另一种累 Oracle 23c的相关内容先缓缓,有些数据库管理相关的还是得正式版发布后才好去做实验。这周相较于之前那种割接较多的累还有点不一样,这周陪着客户交…...

Cesium入门之六:Cesium加载影像图层(ArcGIS、Bing、Mapbox、高德地图、腾讯地图、天地图等各类影像图)

Cesium加载影像图层 一、ImageryLayer类常用属性常用方法 二、ImageryLayerCollection类常用属性常用方法 三、ImageryProvider类常用属性常用方法 四、ImageryProvider子类1. ArcGisMapServerImageryProvider加载ArcGIS地图服务 2. BingMapsImageryProvider加载BingMap地图服务…...

Redis系列--redis持久化

一、为什么需要持久化 redis本身运行时数据保存在内存中,如果不进行持久化,那么在redis出现非正常原因宕机或者关闭redis的进程或者关闭计算机后数据肯定被会操作系统从内存中清掉。当然,redis本身默认采用了一种持久化方式,即RD…...

在外Windows远程连接MongoDB数据库【无公网IP】

文章目录 前言1. 安装数据库2. 内网穿透2.1 安装cpolar内网穿透2.2 创建隧道映射2.3 测试随机公网地址远程连接 3. 配置固定TCP端口地址3.1 保留一个固定的公网TCP端口地址3.2 配置固定公网TCP端口地址3.3 测试固定地址公网远程访问 转载自远程内网穿透的文章:公网远…...

学网络安全怎么挖漏洞?怎么渗透?

前言 有不少阅读过我文章的伙伴都知道,我从事网络安全行业已经好几年,积累了丰富的经验和技能。在这段时间里,我参与了多个实际项目的规划和实施,成功防范了各种网络攻击和漏洞利用,提高了安全防护水平。 也有很多小…...

KL散度和交叉熵的对比介绍

KL散度(Kullback-Leibler Divergence)和交叉熵(Cross Entropy)是在机器学习中广泛使用的概念。这两者都用于比较两个概率分布之间的相似性,但在一些方面,它们也有所不同。本文将对KL散度和交叉熵的详细解释…...

浪涌保护器:保护电子设备免受雷击侵害

引言: 随着电子设备在现代生活和工业领域的普及和广泛应用,雷击对电子设备的损害成为一个严重的问题。浪涌保护器作为一种重要的防雷设备,发挥着至关重要的作用。本文将介绍浪涌保护器的防雷作用、行业应用,并重点介绍浪涌保护器…...

js绘制的红心

看腻歪了粒子特效的红心&#xff0c;今天给各位整个线条的&#xff0c;效果图如下&#xff1a; 表白显圣神器&#xff0c;你值得拥有&#xff0c;代码如下&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"…...

十、Feign客户端

目录 1、在springcloud-order项目中引入Feign客户端的依赖 2、在server-order服务的启动类中添加注解EnableFeignClients 3、使用FeignClient注解声明Feign客户端需要调用的远程接口 3.1、server-pay服务提供远程接口Controller 3.2、server-member服务提供远程接口Contro…...

登录appuploader

转载&#xff1a;登录appuploader 常规使用登录方法 双击appuploader.exe 启动appuploader 点击底部的未登录&#xff0c;弹出登录框 在登录框内输入apple开发者账号 如果没有apple开发者账号&#xff0c;只是普通的apple账号&#xff0c;请勾选上未支付688 然后软件会提示…...

都别吹牛逼了,2个英语指令简单评测便知ChatGPT、博弈Ai、文心一言、通义千问、讯飞星火真实水平

一、博弈Ai&#xff1a;GPT3.5版 演示&#xff1a;https://chat.bo-e.com/ 1、充当英语发言助手 评分&#xff1a;10分 总结&#xff1a;完整满足了指令需求 2、充当英汉互译器 评分&#xff1a;8分 总结&#xff1a;基本满足了我的指令需求。但是有点啰嗦&#xff0c;扣…...

使用Spring Boot快速搭建项目:减少配置,提升开发效率

使用Spring Boot快速搭建项目&#xff1a;减少配置&#xff0c;提升开发效率 一、Spring Boot简介1 Spring Boot的起源2 Spring Boot的核心特点3 Spring Boot的优势 二、Spring Boot快速搭建项目1 Spring Boot的项目搭建方式使用Spring Initializr创建项目使用Spring Boot CLI创…...

(2)数码管

LED数码管:数码管是一种简单、廉价的显示器&#xff0c;是由多个发光二极管封装在一起组成"8"字器件 51单片机是共阴极连接 74HC245这个芯片有什么作用呢&#xff1f;解&#xff1a;这个芯片被称之为双向数据缓冲器这个芯片的作用&#xff0c;用来进行数据缓冲(提高驱…...

赫夫曼树和赫夫曼编码详解

目录 何为赫夫曼树&#xff1f; 赫夫曼树算法 赫夫曼编码 编程实现赫夫曼树 编程实现赫夫曼编码 编程实现WPL 总代码及分析 何为赫夫曼树&#xff1f; 树的路径长度&#xff1a;从树根到每一结点的路径长度之和 结点的带权路径长度&#xff1a;从树根到该结点的路径长度…...

unity UGUI系统梳理 -交互组件

概述 unity 中的交互组件可用于处理交互&#xff0c;例如鼠标或触摸事件以及使用键盘或控制器进行的交互 1、按钮 (Button) Button详解 2、开关 (Toggle) Background&#xff1a;背景图片&#xff0c;控制toggle组件的背景颜色改变&#xff0c;从而展示此物体是否被选中的…...

HTTP第15讲——HTTP的连接管理

短连接 HTTP 协议最初&#xff08;0.9/1.0&#xff09;是个非常简单的协议&#xff0c;通信过程也采用了简单的“请求 - 应答”方式。 它底层的数据传输基于 TCP/IP&#xff0c;每次发送请求前需要先与服务器建立连接&#xff0c;收到响应报文后会立即关闭连接。 因为客户端与…...

深度剖析Mybatis-plus Injector SQL注入器

背景 在项目中需要同时操作Sql Server 以及 MySQL 数据库&#xff0c;可能平时直接使用 BaseMapper中提供的方法习惯 了&#xff0c;不用的话总感觉影响开发效率&#xff0c;但是两个数据库的SQL语法稍微有点差别&#xff0c;有些暴露的方法并不能直接使用&#xff0c;所以便想…...

【Mysql实战】使用存储过程和计算同比环比

背景 同环比&#xff0c;是基本的数据分析方法。在各类调研表中屡见不鲜&#xff0c;如果人工向前追溯统计数据&#xff0c;可想而知工作量是非常大的。 标题复制10行&#xff0c;并且每行大于10个字符【源码解析】SpringBoot接口参数【Mysql实战】使用存储过程和计算同比环比…...

ChatGPT的前世今生,到如今AI领域的竞争格局,本文带你一路回看!

73年前&#xff0c;“机器思维”的概念第一次被计算机科学之父艾伦图灵&#xff08;Alan Turing&#xff09;提出&#xff0c;从此&#xff0c;通过图灵测试成为了人类在AI领域为之奋斗的里程碑目标。 73年后的今天&#xff0c;在AI历经了数十年的不断进化、迭代后&#xff0c…...

如何在JavaScript中获取当前时间yyyymmddhhmmss? (六种实现方式)

## 介绍 在编写JavaScript代码时&#xff0c;我们经常需要获取当前日期和时间。在本文中&#xff0c;我们将介绍几种获取当前时间并将其格式化为 yyyymmddhhmmss 的字符串的方法。 方法一&#xff1a;使用Date对象 在JavaScript中&#xff0c;我们可以使用 Date 对象来获取当…...

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

挑战杯推荐项目

“人工智能”创意赛 - 智能艺术创作助手&#xff1a;借助大模型技术&#xff0c;开发能根据用户输入的主题、风格等要求&#xff0c;生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用&#xff0c;帮助艺术家和创意爱好者激发创意、提高创作效率。 ​ - 个性化梦境…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法&#xff1a;netstat [选项] 功能&#xff1a;查看网络状态 常用选项&#xff1a; n 拒绝显示别名&#…...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

《通信之道——从微积分到 5G》读书总结

第1章 绪 论 1.1 这是一本什么样的书 通信技术&#xff0c;说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号&#xff08;调制&#xff09; 把信息从信号中抽取出来&am…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!

一、引言 在数据驱动的背景下&#xff0c;知识图谱凭借其高效的信息组织能力&#xff0c;正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合&#xff0c;探讨知识图谱开发的实现细节&#xff0c;帮助读者掌握该技术栈在实际项目中的落地方法。 …...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面&#xff0c;避免重复抓取&#xff0c;以节省资源和时间。 在分布式环境下&#xff0c;增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路&#xff1a;将增量判…...