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

KaiwuDB CTO 魏可伟:回归用户本位,打造“小而全”的数据库

8月16日,KaiwuDB 受邀亮相第十四届中国数据库技术大会 DTCC 2023。KaiwuDB CTO 魏可伟接受大会主办方的采访,双方共同围绕“数据库架构演进、内核引擎设计以及不同技术路线”展开深度探讨。

在这里插入图片描述
以下是采访的部分实录 ↓↓↓

40 多年前,企业的数据量还没有如此庞大,会选择把关键业务数据放在关系型数据库中。随着软硬件的发展,计算和存储成本不断降低,数据库技术进入新的发展阶段。以 IoT 场景为例,这是一个由各种新技术相互交错形成的“泛”行业,看似宽口进,实则门槛高。

IoT 与 5G、工业 4.0、工业物联网、车联网、人工智能等形成“组合拳”,为各个行业的数字化转型赋能,但也导致业务系统的复杂性攀升。当数据来自时序、文档、空间、图等多个数据源,各数据源又面向不同的数据库系统、接口服务等,导致最终的数据采集不完整,出现数据不一致的现象。

所谓“术业有专攻”,专库专用在一段时间里成为“专宠”,但也造成了数据孤岛。通常情况下,一家企业使用的关系型数据库是 A 家,时序数据库又是 B 家,同时可能还有 C 家的 AI 平台。这意味着企业需要拥有身兼多种技能的开发运维人才;否则,一旦涉及到新功能及多个产品之间的协同,就会影响迭代速度。

如果能用一套数据库去替换原来多套不统一的数据库类型,来解决业务的复杂性以及开发和运维成本不断攀升的问题,那企业面临的很多问题也将迎刃而解。多模数据库可能就是一个好答案。

一、多模架构,用“小而全”为用户减负

“从传统关系型数据库主导市场,到 NoSQL 数据库兴起,再到时序数据库,图数据库,向量数据库百花齐放,今天的多模数据库旨在化繁为简,支持多种数据模型统一管理。”魏可伟表示,多模式数据库是数据管理系统不断演进的结果,多种类型的数据库系统混用带来的开发和运维压力,使得企业不得不做出新的选择。

当前,业内主流的多模数据库可大致归结为 2 种路线:

  • 粘合式

即大而全的平台式多模,把各种不同类型的数据处理引擎,包括关系引擎,集成在一起,上层以中间件的形式对外提供一个统一接口,进行数据的分发、转换等工作。

然而现实情况是,很多大而全的功能在实际业务场景中根本用不上。具体到上层的引擎,为了实现多模的能力,粘合式路线会把所有引擎都拉到一个中间层,再做数据搬动,给开发和运维带来极大的压力。

  • 生长式

以关系型数据库为主,为了处理图、文档等 NoSQL 数据扩展出新的能力;同时,除了关系型数据库厂商,图数据库、空间数据库厂商也在基于自己的本行向新的能力扩展,这都属于生长式。

这种模式相对适用于有一个传统应用,又想基于原有应用做少量的异构数据扩展的情况。比如:金融行业的交易处理是日常应用,同时需要扩展少量的空间数据库满足业务需求,这种业务场景更适合用生长式数据库。

但生长式多模架构在后期扩展能力上存在一定局限,此前主体数据库架构可能根本就不支持新功能的扩展。

有别于上述两种情形,KaiwuDB 自研原生多模系统,从顶层设计上天然具备横向融合、纵向精专的能力。依托"就地计算"、"原生 AI"等核心技术,KaiwuDB 快速支持时序数据、内存数据、关系型数据等在同一数据库中统一汇存、处理及 AI 智能分析。

其中,最大特色是统一的 SQL 语法、统一的数据库命令、统一的开发运维工具、统一的安全认证,能够将不同数据库功能充分融合,实现一库多用,进而降低用户的使用成本,用魏可伟的话说,就是“小而全”。

KaiwuDB 一直在思考多模架构到底做到何种程度才能满足 IoT 领域用户的需求而又能做到简单易用?

首先,时序数据处理的性能和扩展能力一定是高要求,同时要想办法降低存储成本;其次,要提供符合 IoT 数据特征的数据管理工具以及数据库自治的能力;最后,要以分析为先、以 AI 为先,能够从海量数据中挖掘出数据价值,为 IoT 业务场景提供专业的服务。

此种背景下,KaiwuDB 给自己的定位是,在设计上有横有纵,打造一个“又融又专”的多模架构。

  • “融”

