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

阳振坤:AI 大模型的基础是数据,AI越发达,数据库价值越大

2024年1月12日,第四届OceanBase数据库大赛决赛在北京圆满落幕。在大赛的颁奖典礼上,OceanBase 首席科学家阳振坤老师为同学们献上了一场主题为“爱上数据库”的公开课,他不仅分享了个人的成长历程,还阐述了对数据库行业现状与未来的见解和思考。

图片

阳老师回忆了自己年轻时,与如今的同学们相仿的年纪,追随导师王选院士投身激光照排机研发的岁月。他感慨道:“那时,我们的信息系统与发达国家相比,存在着巨大的差距。虽然时至今日,这样的差距仍然存在,但已经大幅缩小,甚至在不少领域,我们已经实现了超越。”

近年来,人工智能技术迅猛发展,谈及 AI 大模型与数据库的关系,他表示,AI 大模型本身的基础其实还是数据,AI 模型越发达,数据库的价值会越大,数据库的空间也会越大

未来数据库会如何发展?他认为,数据库的形式和功能将发生显著变化。现代数据库应具备两大核心特征:一是强大的海量数据处理能力,二是云数据库服务模式。因此,数据库的发展方向必然是多模一体化,以及具备敏捷伸缩和水平扩展的能力。

精彩节选

1、未来数据库不会消失,但形式和功能会发生显著变化

AI 大模型主要依靠训练的数据、训练的结果,以及和用户的交互,这背后海量数据的处理离不开各种各样的数据库。所以 AI 的模型越发达,我觉得数据库的价值会越大,数据库的空间也会越大。

在可预见的未来里,数据库作为存储、管理和检索数据的核心工具,作用只会更加重要,传统关系型数据库也不再是唯一选择。

NoSQL、NewSQL、分布式数据库等新型数据库将广泛应用,云数据库和 Serverless 架构让用户更多依赖云服务商提供的解决方案,AI 和机器学习的引入将使数据库管理更加自动化。

2、数据库激增、类型多样与实时处理是数据库的三大挑战

今天在数据库领域,关系数据库仍然占很大比例,差不多是 70%。有很多人预测,关系数据库的比例会缩小,我是相反的看法,我觉得关系数据库的比例会变大。

这些年,为满足多样化数据类型和复杂查询需求,NoSQL、NewSQL、KV 等部分替代了传统关系型数据库。一个重要原因是传统的关系型数据库多为单机数据库,扩展能力受限,所以人们才会用 KV、NoSQL 等作为解决方案。但这些系统缺少数据库最根本的东西:ACID,导致它本身带有局限性。

数据库这些年发展还出现了一个现象,就是交易和分析割裂。当数据量不大的时候,可以按照交易的方式进行分析,只是效率低一点。但当数据量大了之后,第一是存储,原来的交易数据库面临存储挑战,更谈不上分析;第二是效率,当数据量增长了 1000 倍,分析的时间不可能随之增加到 1000 倍,这时的分析也就失去了意义。

正是因为如此,现在的业务生产系统中,交易和分析是割裂的,形成两个系统。一旦交易系统的数据发生变化,分析系统也要同步改变。这不仅带来成本增加,复杂性也随之上升。

3、云是未来数据库发展的主要趋势

今天,云在数据库市场里占据主流。左边的图里,蓝色部分云数据库市场份额,黄色部分是线下部署的市场份额。现在,云已经占了超过 60%。从右边的图可以看出,数据库每年的市场增量有 90% 在云上,这意味着随着时间的推移,云数据库的占比会越来越大。

图片

(数据来源:Market Share Analysis:DataBase Management Systems,Worldwide,2023)

为什么云服务发展很快?我觉得有两点:效率和成本。

云上的资源可以很快申请,马上就能得到,时间是以秒计算,而线下部署一台机器再快都是以天计算的。在成本方面,中等规模以下的企业,购买云服务很便宜;对大型、特大型的企业由于规模效应,也能带来成本的节省。这其中最重要的原因就是资源的池化与复用。

以 CPU 为例,绝大部分企业的计算机 CPU 利用率是个位数,不到 10%,造成算力浪费。而云上可以做到 20%,因为各家企业的业务有时高有时低,大家互补起来,提高资源的利用率。同时,云上的存储和人力,也可以通过复用提高利用率。

但是数据库不完全是这样,数据库是个有状态的东西。大家知道一个事务建立连接,它的很多状态你是要保持住的。数据库有敏捷的伸缩能力是一个挑战,但如果你没有伸缩能力,你就做不到资源的复用。

4、OceanBase在走一条传统数据库走不了的路

