收获不止数据库

小朋友都能懂的人工智能⓾大白话数据库

小朋友都能懂的人工智能⓵
小朋友都能懂的人工智能⓶ -卷积神经网络初探
小朋友都能懂的人工智能⓷ -惊世骇俗的狗故事

小朋友都能懂的人工智能⓸ -狗大师的修仙之路

小朋友都能懂的人工智能⓹ -不可思议的大模型

小朋友都能懂的人工智能⓺ -注意,句中高能!

小朋友都能懂的人工智能⓻ 无名故事与GPT4训练

小朋友都能懂的人工智能⓼无名故事与GPT4推理

小朋友都能懂的人工智能⓽ Hi AI, Database is all you need

第10集导读

本集讲述了数据库迷弟老智在设计自家大粮仓时,如何将“数据库”的诸多理念融入粮仓设计的有趣经历,从而引导读者更好地理解关系模型数据库的基本概念,具体对应关系详见正文。
随着业务的迅猛发展,大模型村粮食业务开始遍布全球,来自世界各地的客户的需求越来越多元化。此时,融入关系模型设计理念的大粮仓则有些力不从心。
而无名体内的乃是集合了向量、关系、GIS、图等多种模型的超融合数据库,其向量化模型在应对多元化需求中大放异彩,最终成功解决了难题,助力老智的粮食业务登上新高峰。
其实本集就是描述数据库如何与大语言模型完美结合的精彩实践!
让无名跟随老智和无名的脚步,一起走进这场数据与智能的盛宴吧......

36

存数据的数据库类似存粮食的粮仓,不神秘


L:前面我们聊到了数据库可以为大模型提供记忆,从而保障大模型能更好地落地。数据库这么神奇,大家想不想再多了解一点。

C妈:想啊!不过感觉数据库有些神秘,怕听不懂。

L:神秘?那咱们继续无名的故事。话说无名和老智凯旋归来之时,恰逢大模型村粮食大丰收,这可把老智高兴坏了。为啥,因为他在训练无名之余顺道做了一个副业,化身为大模型村的最大农场主。看着大米源源不断地往自家粮仓里运送,老智心情大好,于是泼墨挥毫,在自家粮仓大门题下三个大字——“数据库”。

Image

C妈:啥,“数据库”,这剧情反转的,不应该是题下”粮仓“吗?

L:不仅如此,老智还在每一袋粮食上都写下两个小字——“数据”。有题字的粮食才被允许进入粮仓。虽说把老智累的腰都直不起来了,不过他还是乐此不疲。

A:“数据”?不就是粮食吗?

L:要不怎么说老智是大师级人物呢?这是老智的行为艺术,他就是要用现实生活中的例子来让村民们明白数据库是什么,同时也用行动来向数据库致谢,感恩其不仅治好了无名的失忆,还让无名变得更强更自信了。

老智的题字已经告诉我们,“数据库”即“数据的库”,就是存数据的地方。在老智的眼里,粮食就是数据,而用来装粮食的粮仓,就是数据库。

A爸:哈哈,老智真是一个老顽童啊!对了,数据库存数据,仅此而已,有啥高深之处吗,或者我换个方式问,粮仓设计有啥讲究的地方吗?
L:当然有讲究,老智的这个粮仓可不得了,先说安全性吧。其外墙坚固能抵挡狂风暴雨、内室温度适宜能确保粮食不易变质、防盗大门设有复杂授权机制能确保粮食不被盗....老智逢人便说,“我是从数据库安全机制那得到启发,才想到要在粮仓安全性上下功夫的”。
A爸:那数据库的安全机制是怎样的呢?
L:数据库的安全机制更为复杂,涉及到数据库的备份、副本、回滚、授权、加密、脱敏等等,这是一个大话题,暂不展开说了。不过除了确保数据安全外,数据库在数据处理效率方面也极为出色。问大家一个问题,怎样最大限度缩短粮仓存储粮食的用时?
众人七嘴八舌,有的说用手推车运输粮食,有的说用传输带来运输粮食...
L:大家回答的非常好!我们来看看老智怎么做,他确实是用了手推车也用了传输带来运输粮食,不过他可是用了大量的手推车和传送带。老智说,“我是从数据库并行机制那得到启发,才想到这个方法的”。
A爸:数据库的并行机制怎么说?
L:数据库是运行在主机之上的,主机上的CPU如今都是多核的,数据库为此聪明地采用了多进程分别访问不同核的方式,实现了并行处理能力,从而大幅提升了性能。不过这种能力是需要提前规划设计的,好比粮仓想建造多条传输带,也需要提前规划设计的,可不是说有就有的。
A爸:老智不愧是一个智者。
L:不过话说回来,提升数据库效率可远不止并行操作这一种手段,还有许多其他方法,后续会给大家讲述。
C妈:还真别说,老智搞这么一出行为艺术,让数据库似乎好理解了许多。
L:是的,存数据的数据库类似存粮食的粮仓,不神秘。