指针对不同的数据类型,开发能发挥最大性能的专用数据处理引擎,例如 KaiwuDB 时序引擎,利用“就地计算”技术可以实现每秒数百万级的数据写入,毫秒级响应千万级数据的分析查询。

  • “专”

指融合多个专用引擎以支持 IoT 业务场景,在多个专用引擎之间形成统一的优化,统一的管理,同时又根据 IoT 数据处理的特点建立“快速通道”。

比如,在数据写入场景中,KaiwuDB 会优先考虑时序数据的写入性能并做优化,从而实现专用时序数据库的时序数据处理性能。

这就与传统“粘合式”和“生长式”的数据库形成本质区别。再有,KaiwuDB 会为时序数据到关系数据分析的内部“ETL”流程“打开快车道”,从而提升性能并节约资源。

站在用户本位,以数据库创新技术简化应用,让产品功能无限地贴近用户需求,是 KaiwuDB 这一新生代数据库持续努力的方向。

二、AI 引擎,为企业插上数智化升级翅膀

相较于对热点大模型技术的趋之若鹜,KaiwuDB 强调“原生 AI”的概念。

在 AI for DB 方向上,KaiwuDB 利用 AI 引擎实现数据库自治。比如,在时序数据场景中,会以时间维度进行数据的聚合分析,这背后的一项关键技术是智能预计算——即利用 AI 大脑预判用户会对哪些内容会做聚合分析,提前把结果计算好。
这一能力可快速实现结果反馈,极大程度提升性能;在生命周期管理方面,也可以通过 AI 对用户使用情况做出预判,如果 AI 预判用户对某一类数据不再频繁调用,可以自动挪到冷存储上,降低资源占用。

在 DB For AI 研发方向上,KaiwuDB 的“原生 AI“概念并非要打造 TensorFlow 这样的 AI 框架,即:不是去做算法,而是在多模的框架下拥抱生态,为用户提供更好的消费 AI 的能力,这种能力可以概括为“ModelOps in DB”。

ModelOps in DB 的理念是:让用户通过数据库更好地使用 AI,通过数据处理拉近数据科学家和开发运维人员的距离。通过 ModelOps in DB,能够提高模型训练和预测的性能,保证数据的安全性,更能够利用数据保持模型的准确性。

例如,当用户把数据拉出到 AI 平台训练模型,用来做业务预测,刚开始的时候可能准确率很高,但随着时间的推移会产生漂移现象,也就是模型准确率会下降。这是因为用来训练模型的数据已经过时,而通过原生 AI 的能力,在数据库中就可以第一时间发现漂移现象,做出相应的反应。

“大模型给我们一个非常有意思的启发,如果自然语言变成数据库角度的一个接口,多模会变成一个更自然的选择。” 魏可伟分析道,SQL 生态已经发展了几十年,有很多成熟的工具构建,是一个关键的数据库接口。站在大模型的风口,我们再去看多模的未来,各种专用引擎会在自然语言的交互方式下统一起来,人人都可以在低门槛的状态下使用数据库,这应该会是多模的终极形态。

在 KaiwuDB 技术团队中,有很多开发人员致力于 AI 方向,解决 AI 落地的消费性问题,这也是 AI 和数据库结合的关键点。

未来,KaiwuDB 除了在异构数据跟 AI 结合的方向上进行努力,在用户关注的重要场景上持续发力,也会关注大模型的支持,比如:引入向量数据库,在现有的多模架构上,再多出一模。

今天,在 AI 技术推动下,数据处理能力也在不断演进,诸多企业正在把数据对象里的信息抽取,无论是什么对象,或者无论是什么实体所包含的语义信息,都可以变成一个向量,然后再进行分析。而嵌入向量功能的数据库,会更好地支持 AI 应用。因此,AI 和数据库正以相互作用的形态,共同进步,释放用户的数据消费潜力。

写在最后

未来,不管是多模数据库本身的发展,还是与 AI 的结合,KaiwuDB 都将坚持回归用户本位,专注于打造一款“小而全”的数据库产品。在面对国内外用户对于产品性能与产品性价比“既要又要”的挑战下,KaiwuDB 也将不忘初心,秉承“匠心”精神走出自己的新路子,给市场与用户带来更多的可能。

相关文章:

KaiwuDB CTO 魏可伟:回归用户本位,打造“小而全”的数据库

