文章目录
1. 有什么收获?
- 了解数据库发展历史和发展趋势
- 了解向量数据库发展历史、应用、构建、发展趋势
- RAG处理流程、数据库技术选型、落地案例
- 厘清RAG中检索概念?标量检索、向量检索、全文检索、图检索、混合检索?
- 哪些有效的数据库认证证书?
2. 过去:数据库的发展历史?
2.1 1970~1980年代-关系型数据库兴起
- 图灵奖:Charles Bachman-数据库概念
- 人物简介:查尔斯·巴赫曼(Charles Bachman)是数据库管理系统(DBMS)的先驱之一,被誉为“网状数据库之父”。他在1961年开发了世界上第一个数据库管理系统——集成数据存储(Integrated Data Store,简称IDS)。IDS采用网状模型,这种模型通过网状结构表示各类实体及其间的联系,允许一个实体与多个其他实体建立关系。
- 相关文章:《DBGT》中描述了现在很多数据库的概念,包括:数据库、DDL、DML(增删改查的函数、语法规则、通用规则;SQL排序(ASC、DESC))、唯一标识符、数据项、记录、集合(表)、索引、锁、数据类型(整数、浮点数)、类型等数据库相关概念。
- 数据库产品:通用电气第一代网状数据库管理系统–IDS
- 国内市场:空白
2.2 1980~1990年代-OLTP兴起
- 图灵奖:Edgar Codd-关系模型
- 人物简介:埃德加·弗兰克·科德(Edgar Frank Codd)首创了关系模型理论。
- 相关文章:《A Relational Model of Data for Large Shared Data Banks》中提出了科德十二定律,包括一种基于谓词演算的数据子语言,用于描述和操作关系数据库,并实现数据的查询、更新和删除等操作(SQL的概念来源);数据独立问题:顺序依赖、索引依赖和访问路径依赖;保证访问准则:依靠表名、主键和列名的组合,保证能以逻辑方式访问关系数据库中的每个数据项。
- 数据库产品:IBM的DB2,Oracle,由ANSI 统一标准SQL。
- 国内市场:1985年由魏中朝先生引入Oracle,成立最早的Oracle中国办事处,之后引入Sybase办事处。主要应用在交通部,比如对交通部年底做财务报表统计、交通部船舶在港停时统计等等。
2.3 1990~2000年代-OLAP
- 图灵奖:Jim Gray-事务处理
- 人物简介:詹姆斯·尼古拉·“吉姆”·格雷,于 1998 年因“对数据库和事务处理研究的开创性贡献以及系统实现中的技术领导地位”而获得图灵奖
- 相关文章:《Transaction processing》中探讨了数据库ACID特性;事务的实现方式:时间域寻址(将银行存款添加时间进行访问),日志和锁定(MySQL的Binlog日志)。
- 数据库产品:IBM的DB2,Oracle的ExaData,Sybase的SQL Server,以及Teradata等数据仓库产品,MySQL/PostgreSQL。
- 国内市场:Sybase进入中国,与Oracle竞争。Sybase提出Client/Server,多线程、存储过程等概念,并提出“扶上马,送一程”,“送100套数据库给中国100所大学”。此时,数据库开始应用于国内的政务部门,包括税务、银行、铁路、环保、水利等部门,对于银行业,则实现了通存通兑、实时到账、异地存取、信用卡业务等新形态业务。此时,国内数据库产品人大-金仓、华中-达梦开始诞生。
2.4 2000~2010年代-大数据
- 图灵奖:Michael Stonebraker-数据库系统
- 人物简介:迈克尔·斯通布雷克(英语:Michael Stonebraker),美国计算机科学家,研究领域为数据库。通过一系列学术原型以及初步的商业化,斯通布雷克在关系数据库方面的研究结果对现今市场上的产品有很深的影响。
- 相关文章:
- 数据库产品:IBM的DB2,Oracle的ExaData,Sybase的IQ,Microsoft的SQL Server,以及Teradata等数据仓库产品,开源数据库:MySQL/PostgreSQL。
- 国内市场:NoSQL数据库流行,例如内存数据库TimesTen,嵌入式数据库PowerBuilder,列式数据库Sybase IQ,分布式文件系统Hadoop。同时,随着互联网快速发展,开源数据库如MySQL、PostgreSQL。此外,基于CRM的客户关系管理系统流行,主要用于管理公司与客户的互动,系统后台会对市场客户进行画像分析,比如中国移动动感地带的套餐推荐。
2.5 2010~2020年代-云原生/分布式
- 图灵奖:Leslie Lamport- 分布式一致性仲裁算法
- 人物简介:他最著名的贡献是在分布式系统中的逻辑时钟和事件排序,Bakery算法和互斥解决方案,并发程序的规范和验证,不可靠网络中的Paxos协议,以及复制状态机(Replicated State Machines)的概念。从而获得图灵奖。
- 相关文章:《Time, clocks, and the ordering of events in a distributed system》中探讨了分布式系统中事件的顺序问题,并提出了一个分布式算法来解决时钟同步问题。
- 数据库产品:NoSQL:Redis、MongoDB、HBase、ElasticSearch,AWS的Aurora,谷歌的Spanner。
- 国内市场:云厂商晋升数据库厂商领导者象限,第1步实现数据库上云(即在云上托管开源数据库,如MySQL、Redis、MongoDB等),第2步实现云原生数据库(通过池化和存算分离,实现对每一个计算/存储的资源进行极限压缩,从而实现计算/存储成本收益与用户需求的匹配)。做云是互联网公司的技术外溢,此时互联网公司基本也都使用大数据驱动推荐系统,比如:电商系统构建用户画像,再基于推荐规则进行推荐。
2.6 2020~至今-大模型/向量数据库
- 图灵奖:Yoshua Bengio,Geoffrey Hinton,Yann LeCun-深度学习-大模型
- 人物简介:辛顿是反向传播算法和对比散度算法(Contrastive Divergence)的发明人之一,也是深度学习的积极推动者[11],被誉为“深度学习教父”[12]。辛顿因在深度学习方面的贡献与约书亚·本希奥和杨立昆一同被授予了2018年的图灵奖。
- 相关文章:《Deep Learning》中为读者提供了深度学习领域的全面概览,包括其基本概念(网络结构,卷积神经网络,RNN,LSTM)、关键技术、成功应用案例以及未来的发展方向。
- 数据库产品:向量数据库:Milvus、Pincone、Weaviate,图数据库:Neo4J、TuGraph,多模数据库:data warebase、Lindorm、kaiwuDB、崖山数据库。
- 国内市场:自从信创以来,国内数据库出现爆发式增长,目前登记在册的国产数据库的名字超过280个,包括关系型数据库、图数据库、时序数据库等等类型。随着信创和政府支持,国产的数据库逐渐进入金融的交易核心。
3. 现在:向量数据库的介绍、应用、构建、趋势
3.1 向量数据库的介绍
- 向量:具有大小和方向的几何对象。在深度学习中,经过模型输出为高维的向量,不同维度表示不同的特征。
- 数据库:数据的存储系统,满足数据存储和读取的需求。主要分为MySQL为代表的关系型数据库,以MongoDB为代表的非关系数据库。
- 向量数据库:向量数据库是一种专门设计用于存储、检索和管理向量数据的数据库系统。可以通过计算用户查询和库中文本块的相似度,从而召回语义相似的文本,交由大模型,做知识库问答等。
3.2 向量数据库的应用
3.2.1 以图搜图
- 途家以图搜图
- 将历史图片集使用ResNet-50提取图片特征并转化为一维向量,存储到向量数据库中
- 将需要查找的图片使用RestNet-50提取图片特征并转化为一维向量,通过向量数据库召回相关的图片
3.2.2 RAG本地知识库
- 效果:有驾智能体
- RAG数据处理流程
- 文档存储到到向量数据库:数据爬取 -> 文档解析 -> 文本切片 ->文本向量化 -> 存储到向量数据库
- 回答用户问题:用户问题 -> 用户问题向量化 -> 相似度计算召回文本块 -> 将召回的文本块添加到提示词 -> LLM模型输出
- 技术选型
-
文档解析:
解析类别 开源项目 基于规则的Java开源库 Apache PDFBox,POI,Tika 基于规则的Python开源库 PyPDF2,PyMuPDF,PDFMiner, PDFPlumber,pagemage 基于模型的开源库 UnStructured,Layout-parser,PP-StructureV2,PDF-Extract-Kit,MinerU,marker -
模型选择:
模型类型 模型名称 开源的LLM模型 Qwen2,Yi,InterLM 闭源的LLM模型 GPT4,DeepSeek,Qwen2,GLM4,Yi Embedding模型 BGE-M3 Rerank模型 BGE-Rerank-Large -
数据库:
1.使用单模数据库:
数据库类型 检索方式 数据库 关系型数据库 标量检索 MySQL/PostgreSQL 文档型数据库 全文检索 ElasticSearch/ OpenSearch 向量型数据库 向量检索 Milvus 图型数据库 图检索 Neo4j/TuGraph 2.使用多模数据库:PostgreSQL
数据库类型 检索方式 数据库 关系型数据库 标量检索 PostgreSQL 文档型数据库 全文检索 Tantivy 向量型数据库 向量检索 pgvector 图型数据库 图检索 AGE 3.使用云厂商数据库
云厂商名 数据库名 小质科技 Data Warebase 阿里云 瑶池数据库 百度云 VectorDB
3.3 向量数据库的构建
- 实现单机向量数据库:使用Faiss库实现扁平搜索,使用HNSWLib库实现多层次图索引,从而实现向量检索功能;然后使用RocksDB库实现标量检索(类似于SQL中用户年龄小于30的查询);最后使用cpp-httplib库提供HTTP服务
- 实现分布式向量数据库:使用NuRaft库实现主节点选举和数据复制,使用Etcd库存储元数据,再持续实现集群流量管理、集群异常管理、集群分片的特性。
- 优化向量数据库:使用gRPC库优化通信协议,使用jwt-cpp实现SDK集成鉴权,再持续集成性能优化、成本优化、易用性优化等特性。
- 详细参考从零构建向量数据库
3.4 云厂商的向量数据库发展
- 小质科技 - Data Warebase:
- 这个数据架构范式图主要讲了一个原生互联网应用的数据架构演进故事。一开始,基于MySQL等关系型数据库构建一个含前后端的Web/APP系统;之后,随着系统用户越来越大,使用MongoDB提升水平扩展和并发能力;同时,用户对于搜索商品时,使用ElasticSearch等实时搜索引擎;随着数据量积累,全量同步到Hive等数据仓库中,使用kafka+Flink增量同步到Hive中,然后使用BI工具进行业务分析;针对定时调价等场景,需要通过数仓的数据,进行模型训练和微调;为了更好的理解和回答用户问题,引入Milvus向量数据库语义理解和回答用户问题。也许,这是一部分企业的数据架构的演进和发展之路。
- 但是,链条越长,系统的可靠性和稳定性越差,对于性能、正确、实时的满足力越弱。因此,多模数据库也由此诞生,数据方面:包括表等结构化数据、Json等半结构化数据、图片等非结构化数据;查询方面:支持标量查询(SQL)、关键词查询、向量查询、汇总分析;系统物理性能方面:支持性能、正确、实时性,因为是单一数据库,减少了很多数据同步的困扰;此外通过统一的API、数据存储、兼容已有生态实现极简的体验。从多个数据库到单一数据库,极大的降低开发和运维成本,提升实时、准确、性能,提升用户体验。
- 阿里云 - 瑶池数据库:
阿里云以瑶池数据库为一体,实现云原生一站式数据管理与服务。数据主要包括结构化数据,json等半结构化数据,图片等非结构化数据,传感器等流数据。数据库主要包括关系型数据库PolarDB,云原生多模数据库Lindorm等数据库。最终实现交易分析、全景洞察、数据编织等场景。
NoSQL多模数据库Lindorm,可以处理宽表、向量、JSON、非结构化数据的数据,使用全文+向量+标量检索,以统一的SQL进行查询和检索
- 百度云 - VectorDB:
云向量数据库作为整个知识库技术体系的基础,包括数据工程,大模型工具链(精调,部署),Agent等核心支撑,最终服务于企业知识库,客服/销售场景等等。
4. 未来:智能数据库的未来
1. 多模态数据支持:结构化数据(表)、半结构化数据(JSON)、非结构化数据(图片)
2. 自我优化:更聪明的优化器(执行计划、统计信息),参数优化,SQL优化
3. 智能开发运维:自然语言查询,故障自愈,根因分析
5. 自己收获的心得
- 超融合数据库成为一种趋势:小质科技:Data Warebase,阿里云:Lindorm,浪潮:kaiwuDB,深圳计算研究所:崖山数据库
- 云向量数据库趋向于整合RAG整个数据处理流:解析、索引、检索、生成
- 概念厘清:标量检索、稠密向量检索、全文检索、图检索、稀疏向量检索、混合检索
检索类型 说明 标量检索 在数据库中检索单个值的操作,比如在传统MySQL关系数据库中使用where的条件过滤,如年龄小于18岁。 向量检索(稠密向量检索) 在向量数据库中,将输入向量和向量数据库中向量集进行相似度计算,召回对应的向量ID和文本 比如RAG知识库召回时,将用户问题向量化后,从Milvus等向量数据库召回对应的向量ID和评分。 全文检索 在Elasticsearch等文档数据库中,通过对文档分词,通过TF-IDF/BM25进行相关性计算。比如搜索引擎中,通过用户问题查询相关文档。 图检索 在Neo4j等图数据库中,以知识图谱为主体的应用场景,召回对应的节点/边/子图。 稀疏向量检索 一般以词表为向量维度,但是绝大多数维度值为0,特别适用于具有高维稀疏特性的领域。 混合检索 结合上述2种以上的检索方式,就叫做混合检索。一般是指标量检索+向量检索(稠密向量检索) - 有效的数据库认证证书:MySQL证书,PostgreSQL证书,Oracle证书,OceanBase证书
- 阅读相关的RAG论文:RAG,Self RAG,GraphRAG,Searching for Best Practices in RAG,RRF
- 可以在进行混合检索后,修改RRF的k值区替代Reranker模型
- ReOrder概念:将召回的片段,按照模型对不同位置的提示词注意力不同,进行重新排放位置
- Embedding时对原文本进行优化方案:去除原文本的Url,添加关键字,添加主题,添加上下文(设置一定比例的Overlap)
- prompt与Agent业务应用:单一prompt聚焦于具体的业务事件,单个Agent作用于单一垂类业务(多prompt)
6. 总结
- 数据库的发展伴随着计算机行业持续发展。从最初用于国防科学研究的层次、网状数据库,到大型商业应用的Oracle的关系型数据库,再到用于企业信息化的Teradata的数据仓库,再到用于搜索等互联网的如MySQL的开源数据库,再到用于云计算的Aurora分布式云原生数据库,以及当下用于大模型知识补充的Milvus向量数据库。
- 随着数字化的业务需求不断发展,数据库支撑的业务形态也不断变化,分出过很多衍生。从OLTP、OLAP、HTAP、时序数据库、图数据库、GIS数据库、向量数据库。而现在,因为数据一致性、实时、智能化等,逐渐开始合并,发展成现在的多模数据库。
- 作为在业务和计算机作为中间语言,SQL满足了近30余年的业务需求。如今大模型自然语言理解的能力,在编写常见SQL时已经比较完备,N年后人与数据库的交互应该会智能,对业务需求的自然语言描述,从而获取文本/数字/图等各种数据,同时进行总结归纳和推理分析。数据智能,正在路上。
- 本次DTCC大会,总共花费3天,期间听了包括清华等大学针对数据库的演讲,也听了阿里云等云厂商以及Data Warebase等数据库厂商的分享。在进行RAG和向量数据库分论坛时,都会带部分RAG的相关技术和数据处理流程,也是有所学习。期间,很多数据库厂商也是在线下展览,进行体验。很高兴看到国产数据产品今天的繁荣,看到如崖山数据库团队的刻苦研发,也跟Data Warebase的进行融合数据库的交流。整体而言,也是对数据库的发展,数据库的技能认证,大模型和向量数据库有了新的一些知识扩展,还是很不错的。
7. 参考资料
- DTCC.第15届中国数据库技术大会.
- 腾讯云.中国数据库前世今生.
- 罗云.从零构建向量数据库.
- Charles Bachman.DBGT.
- Edgar Codd.A Relational Model of Data for Large Shared Data Banks.
- Jim Gray.Transaction processing.
- Leslie Lamport.Time, clocks, and the ordering of events in a distributed system.
- Yoshua Bengio,Geoffrey Hinton,Yann LeCun.Deep Learning.
- 小质科技.分布式 Data Warebase - 让数据涌现智能.