37

存粮食的方式决定粮仓效率,数据库亦如此


A爸:数据库应该还有很多其他讲究吧?
L:当然。我们继续看老智的粮仓。粮仓存粮食只是第一步,要把粮仓用起来才更为重要。如何用?比如有这么一个问题,“从粮仓中取若干大米,如何知道粮仓库存够不够?” 
要回答这个问题并不难,只要知道当前粮仓的库存,结合所需取出的大米数量进行比较即可。不过,这可需要老智存储大米时施加技巧,提前规划好。

A:L老师,存储大米能有什么技巧啊?不就是将大米倒入粮仓,装不下就再找一个粮仓继续装呗。

L:小A的想法让粮仓存储大米时很省心,不过在使用粮仓时可就麻烦了。大家想想看,如果是将大米堆积在粮仓中,如何知道这些大米的库存,称重吗?如何知道该取多少,继续称重?这不仅超级麻烦,还增加了产生误差的风险。可以说,当初存大米时的快乐,全都转化成了未来取大米时的痛苦。

A:那老智是怎么做的?

L:大家还记得前面说过,他在每袋粮食上写上“数据”两字吗,请注意这个“每袋”。老智在存储时就考虑将大米用相同规格的袋子装好,确保每袋大米的重量固定且一致。如此一来,库存的大米就从杂乱无章走向井然有序。于是,我们查库存和查所需取出大米数量时,再也不用称重,只需统计大米袋数即可,是不是一下子就简单了许多。

众人恍然大悟。

L:当村民纷纷赞扬老智时,他谦虚的笑一笑,说正是数据库给他的灵感,这个包装成一袋袋的粮食对应数据库中被称之为“行”的东西。多行组成一个数据库块,而多个数据块组成表。

随后老智带着村民进入大粮仓参观,只见粮仓里设立一排排规格统一的货架,甚是壮观。每个货架都有许多格子,粮食袋就放进格子里。

Image

此时老智忽然来了雅兴,在装着大米袋货架上写下“大米表”三个大字,在装着玉米袋的货架上写下“玉米表”,在装着小米袋的货架上写下“小米表”......做完这些后,老智笑着对大家说,这些货柜的设计正是数据库给他的灵感。刚提到的数据块就是这些格子,刚提到的数据库的表正是这些货架。

A爸:老智这一通表演很不错,确实让大家对数据库的认识变得更直观了。

L:嗯,我们继续。老智有一个幸福的烦恼,大丰收导致老智的粮仓要装不下了,而建新粮仓显然又来不及。

不过老智很快就想到了好主意,他请人将粮食袋中的空气抽干,这样每袋粮食的体积立即减半,于是乎粮仓存储空间不足的问题立马得以解决,不仅如此,还更有利于长时间保存了。

C妈:好主意,老智的这个想法总不至于也是受到数据库的启发吧?

L:还真是哦,面对村民们惊讶的表情,老智自豪地说自己的灵感来源于数据库一种存储相关技术,叫数据压缩。

A爸:哈哈,老智成为数据库的老迷弟了啊!细品粮仓的这些设计方式,真心觉得存储的规划太重要了。

L:是的,存粮食的方式决定粮仓效率,数据库亦如此。


38

卖粮食,在关系模型数据库中真的很方便