8月16日,KaiwuDB 受邀亮相第十四届中国数据库技术大会 DTCC 2023。KaiwuDB CTO 魏可伟接受大会主办方的采访,双方共同围绕“数据库架构演进、内核引擎设计以及不同技术路线”展开深度探讨。 以下是采访的部分实录 ↓↓↓ 40 多年前,企业的数…...

行业追踪,2023-08-22

自动复盘 2023-08-22 凡所有相,皆是虚妄。若见诸相非相,即见如来。 k 线图是最好的老师,每天持续发布板块的rps排名,追踪板块,板块来开仓,板块去清仓,丢弃自以为是的想法,板块去留让…...

浏览器安装selenium驱动,以Microsoft Edge安装驱动为例

Selenium是一个用于Web应用程序测试的自动化工具。它可以直接在浏览器中运行,模拟真实用户对浏览器进行操作。利用selenium,可以驱动浏览器执行特定的动作,比如:点击、下拉等等,还可以获取浏览器当前呈现的页面的源代码…...

边缘计算网关是如何提高物联网的效率的?

随着物联网的持续发展,物联网应用的丰富和规模的扩大,带来了海量的数据处理、传输和计算需求。 传统的“数据中央处理”模式越来越难以适应物联网的扩展速度,在这一趋势下,边缘计算在物联网系统的部署运营中就发挥出了显著的增效…...

AWVS安装~Windows~激活

目录 1.下载安装包 2.双击acunetix_15.1.221109177.exe进行安装 3.配置C:\Windows\System32\drivers\etc\hosts 4.复制wvsc.exe到C:\Program Files (x86)\Acunetix\15.1.221109177下 5.复制license_info.json与wa_data.dat到C:\ProgramData\Acunetix\shared\license下&…...

ATFX汇市:杰克逊霍尔年会降至,鲍威尔或再发鹰派言论

环球汇市行情摘要—— 昨日,美元指数下跌0.11%,收盘在103.33点, 欧元升值0.22%,收盘价1.0898点; 日元贬值0.58%,收盘价146.23点; 英镑升值0.18%,收盘价1.2757点; 瑞…...

Zipkin开源的分布式链路追踪系统

Zipkin是一款开源的分布式链路追踪系统,主要功能包括: 1. 采集跟踪数据 - Zipkin client库负责收集并上报各服务的请求信息。 2. 存储跟踪数据 - 存储层默认采用Zipkin自带的基于内存的快速存储,也支持整合MySQL、Cassandra等外部存储。 3. 查询接口 - 提供RESTful API进行跟…...

java 项目运行时,后端控制台出现空指针异常---java.lang.NullPointerException

项目场景: 提示:这里简述项目背景: 场景如下: java 项目运行时,后端控制台出现如下图所示报错信息:— 问题描述 提示:这里描述项目中遇到的问题: java 项目运行时,后…...

模型数据处理-数据放入 session和@ModelAttribute 实现 prepare 方法详细讲解

😀前言 本文详细讲解了模型数据处理-数据放入 session和ModelAttribute 实现 prepare 方法详细讲解 🏠个人主页:尘觉主页 🧑个人简介:大家好,我是尘觉,希望我的文章可以帮助到大家&#xff0c…...

关于android studio 几个简单的问题说明

自信是成功的第一步。——爱迪生 1. android studio 如何运行不同项目是否要更换不同的sdk 和 gradle 2.编译Gradle总是错误为什么 3.如何清理android studio 的缓存 4. 关于android Studio中的build 下面的rebuild project...

angular常用命令

文章目录 1. 创建新项目:2. 生成组件:3. 生成模块:4. 生成服务:5. 运行项目:6. 构建项目:其他 在 Angular 开发中,以下是一些常用的 Angular CLI 命令: 1. 创建新项目: …...

uni-app打包后安卓不显示地图及相关操作详解

新公司最近用uni-app写app,之前的代码有很多问题,正好趁着改bug的时间学习下uni-app。 问题现象: 使用uni-app在浏览器调试的时候,地图是展示的,但是打包完成后,在app端是空白的。咱第一次写app&#xff…...

elelementui组件

一、按钮 1、按钮样式 使用type、plain、round和circle属性来定义 Button 的样式。 2、主要代码 <el-row><el-button>默认按钮</el-button><el-button type"primary">主要按钮</el-button><el-button type"success">…...

什么是安全测试报告,怎么获得软件安全检测报告?