传统集中式数据库第一没有容量,第二很难能解决行存列存冲突的问题。因为行存便于数据修改,而列存的修改代价非常大。如果一个表有 100 个列,插入或删除一条记录,意味着要在硬盘上做 100 次的读、100 次的写,操作代价非常大,效率也就会非常差。

这个里面涉及到两个问题,一个是分布式一个是敏捷伸缩。如果数据库没有敏捷伸缩的能力,就无法像云那样做到资源复用,例如高德地图的导航,除了早晚高峰,凌晨用的人很少,如果没有弹性能力,就会造成资源浪费。

过去的数据库其实是不具备扩展能力的,新的数据库在朝这个方向努力,OceanBase 现在在很多地方还不如 Oracle,但是我们今天走的是一条传统数据库走不了的路。

传统集中式数据库它没有一个很好的扩展能力,而 OceanBase 这种分布式数据库成长起来,它将成为新一代的数据平台。过去需要搭一个交易数据库和一个大数据系统,而现在可以在一个数据库里实现这些功能,去掉两个系统带来的交互和成本。

相关文章:

阳振坤:AI 大模型的基础是数据,AI越发达,数据库价值越大

2024年1月12日,第四届OceanBase数据库大赛决赛在北京圆满落幕。在大赛的颁奖典礼上,OceanBase 首席科学家阳振坤老师为同学们献上了一场主题为“爱上数据库”的公开课,他不仅分享了个人的成长历程,还阐述了对数据库行业现状与未来…...

Linux磁盘空间不足,12个详细的排查方法

在Linux系统运维过程中,磁盘空间不足是一个常见且棘手的问题。当磁盘空间被占满时,系统的正常运行会受到影响,甚至可能导致服务中断。因此,迅速有效地排查和解决磁盘空间问题显得尤为重要。本文将详细介绍16个排查Linux磁盘空间问…...

Spring Web MVC综合案例

承接上篇文章——Spring Web MVC探秘,在了解Spring Web MVC背后的工作机制之后,我们接下来通过三个实战项目,来进一步巩固一下前面的知识。 一、计算器 效果展示:访问路径:http://127.0.0.1:8080/calc.html 前端代码&a…...

微软预测 AI 2025,AI Agents 重塑工作形式

1月初,微软在官网发布了2025年6大AI预测,分别是:AI模型将变得更加强大和有用、AI Agents将彻底改变工作方式、AI伴侣将支持日常生活、AI资源的利用将更高效、测试与定制是开发AI的关键以及AI将加速科学研究突破。 值得一提的是,微…...

lvgl性能调优

LV_USE_PERFORMANCE lvgl_performance 是 LVGL 提供的性能分析工具,可以帮助开发者评估和优化图形库的性能。在一些特定的版本中,lvgl_performance 是一个宏或者工具,用来分析性能瓶颈,特别是图形渲染的效率。 下面是如何使用 l…...

CSS实现实现票据效果 mask与切图方式

一、“切图”的局限性 传统的“切图”简单暴力,但往往缺少适应性。 适应性一般有两种,一是尺寸自适应,二是颜色可以自定义。 举个例子,有这样一个优惠券样式 关于这类样式实现技巧,之前在这篇文章中有详细介绍: CSS 实现优惠券的技巧 不过这里略微不一样的地方是,两个…...

STL--list(双向链表)

目录 一、list 对象创建 1、默认构造函数 2、初始化列表 3、迭代器 4、全0初始化 5、全值初始化 6、拷贝构造函数 二、list 赋值操作 1、赋值 2、assign(迭代器1,迭代器2) 3、assign(初始化列表) 4、assig…...

ZooKeeper 中的 ZAB 一致性协议与 Zookeeper 设计目的、使用场景、相关概念(数据模型、myid、事务 ID、版本、监听器、ACL、角色)

参考Zookeeper 介绍——设计目的、使用场景、相关概念(数据模型、myid、事务 ID、版本、监听器、ACL、角色) ZooKeeper 设计目的、特性、使用场景 ZooKeeper 的四个设计目标ZooKeeper 可以保证如下分布式一致性特性ZooKeeper 是一个典型的分布式数据一致…...

“深入浅出”系列之C++:(11)推荐一些C++的开源项目

1. SQLiteCpp - 简单易用的Sqlite C封装库 仓库地址:https://github.com/SRombauts/SQLiteCpp 简介:SQLiteCpp是一个对Sqlite数据库进行C封装的开源库,代码行数约2,500行。它提供了简洁易用的接口,使得在C项目中操作Sqlite数据库…...

《重生到现代之从零开始的C++生活》—— 类和对象2