C妈: L老师,您对粮仓使用仅举了一个库存的示例,还有其他场景吗?

L:好,假设有人要来粮仓买两袋大米和三袋小米,我们看看老智如何操作呢?

首先老智找到标有“大米表”的货架,也就是到了存储大米所在的位置,接着从货架上拿出两袋,放进购物车中,同样的方式老智在标有“小米表”的货架上拿出三袋小米放入购物袋,最后一并交予购买者,操作完毕。老智自豪地告诉村民,正是数据库的设计理念让他的操作变得相当简洁,对应在数据库中的代码如“select * from 大米表...”。

A爸:老智说的这个代码就是数据库里查表的方式。

L:是的!看来A爸对数据库还是有所了解的。在关系型数据库中,数据就是以行列组成的二维表格形式存储的。每一行都是一条完整的记录,每一列对应一个字段,如粮食的产地、出产日期、价位等等。

这个老智啊,还真是个不折不扣的数据库老迷弟。大家看一个复杂的示例。假设有人要买两袋东头村10元的大米,怎么操作?是不是找起来有点不容易了。接下来我们看看老智给村民们的演示,看他如何将数据库精髓淋漓尽致地应用到粮仓设计中。

老智带着村民来到了标有“大米表”的货架,只见货架分为红黄蓝绿四个区域,原来分别对应着东头村、西头村、南头村、北头村。老智来到红色区域,根据贴着价位的标签寻找10元的大米。很快,两袋10元的东头村大米,被放入了购物车中,操作完毕。

B爸:这个货柜分四个区域的组织方式听起来很不错。

L:是啊,村民们也是这么认为的,问老智是怎么想到这个思路的。不用问,灵感肯定又是来自数据库。是的,这就是数据库的分区表特性。最后老智不忘秀了一把简洁代码:“select * from 大米表 where 产地=东头村 and 价位=10元....”这里需要强调一下,到现在为止我们所说的,都是基于关系模型的数据库哦。

C妈:听起来很有趣,我终于对数据库有概念了。

L:当然了,关系模型数据库还有很多其他细节没有提及,比如好比建立货物目录的索引技术,暂且不展开了,简而言之,卖粮食,在关系模型数据库中真的很方便。咱们把粮仓和关系型数据的类比做一个小小的总结,如下图所示。

Image


39

需求的多样性与老智的困惑


L:老智的才能折服了大模型村全体村民,于是大家推举老智带领大家发家致富,很快大模型村的粮食业务开始遍及全球,原来的粮仓也升级成为了超级粮仓,存放着来自世界各地的各种大米、小米、小麦、玉米、高粱等粮食,每一种粮食又有不同的品种和等级。

Image

A:老智真厉害啊!

L:是啊,不过老智也遇到了麻烦。老智的粮仓按照粮食的种类、产地、等级等来进行分类存储。随着粮食品种和客户规模的不断扩大,老智要面对的需求也变得更加多样、复杂且难以应对。

A爸:怎么个多样和复杂?

L:比如,一位来自意大利的客户想要寻找一款口感软糯、颗粒略长的大米,用于制作意大利烩饭。一位来自日本的客户,想要寻找一款粒形较短、黏性较强的大米,用于制作寿司。一位来自中东的客户想要寻找一款高筋度、富含蛋白质的硬质小麦,用于制作面包和披萨饼。还有一位来自非洲的客户,想要寻找一款颗粒均匀、色泽鲜亮的小米,用于制作传统的小米粥和小米饭。

除了各种粮食品种的特殊需求,客户对粮食的营养成分、加工特性、储存条件等方面也提出了更高的要求。一些健康餐厅需要淀粉含量低、蛋白质含量高的粮食;一些大型食品加工企业需要水分含量稳定、不易碎裂的粮食;一些物流公司需要耐储存、不易霉变的粮食。

面对如此复杂多变的需求,老智意识到传统的粮食管理方式已经无法满足客户的需求了。

A:为啥呢?

L:因为这已经不是一个特定的某品种某产地某价位的确定性需求了,如果是这样属于经典的关系型数据库场景,粮仓的设计是可以应对。现在的需求是维度很多且复杂多变不固定,此时传统的关系型数据库模式就显得非常困难了。