安全测试报告 软件安全测试报告&#xff1a;是指测试人员对软件产品的安全缺陷和非法入侵防范能力进行检查和验证的过程&#xff0c;并对软件安全质量进行整体评估&#xff0c;发现软件的缺陷与 bug&#xff0c;为开发人员修复漏洞、提高软件质量奠定坚实的基础。 怎么获得靠谱…...

JS中的Ajax

封装原生 Ajax 请求 在 JavaScript 中&#xff0c;可以通过封装原生的 Ajax 请求来进行与服务器的数据交互。下面是一个封装了原生 Ajax 请求的示例代码&#xff0c;以及对代码的详细注解。 1.简单的Ajax封装代码 <h2>ajax原生</h2><script>//1.创建xhr对象…...

ImportError: cannot import name ‘SQLDatabaseChain‘ from ‘langchain‘解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…...

npm、yarn和pnpm

1 node_modules安装方式 在npm3之前是以嵌套结构方式安装依赖包&#xff0c;存在两个问题&#xff1a; 依赖路径太长多个包依赖一个相同包时&#xff0c;本地磁盘会存储多个相同的包 npm3和yarn使用扁平化结构&#xff0c;node_modules变成所有包放在同一层级 注意&#xf…...

SparkSQL源码分析系列02-编译环境准备

本文主要描述一些阅读Spark源码环境的准备工作&#xff0c;会涉及到源码编译&#xff0c;插件安装等。 1. 克隆代码。 打开IDEA&#xff0c;在Git下的Clone中&#xff0c;输入 https://github.com/apache/spark&#xff0c;克隆代码到本地&#xff0c;CheckOut到目标版本Spar…...

【计算机网络】日志与守护进程