类的默认成员函数 默认成员函数就是用户没有显示实现,编译器会自动生成的成员函数,一个类会默认生成6个成员函数 构造函数 构造函数时特殊的成员函数,构造函数的初始化对象 函数名与类名相同 没有返回值 对象实例化的时候胡自动调用构造…...

“UniApp的音频播放——点击视频进入空白+解决视频播放器切换视频时一直加载的问题”——video.js、video-js.css

今天,又解决了一个单子“UniApp的音频播放——点击视频进入空白解决视频播放器切换视频时一直加载的问题” 一、问题描述 在开发一个基于 video.js 的视频播放器时,用户通过上下滑动切换视频时,视频一直处于加载状态,无法正常播放…...

【Pandas】pandas Series transform

Pandas2.2 Series Function application, GroupBy & window 方法描述Series.apply()用于将一个函数应用到 Series 的每个元素或整个 SeriesSeries.agg()用于对 Series 数据进行聚合操作Series.aggregate()用于对 Series 数据进行聚合操作Series.transform()用于对 Series…...

【博客之星2024年度总评选】年度回望:我的博客之路与星光熠熠

【个人主页】Francek Chen 【人生格言】征途漫漫,惟有奋斗! 【热门专栏】大数据技术基础 | 数据仓库与数据挖掘 | Python机器学习 文章目录 前言一、个人成长与盘点(一)机缘与开端(二)收获与分享 二、年度创…...

飞牛 使用docker部署Watchtower 自动更新 Docker 容器

Watchtower是一款开源的Docker容器管理工具,其主要功能在于自动更新运行中的Docker容器 Watchtower 支持以下功能: 自动拉取镜像并更新容器。 配置邮件通知。 定时执行容器更新任务。 compose搭建Watchtower 1、新建文件夹 先在任意位置创建一个 w…...

【Block总结】TAdaConv时序自适应卷积,轻量高效的时间建模卷积|即插即用

论文解读:Temporally-Adaptive Models for Efficient Video Understanding 论文信息 标题:Temporally-Adaptive Models for Efficient Video Understanding 发表时间:2023年 作者:黄子渊等 论文链接:arXiv 论文 代…...

Spring Boot 项目启动报错 “找不到或无法加载主类” 解决笔记

一、问题描述 在使用 IntelliJ IDEA 开发基于 Spring Boot 框架的 Java 程序时,原本项目能够正常启动。但在后续编写代码并重建项目后,再次尝试运行却出现了 “错误:找不到或无法加载主类 com.example.springboot.SpringbootApplication” 的…...

CSS 网络安全字体

适用于 HTML 和 CSS 的最佳 Web 安全字体 下面列出了适用于 HTM L和 CSS 的最佳 Web 安全字体: Arial (sans-serif)Verdana (sans-serif)Helvetica (sans-serif)Tahoma (sans-serif)Trebuchet MS (sans-serif)Times New Roman (serif)Georgia (serif)Garamond (se…...

Linux高并发服务器开发 第十五天(fork函数)

目录 1.fork 函数 1.1创建子进程 1.2getpid 函数 1.3getppid 函数 1.4getgid函数 1.5循环创建 n 个子进程 1.6fork后父子进程异同 1.6.1读时共享,写时复制 1.6.2fork后父子进程共享 1.6.3gdb调试父子进程 1.fork 函数 pid_t fork(void); 成功:…...

【人工智能】Python中的自动化机器学习(AutoML):如何使用TPOT优化模型选择

《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 随着机器学习在各行业的广泛应用,模型选择和优化成为了数据科学家面临的主要挑战之一。自动化机器学习&am…...

探秘自然地理:从太阳到地球的奇妙之旅与灾害预警

在浩瀚无垠的宇宙中,我们的地球与太阳紧密相连,它们的奥秘和变化,时刻影响着我们的生活。今天,就让我们一同深入探索自然地理的基础知识,揭开太阳与地球的神秘面纱,同时了解那些可能给我们带来巨大影响的自…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...

Java如何权衡是使用无序的数组还是有序的数组

在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...

rnn判断string中第一次出现a的下标

# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...

用机器学习破解新能源领域的“弃风”难题

音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)

RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...

【JavaSE】多线程基础学习笔记

多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...

数学建模-滑翔伞伞翼面积的设计,运动状态计算和优化 !

我们考虑滑翔伞的伞翼面积设计问题以及运动状态描述。滑翔伞的性能主要取决于伞翼面积、气动特性以及飞行员的重量。我们的目标是建立数学模型来描述滑翔伞的运动状态,并优化伞翼面积的设计。 一、问题分析 滑翔伞在飞行过程中受到重力、升力和阻力的作用。升力和阻力与伞翼面…...