A:原来是这样。

L:现在老智需要一种更加智能化、精细化的管理方式,能够快速、准确地匹配每一位客户的特定需求,这是一个挑战,更是一个机会,如果能完美满足这些来自世界各地五花八门的多元化需求,老智的业务将达到一个全新的台阶,现在老智的粮仓拥有全世界最丰富的粮食品类,是具备满足这些多元需求的前提条件的,缺少的就是实现的技术手段,怎么办?

A:L老师,您不说我还真想不到会有如此多元的需求啊,大开眼界了。

L:就在此时,老智撇了一眼正在疯狂自我训练的无名,忽然一拍大腿,喊了一声,哎呀,我怎么就没想到啊!


40

集向量、关系模型为一体的超融合数据库


A爸:发生什么事了,无名要闪亮登场了?

L:是的,大家别忘了,无名的体内可是植入了数据库啊。而且是一种超融合数据库,既能支持关系模型,又能支持向量模型,还能支持时序、GIS、图......而现在向量模型数据库正好在当下有着用武之地。老智意识到这一点,乐坏了,真是天助我也!老智兴奋地喊来无名,他们的对话开始了。

老智: 无名啊,大模型村的粮仓管理面临着前所未有的挑战,不同地区的客户对粮食的需求千差万别,有的追求口感,有的注重营养,还有的希望匹配当地的特色菜肴。传统的粮食分类方式已经无法满足日益增长的个性化需求。我忽然想到,你体内的那个向量模型数据库,很可能是破解当下难题的关键!

无名: 是啊,您说的是对的!我体内的向量模型数据库可以将粮食的各种属性,如口感、颗粒、营养成分、适合的菜系等,都编码成高维向量。通过计算向量之间的距离,就可以精准衡量粮食的相似程度。这样一来,无论客户提出什么要求,我们都能快速找出最匹配的粮食组合。而且您别忘了我可是有深度神经网络加持,具有强大的大语言模型能力,您找我办正事,可是找对了啊。

Image

老智:啊,你既然这么清楚,为啥不早点告诉我?

无名:可您也没问我啊。

老智忽然意识到最近自己真是忙糊涂了,眼前的无名可是拿到AI盟主的大侠,又结合了甲骨大师植入的数据库,可谓神通广大,当初要是早和无名交流,哪还会有现在的烦恼。不过好在现在意识到也还来得及,于是老智说干就干,和无名紧锣密鼓的投入到工作中去。

他们先是对超级粮仓内所有粮食进行了全面采集和分析,从数百项指标中提取出最能代表粮食特性的关键属性。接着,他们将这些属性向量化,存入无名体内的向量数据库,并与原有的关系型数据库实现了无缝对接,打造出了一个超融合数据库。

几经优化,一个基于超融合数据库的智能粮食推荐系统终于诞生了!这个系统采用了先进的机器学习算法,能够根据客户输入的喜好、用途等条件实时推荐出最合适的粮食组合。比如,来自意大利的客户想要制作传统的意面,系统立即推荐了颗粒均匀、筋度适中的杜兰小麦;而来自新加坡的客户希望用米制作充满东南亚风情的海南鸡饭,系统则找出了那批颗粒饱满、软硬适中的原产地大米。

不仅如此,无名还能根据客户的反馈自主学习,不断优化推荐策略。渐渐地,无名俨然成了一位“懂你所需”的私人粮食管家,能够为全球客户量身定制专属的粮食解决方案。

A爸:今天收获太大了,不仅让我了解了关系和向量模型数据库,还通过无名和老智的故事深刻体会到大语言模型和数据库的结合的巨大威力,给我极大的启发。

L:大家还记得上次我们提到的老智和老甲提过他在憋一个大招吗,这个大招并不是回来后成为农场主这件事,而是培养一种能让无名能发挥更大用武之地的超能力。也正是因为一直在训练无名这个能力,导致老智都没想到让无名来解决粮食多元化需求的问题。接下来无名的这个超能力要爆发啦!

小朋友们:是什么超能力啊,快说快说。

L:时候不早了,咱们下回分解吧。