文章目录 日志日志的创建logmessage 函数日志左边部分实现日志右边部分实现 完整代码log.hpp(整体实现)err.hpp (错误信息枚举&#xff09; 守护进程PGID SID TTY 的介绍shell中控制进程组的方式结论 为什么要有守护进程存在&#xff1f;守护进程的创建使用守护进程的条件守护进…...

设计模式之职责链模式(ChainOfResponsibility)的C++实现

1、职责链模式的提出 在软件开发过程中&#xff0c;发送者经常发送一个数据请求给特定的接收者对象&#xff0c;让其对请求数据进行处理&#xff08;一个数据请求只能有一个对象对其处理&#xff09;。如果发送的每个数据请求指定特定的接收者&#xff0c; 将带来发送者与接收…...

CGAL Mesh(网格数据)布尔操作

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 Mesh布尔操作是一种在三维计算机图形学中用于组合两个或多个网格(mesh)对象的方法。它可以将两个网格对象组合成一个新的对象,同时保留原始对象的拓扑结构和几何信息。Mesh布尔操作主要有以下三种类型: Union(…...

技术分享| WebRTC之SDP详解

一&#xff0c;什么是SDP WebRTC 是 Web Real-Time Communication&#xff0c;即网页实时通信的缩写&#xff0c;是 RTC 协议的一种Web实现&#xff0c;项目由 Google 开源&#xff0c;并和 IETF 和 W3C 制定了行业标准。 WebRTC是点对点通讯&#xff0c;他的通话建立需要交换…...

Flink Table API/SQL 多分支sink

背景 在某个场景中&#xff0c;需要从Kafka中获取数据&#xff0c;经过转换处理后&#xff0c;需要同时sink到多个输出源中(kafka、mysql、hologres)等。两次调用execute, 阿里云Flink vvr引擎报错&#xff1a; public static void main(String[] args) {final StreamExecuti…...

Vue3 中 导航守卫 的使用

在Vue 3中&#xff0c;导航守卫&#xff08;Navigation Guards&#xff09;用于在路由切换前后执行一些操作&#xff0c;例如验证用户权限、取消路由导航等。Vue 3中的导航守卫与Vue 2中的导航守卫略有不同。下面是Vue 3中导航守卫的使用方式&#xff1a; 全局前置守卫&#xf…...

云原生概论

云原生是一种新兴的技术趋势&#xff0c;它旨在将应用程序设计和部署方式从传统的基础设施转向云端。云原生应用程序是一种针对云环境进行优化的应用程序&#xff0c;能够充分利用云端提供的弹性和可扩展性。本文将探讨云原生的概念、优势、应用场景以及未来发展方向。 一、云…...

hive-sql

hive-常用SQL汇总 查看数据库 -- 查看所有的数据库 show databases; 使用默认的库 -- 下面的语句可以查看默认的库 use default ;查看某个库下的表 -- 查看所有的表 show tables ; -- 查看包含 stu的表 &#xff0c;这种是通配的方法来查看 show tables like *stu*; 查…...

Rspack 创建 vue2/3 项目接入 antdv(rspack.config.js 配置 less 主题)

一、简介 Rspack CLI 官方文档。 rspack.config.js 官方文档。 二、创建 vue 项目 创建项目&#xff08;文档中还提供了 Rspack 内置 monorepo 框架 Nx 的创建方式&#xff0c;根据需求进行选择&#xff09; # npm 方式 $ npm create rspacklatest# yarn 方式 $ yarn create…...

基于centos7完成docker服务的一些基础操作

目录 要求完成 具体操作 1.安装docker服务&#xff0c;配置镜像加速器 2.下载系统镜像&#xff08;Ubuntu、 centos&#xff09; 3.基于下载的镜像创建两个容器 &#xff08;容器名一个为自己名字全拼&#xff0c;一个为首名字字母&#xff09; 4.容器的启动、 停止及重启…...

Microsoft Visual Studio + Qt插件编程出现错误error MSB4184问题

文章目录 报错解决 报错 C:\Users\Administrator\AppData\Local\QtMsBuild\qt_globals.targets(786,7): error MSB4184: 无法计算表达式“[System.IO.File]::ReadAllText(C:\Users\Administrator\AppData\Local\QtMsBuild\qt.natvis.xml)”。 未能找到文件“C:\Users\Administ…...

QT Quick之quick与C++混合编程

Qt quick能够生成非常绚丽界面&#xff0c;但有其局限性的&#xff0c;对于一些业务逻辑和复杂算法&#xff0c;比如低阶的网络编程如 QTcpSocket &#xff0c;多线程&#xff0c;又如 XML 文档处理类库 QXmlStreamReader / QXmlStreamWriter 等等&#xff0c;在 QML 中要么不可…...

好的淘客网站/会计培训机构

SSJ集成 一、三大框架 1.SSH Struts/Struts2 Spring Hibernate 2.SSJ Struts2 Spring JPASpringMVC Spring JPASpringMVC Spring Data JPA 3.SSM SpringMVC Spring MyBatis 二、集成三大框架的步骤 导包 -> domain-> jdbc.properties ->dataSource …...

叫人做网站后不提供源码/网站关键词seo费用

Photoshop是当前最风行的图形图像处理软件&#xff0c;现在已广泛利用于广告、平面设计、网页等范畴。在网页设计中&#xff0c;Photoshop可用来设计网页页面。将设计好的页面导进到Dreamweaver 中进行处理&#xff0c;再用Flash 添加动间内容&#xff0c; Photoshop是当前最风…...

现代网站建设/百度云网盘网页版登录

$好玩的分词——python jieba分词模块的基本用法 jieba&#xff08;结巴&#xff09;是一个强大的分词库&#xff0c;完美支持中文分词&#xff0c;本文对其基本用法做一个简要总结。 安装jieba pip install jieba 简单用法 结巴分词分为三种模式&#xff1a;精确模式&#xff…...

电商行业接单平台/网络优化工程师主要负责什么工作

2019独角兽企业重金招聘Python工程师标准>>> 当前日志系统常用的有elk&#xff08;elasticsearch logstash kibana&#xff09;&#xff0c;不过很多公司不喜欢用logstash&#xff0c;而会用很多其他性能好、资源利用少的日志采集软件&#xff0c;其中rsyslog会是很…...

上海网站建设做物流一/淄博网络推广公司哪家好

1、 Spring Boot 1.x 与 2.x 的区别在 微服务 Spring Cloud 架构设计 一文中&#xff0c;讲过 Spring Cloud 的架构设计。其实 Spring Boot 在一开始时&#xff0c;运用到的基本就是 Eureka、Config、Zuul、Ribbon、Feign、Hystrix 等。到了 Spring Boot 2.x 的时候&#xff0c…...

网站发帖功能怎么做/杭州关键词自动排名

//创建应用python3 manage.py startapp mysite//开启服务python3 manage.py runserver 127.0.0.1:8080  //创建数据库命令python3 manage.py makemigrationspython3 manage.py migrate//正则表达式import reretre.search((?P<id>\d{3})/(? P<name>\w{3}),weeew…...