粉丝706获赞1764


一个例子让你弄懂数据库。这要先从我国的中医讲起。中医的一大特色是中药,各种各样的药材,寒热温凉、生 降福臣,药性各不相同,成千上万种中药,管理起来非常不便。我们勤劳智慧的老祖宗就想了个办法,打造一个装满抽屉的柜子,每个抽屉的外面写上药名,按药性把抽屉涂成不同颜色,韩信用蓝色, 温性用红色,剩下的用拼音或笔画排序,这样药师们就知道从哪里抓药了。比如要找人参,那肯定是在最上面笔画少的一排,熟悉之后还能快速锁定第几横排、第几纵列。如 果想新增一种药材怎么办?那就加一个空抽屉。如果有药品过期了怎么办?那就把整个抽屉拿走。 其实计算机也是这样管理数据的,上面说的中药贵,就是一种传统的关系型数据库。加药、换药、找药,相当于关系型数据库的增山改查。传统的关系型数据库是遵从 acid 原则的, 用银行转账例子简单解释下原子性,要么转账成功,要么转账失败,不会有中间状态 制性。转账前后, a 和 b 账户的总额是一百元,即转账后 a 少了一百, b 多了一百。隔离性转账时, a 可以操作自己的银行账户, b 也可以查询自己的银行账户,彼此不知晓,不影响 持久性。转账完成后所做的更改会持久保存在数据库之中,并不会被回滚。我们熟悉的银行、证券、交易所等,大多是关系型数据库在支撑的, 还有其他几种类型的数据库。比如你在逛淘宝时,有喜欢的商品就会加到购物车里,购物车里上百件商品的数据管理,用关系型数据库就会很复杂,他们之间也不需要遵从 acid 原则。这时候就可以用 电池数据库来存储购物车信息,因为它具有良好的伸缩性,理论上可以通过横向扩展实现无线扩容。 再比如,一些大型连锁快餐店,储存了各种维度数据,包括门店的 poss、 销售数据、会员信息、不同时段的历史消费数据、天气数据等。这时候就需要一个数据仓库来存储,并 深入分析,做出精准业务决策。午餐高峰期应该多准备鸡翅还是多准备汉堡?而一些互联网社交平台,如微博等,往 网友几亿用户,涉及几十亿、几千亿到几万亿的连接关系。想要快速寻找 a、 a 与 b 的关系,可以利用图数据库。很多社交媒体的内容推荐都是给予图数据实现的。 一直以来,因为数据种类繁多,很多企业都会选用多种数据库,根据业务场景需要混合使用,这种局面可能要被改写啦。最近,阿里云推出了一种全新的数据库产品形态,云上专属集群。麦贝斯 般的云数据库可以比作一个大火锅,大家需要共享一口锅,客户需要共享主机资源池,同一台主机可能有不同客户的实力,做到资源零干扰的挑战非常大。 不同于共享大火锅,麦贝斯更像是小火锅一人一锅专属定制,客户主机完全独占高隔离级别,不存在任何主机层面的干扰, 更加安全稳定。小火锅的另一个好处是自主选择锅底食材、调料,完全可以根据个人口味来定制,内盒有阿里云兜底, 同时又开放了数据库全部权限和可控的 os 权限,满足客户的自主控制需求。吃火锅时,火候大小十分灵活,食材下多了就调大火候,少了就调小火候。 相应的,麦贝斯内置弹性升级能力,长时间资源使用超过百分之八十,就会自动弹性升级,对用户无感,平滑度过高峰, 非常适合在线教育等有明显业务周期的客户。开学期间增加计算资源均匀分布,寒暑假可自动调整为紧凑策略,节省成本。火锅还有个好处是食材种类多样且不会浪费。青菜、 海鲜、牛肉、羊肉,所有食材混在一起煮,小小一口锅,万物皆可涮。麦贝斯也将具备资源混合部署能力,可以混合部署多个数据库,数据库与业务系统就近部署,满足业务架构实际诉求,提升数据库反问效率。 如办公类产品供上班时使用,定时数据分析产品则在晚上开启进行大量计算使用。麦贝斯客户可以自由组合业务的主机分布,将错峰的业务混搭 部署在同一个服务器上,提高资源利用率。怎么样,是不是越来越懂数据库啦?我是阿云,阿里最懂技术的男人!

买 circle 数据库的缩影是什么呢?买 circle 呢,它是个数据库啊,它这里面会存比如说几百上千,甚至是几百万条记录,所以呢我们就会事先把我们的这个里面存的这些内容按照某一种规则,哎,先给它排列出来, 然后我们查询的时候呢,也会按照某种规则去查,这样的话我们就可以避免很多无用的劳动。那在马斯扣里它这个锁芯的结构啊,它是一颗竖形的结构啊,准确的说这个东西叫必加数,它在这个建立这颗锁芯这棵树的时候,它是有一定的规律的。 你看啊,他在上面这个地方,他这个是八,然后这个是二十,这个是小的,这个是大的啊,那我们这个八,你朝左面这个分支来看呢,就是所有小于八的,他都会向左面这颗分支在这下面来记录啊,中间八到二十,中间会在 这棵树下来,那这二十的右边呢,就是完全是比二十大,比如说我们想找一个七这个数字啊, 那他查的时候,他就可以直接向左面来看,我们可以节省至少一大半的时间。然后你再往下来再看一下呢,到这七,哦,七一看比六大,那肯定往左面一走,那我们找两次就可以找到了,这个就是他,所以可以节省我们数据库里查找时间的这一个原理。

好,这期视频呢,我们来了解一下数据库这个东西,那这期视频呢主要分成为两个内容,一个是我们介绍一下什么是数据库,数据库是干什么的,然后呢再介绍两个跟数据库有关的比较重要的两个概念。 那首先什么是数据库?那数据库他的英文就是 date bass, 那你从这个中文翻译啊,也能知道他就是一个一个仓库的意思,就是存放数据的仓库的意思。那像这种所谓的仓库呢?他存放的是什么数据呢? 呃,他存放的其实就像比如我们,呃网站注册网站的这个会员 app 的这个用户提交给这些网站,或者提交给这 app 的用户名啊密码。还有就是比如说我们在网站上购物产生的各种各样的这种订单的信息, 还有我们收货地址,还有就是比如说我们在各种平台上发布的这种帖子,这种文字啊评论等等,以及围绕这些数据产生的其他数据。比如说你发帖子的时间,产生的购物的订单号,这些自动附带产生的数据。 像这些数据呢都是放在数据库中进行保存和管理的,你会发现他们这些信息都有一个特点,就是他们本身是零碎的,他是可以文字化、字符化这样进行保存的。 那如果像这些信息,如果我们是在自己电脑上做一个记录的话呢?我们一般来说如果做的专业一点,我们肯定会新建一个文档来记录啊,做一个表格,比如说 excel 的表格,然后把这些信息汇总到一个文档里,对不对? 数据库呢?其实是为各种应用服务的,他其实也是一个记录者、管理者的角色。那比如说我们刚才说 说到的那些各种各样的数据,像这些数据呢,也是需要储存的,那数据库呢,也会把它们整理到一些文档当中,然后 管理起来。只是说这些文档并不是像我们常用的这些 excel 表格类似的这种格式的文档,而是数据库自己的这种文档格式,那这些文档呢,本质也是保存在这个计算机的硬盘上,或者是说服务器的硬盘上。 那像数据库呢,这是一个非常形象的说法,毕竟仓库这种东西其实是现实生活中才有的, 所以计算机中其实没有所谓的仓库。那仓库呢,作为我们生活中的一种概念,用到计算机中其实是一种形象的称呼。那么真正在计算机中实现这种类似仓库的这种管理数据方式的呢?其实是数据库系统,或者说是数据库的程序,那这个程序呢,就是负责这些数据 据的存储和管理的。那这里要注意哈,像我们平常的那种单独的文件,比如说图片文件、视频文件或者其他的文件,还有比如说像 pdf 啊, word 文件这种单独的独立的文件,他们一般来说是不保存在数据库中的。 这些独立的文件呢,会直接保存在服务器上,以单独文件的形式来保存,那就像我们在电脑上保存一样,他们其实就是被放置在某个服务器的这个硬盘中。 那现在呢,有很多的这种呃云服务,提供一种叫做对象存储的服务,其实就是用来存储这些图片、视频等等独立文件的, 那像数据库中如果要去保存这种独立文件呢?其实很多时候我们保存的并不是文件它本身,而是这些文件的访问地址,那这个访问地址呢?其实就是一堆的字符。 那比如说像百度云盘我们经常用的这种,这种云重存储服务,其实也是一种就是比较大众化的这种对象存储服务。那当你上传了某个文件之后呢,你就可以获得到这个文件的一个访问地址,或者说是下载地址, 那这个地址呢,其实就可以作为一个数据存储到相应的这个数据库中。那数据库呢?它其实有两个两大类型,一个是 关系型数据库,然后是这个非关系型数据库。那像这里展示的有这么多不同的这种数据库的名称, 他们就像我们生活中的很多产品是一样的,就是他们有各自的优点和缺点,他们的功能都是用来存储和管理数据。大家可以注意到这边这个关系型数据库里面,他总会冒出三个字母叫 s q l。 啊,那什么是 s q l 呢? s q l 就是 structured query language 啊,就是 s q l 它的一个首字母的缩写,它其实就是一种数据库的结构化查询语言啊,它是一种语言,就是你用来写这种数据库的查询的这种代码的, 那像关系型数据库呢,一般都是用这个语言来去写很多的这种呃数据库的各种功能的这种代码。 那说到这里呢,可能有同学会好奇,为什么我们好像没有在电脑中看到过数据库呢?那首先一般的数据库的使用普通用户是接触不到的, 其实你本地的电脑上也有数据库,也有程序运行的时候会需要本地的数据库,但是这都是后台运行的,我们是无法感知的。而那些和互联网产品有关的数据库呢,绝大部分时候它是运行在 远端的这个服务器上的。当我们通过网站或者应用上服务器发送一些数据,进行一些访问或者创建的这个请求的时候呢,服务器在接收到请求之后, 他会通过后端啊服务器的代码来调用数据库的程序,对数据库进行 c r u d 的操作。那所谓这里的这个 c r u d 呢,其实是四个操作的简写,就是 create、 read 和 update 以及 delete, 就是创建、读取、更新和删除的这四种操作。那因此呢,我们像提交新的数据,像呃注册新的会员,服务器会接收到我们提交的注册会员信息, 他就会创建新的一个用户的数据,然后把相应的比如说用户名和密码之类的信息保存到这个数据库当中,然后也可以去获取数据,比如说你在其他设备登录, 然后呢你只要你登录了你的账号,你就能在你这个新的设备上获取到所有的你账号下的所有的信息和数据。那还有像我们平时很多的这种资讯软件,其实所有这些新闻,这些八卦,这些资料其实都是保存在数据库当中的, 所以有那么多设备,他都可以去向服务器把这些数据拉取过来。现在有个非常小的问题来考一下大家假如说在我的服务器上的数据库当中有一个这样的一个电话号码的数据, 然后呢我希望我这个数据在我的客户端,比如说浏览器端或者手机端当中展示的时候呢,是以这样一个样式去展示,那我这个数据处理给他把这个中间的这个数字转换成叉叉叉以及加上这个呃短横线的这样一个事情,我是放在哪里 做比较合适呢?是放在服务器端做还是客户端做呢?因为在服务器端这边,他通过服务器端的代码把这个呃数据从数据库里面取出来之后呢,他其实是可以对数据做一个处理,然后再用这样的一个形式给客户端发过去的。 当然他也可以直接把这样的一个原声的一个数据的呃这样的一个形式直接发给客户端,让客户端这边呢通过客户端的代码来处理, 把这个数据处理成我们想要的这样子。所以不管是在服务器端处理还是在客户端处理,其实都是可以的,就看你具体的开发的一个需求了。 那接下来呢,我我给大家介绍两个,就是如果你去呃学习了解这个数据库的知识的话呢,你可能会碰到的两个比较重要的一个概念。 首先第一个是这个 skimmer, skimmer 呢它是翻译过来是一个纲要摘要的意思,那我呢一般是更喜欢把它理解为是一种模板, 为什么我把它理解成一种模板呢?他其实他就是呃决定了一种类型的数据,到底要有哪些数据,或者说是哪些信息。 那比如说呢,我们平常去呃注册一个网站的新用户,会让我们去填我们的名字,然后电话、邮箱,还有关键最关键的是什么 用户名,还有就是密码之类的信息。像这样一个形式,他其实就是用户数据的这个模板。比如说如果我们提交了这个注册的信息,其实就是在服务器端创建了一个用户类型的这样的一个 数据,然后这个数据呢,它必须包含哪些东西,哪些信息,这就是这个 schemer 去决定的事情。那像每个类型的数据,它其实内部包含的这些信息或者说是数据,它其实有些是用户提交的,有些可能就是呃在 产生这个数据时候呢,他系统自动生成的,比如说像这里的这个 id 就是用户的唯一识别号,还有就是他的一个注册时间都是根据他这个数据生成的时候自动生成的。 所以 schemer 呢,它是一种创建数据的模板,不同类型的数据呢都要设定不同的 schemer。 那就像如果你想创建一个学生的数据,学生他有什么信息,他要有学号,他要有班级,他要有年龄,他要有 性别这些各种各样的信息,这些信息呢就是学生的这个 schemer 里面所规定好的。你要创建一个学生的数据,你就必须要去填入这样的相应的信息,或者说提供这样的信息。那有些信息呢,可能是必填的,有些信息呢也可能是选填的,这是根据 schemer 它自己的设定来的。但是任何一个类型的数据,它必须要有它自己的模板,就是它的 schemer。 那另外一个概念呢?就是锁引,所谓锁引其实就是我们日常生活中非常熟悉的一个东西,叫做目录,大部分人都在小时候用过这个新华字典,对吧? 你有没有印象我们的新华字典前面这个目录就是所引的部分目录部分,它是这个数据是非常非常多的,那这个目录的作用是什么呢?就是能帮我们去更方便的,更快 快捷的去找到我们想要找的那个字。对,那像数据库呢中呢,是有非常非常多的数据的,数据库的一个非常重要的一个能力就是要快速的检索到我们想要的数据,比如说你在 这个搜索引擎当中去搜索一些资料,比如说你在你的一些网站上去搜索一些呃数据,他都是要调用数据库的这个搜索的功能的。 但是假如说没有锁引或者说没有目录这个功能的话,他就会从头开始一个一个一个的去找所有的数据,任何一个数据他都会从头开始找, 哪怕这个数据在最后面,他也必须从头从第一个数据开始,从头往后涨,所以计算机就是这么死板的。但是假如我们有了目录,有了目录就 是跟我们生活当中这种书本的目录是一样的,他首先可以先从目录里面找,然后目录里面呢就记录了,比如说这个数据相应的这个数据在哪个位置, 然后他就可以快速的跳转到相应的位置去找这个数据,这样就能大大提高了这个数据的搜索和获取的效率。所以呢,所以他是干什么呢?所以他就是加快数据检索与查找的,但是 你不要忘了,所以他自己本身也是数据的一部分啊,他会产生一堆新的数据,那就像我们的这个新华字典,他的目录部分也是很厚的。好,那这里呢?就是今天要分享的这个关于数据库的内容了,希望我今天分享的内容呢,对你了解这个数据库有一定的帮助。

hello, 大家好,今天呢给大家讲一下这个 macosuke, 嗯,学习资料如何获取呢?它是在这个百度网盘里面,然后这里, 然后这一次是课程,它里面的资料有那个买这个的安装包,解压板的,还有莱维克的安装包,包括这个学习笔记啊,都是有的啊。这次课程的目的呢,就是让大家知道,嗯, 知道什么是买车口,怎么去用,哪些地方会用,然后关于企业都会问买车口的哪些知识点 啊?我这里呢给大家推荐一个学习方法,就是飞慢学习法,就是我自己也一直在用的,就是你学一个东西,你自己学了之后,嗯,检验你是否学明白,那就把这个东西给别人讲一遍,然后看看是否把能把这个东西讲清楚。 嗯,所以说我也按照这个方式,然后和大家一起重新学习一下这个 mac 口, 然后我们来看第一节。然后什么是数据库?嗯,数据库的话,它就是一个结构化信息的集合啊,反正这些概念它看起来比较抽像,是吧?好,我们看比喻, 它就是一个 excel 表格的升级版,然后它的话你就可以把它想象成一个一个 excel 表,然后存储,然后数据库系统的话,它是, 它是由数据加软件加硬件加人员组成的,然后我们此次要学的话是那个关系型数据库。呃,买收口数据库,它又分为的两种数据库,一种是关系型数据库,一种是非关系型数据库。 然后数据库它的有一个关键的特性叫 a c i d, 然后基本上面面试的时候也会问到啊, acid 讲的是什么呢?讲的是第一个原则性,嗯,事务要么就是全全完成,要么就是全部完成,很经典的就是,呃,银行转账啊,就是要么就是一起完成,要么就是 把事务全部回滚回去,要不然你这个你 a b 转了钱,然后你中途出错了,然后就会导致那个金额不一致, 那就是一次性的话就是数据最终要保持一次性。嗯,隔离性,隔离性就是两个事物引发,事物之间互不干扰。持久性就是你提交的数据就是永久保存, 然后 macos, 嗯,这样的一个简单理解吧,就是 macos 它就是负责存储数据的, 然后一个一个程序,它大致核心构成是由代码数据执行环上环境构成,然后 呃,买车口就是充当数据这存储这一个角色,就比如说我们经常看到一个网页或 app 的, 它所有的数据大家都肯定要持久化的要存储起来,那么买车口就是充当这一个角色的,然后我们简单看一下, 嗯,负责存储数据的就是买车口。然后最开始的数据是从哪里来的?是从用户输入的啊?然后就是前端,然后就是页面把那个用户把数据提交 提交给后端,后端可以是加完 p h、 拍摄等,然后他可能要经过一系列处理,把这个数据处理好了之后存到数据库,然后下次呢? 下次呢?用户要取的时候,然后,然后用户就从前端就从页面上通过加二十块八等语言,然后呢去请求后端,后端加完再去连接数据库,然后把数据取回来,然后返回给用户。 嗯,好,举一个很简单的例子,就是比如说,嗯,比如说登录嘛,你最开始你肯定是有一个注册, 那注册的一个过程呢?就是就是把用户把数据输入啊,用户程序肯定是有一个输入和输出的过程,然后就是用户把数据从这页面输入,输入之后你注册的信息保存到数据库, 那你那那数据就存储起来了。下次你要登录的时候呢?然后就就从数据库,然后再去把你那个数据账号密码查出来,和你当前输入的用户名和账号密码比对是否成功,如果成功那么就登就是登录成功。 嗯,这就是数据库,它在软件开发中,嗯,承担了一个角色,它就是负责存储数据的,然后把数据保存起来, 然后就是这么一个概念啊,然后这一节咱们就先到这里,然后数据库的一个介绍,简单的介绍。然后下一节的话我们就讲那个数据库怎么去安装它。

首先呢,从数据库的这个名字上来说,可以理解吧?它就是存储数据的一个仓库,这是很字面的一个意思了。那存储数据这个事情, 其实我们有一个比较接近的东西,就是 excel, 就类似这么一个花名测量的一个表格,比如说像这里面有三个字段, 一个是学号、姓名、成绩,对吧?这个 excel 文件其实就把数据保存起来了,其实它也能当一个数据库来用,对吧? excel 呢,大家能看到其实就是电脑上放着这么一个一个文件嘛?我们可能在这个文件夹里放一个,在另外有一个文件夹里面放一个,可能分散在各个地方。 但是数据库呢,通常来说是统一安装的,而是装在一台服务器上,这种服务器的概念就相当于是一台电脑了。 my circle, 它对应的概念就相当于是一个 excel, 或者说 office, 或者说 wps 这么一个软件。数据库这个东西怎么理解?它就相当于 于是我在上面放了一个这个 excel 的文件。数据库里面呢,他讲究的是有表和这个概念的,数据库里的某张表什么的,他对应到数据这个 excel 里面,他就是这种系统,然后到自断这个概念,自断这个概念呢就相当于是 这个表头,比如说我们这里面要存的东西有学号、姓名、成绩,对吧?这么很清晰的列子三列,那对于我们的这个数据库里面来说, 这是他的学号、姓名、成绩,这么三列就可以了。这么三个,然后到最后数据是怎么看的? excel 里面呢?是横着一行,一行是数据,对吧?就是大概也是对齐的,你可以有几条,我也有几条,那从一个大概的对应关系上,现在大概对于数据库的一个形态上,有没有一个大概的一个基本的理解?在服务器上装的一个完事后的软件里面呢,要 先创建一个库,相当于分配好一个空间,然后呢在里面去建一张表,或者建多张表,那么对应的就是 excel 里的某个页,然后呢这个表呢,是需要有这种字段时间定义好的,就相当于是 excel 里面的这个表头,总体上来呢,这就是他们一些非常像的地方,那不像的地方, 首先呢就是数据存储的地方,在 excel 的话,它其实就是一个电脑文件嘛,我们可以把它放在什么地方都行,而在 myco 里面,它是服务端上的,会有一个专门的一个内塔,这么一个目录,专门来放这些数据的。然后这些文件呢,我们是不能这样双击打开的,而 excel 呢,可以直接双击打开来看, 那看这个数据的话, excel 呢,我们就是用这种 office 或者是呃 w p s 都可以把它打开来看。 my circle 呢,就可以用刚才像这样子的一个 工具,这种图形化的工具去连接,所以大家注意哈这这个东西,这个东西不是数据库,他只是个访问工具而已,他不是数据库,数据库是要另外安装的一个东西,他们是比较非常独立的两个东西。 首先大家看一眼啊,就是我们以后经常要用的一个工具,是这个叫做 navi cat for my circle, 一个这种绿色四呃三叶草样的一个形状的这个东西啊,这款呢,我们把这个数据库给他连接上看一下啊, 连接名呢,我们可以直接随便起一个本地就可以了,这里只是用一个你们自己记得住记得住的东西就可以了。 logo host 呢,本质上相当于是幺二七点零点零点幺就是你们自己这台电脑,这就是个 ip 地址,然后对应呢有个端口号, 端口号三三零六,用户名 rot r o t, 密码呢是一二三四五六。然后呢可以确定,确定之后呢,这边就 是其中一个连接,也就是作为工具来说,它其实可以连接很多的数据库的,我可以连自己电脑的,也可以连接其他服务器的,可以连接很多 样的。建一个叫 test 的数据库,然后字符集呢,用 u t f 八 m b 四。数据库这边呢,它需要你另外自己建一个表,我这边就快速的跟这边对齐建一几个表出来。数据库这门课其实是一门编程的课,是有是有编程的语,语法是有代码的。 数据库嘛,说到底你从根底下存数据库,或者说是对数据进行对,对数据进行一些处理嘛,对吧?要放数据,那对数据的处理到底有哪几种形式? 通常来说这是所谓增商改查四个操作就是靠这个程序去做的,也就是说这句命令就告诉他我们要往数据库里写东西,我们先看下大概这个结构哈,大概这个结构,首先音色的音 to 这两个词放在一 一起,就是表示我要插入数据了,或者新增数据,然后要往哪里放,对吧?我们当然想象的基本的逻辑,我要把数据写进去,肯定要说明白我要往哪里放数据?放什么数据,对吧?那这个 student 就是要说明这个表的名称,我要往这个里面放数据了, 然后数据的话,大家看我们数据是不是有好几个字段来的,那这个情况下,我要想明确的告诉我这个程序我到底往哪个列里面放什么数据,那我这边就要指定一下,比如说我要把这个 name 和 age 放进去 file 四,然后呢这边张三和十七,就是告诉他我这边要写入这条数据,那执行一下修改,那修改呢?同样他就是一个词叫 update, 就是修改,或者说我要更新,更新 student 学生这张表, 那我更新什么东西,我是不是也要告诉他我要更新什么?我现在呢就是说我年龄可能写错了,我原来写着他十七,其实他已经十八了,所以呢,我这边有个 a 就等于十八,但是如果说我只是 a 就等于十八,大家可以猜一下, 我直接这么跑的话,我没有任何条件,是不是把所有人的年龄全改成十八了。所以呢,通常来说我们要带点条件,也就说姓名等于张三的时候才把他年龄改成十八,然后查询,我想找到张三这个人,同样是这样一个条件,叫威尔,威尔姓名等于张三。 然后呢我要查出来吗?肯定也得告诉他我从哪张表找找 student 这张表,以及我到底要看什么一张表哈,通常来说都起码十几个字段是最常见的了,所以呢,我们选定一下,比如说我只开这两个姓名和年龄,然后最后删除。我删除的时候需要指 定一下字段吗?比如说我要把一条一行记录删掉的话,一行记录删掉,那肯定是整行所有字段都删掉了,我不会说我把名字这条删掉,却把年龄留着,对吧?所以删除的时候是不需要指定哪个字段的,但是条件还是要指定的, 因为不指定条件,那就是把整张表全清空了。指定一个条件呢,那就是针对这一个人的处理,所以这就是大概的一个数据库的一个基本操作,新增、修改、查询和删除。 这款呢也跟大家提一下,就是我们这本书教材呢,我们这门课以前是六十四个课时,现在改成三十二个课时,其实也就是说我们只讲半本书,讲的也就差不多,就只讲到就是数据的。呃,增强、改查到查询这一段,后面的锁引什么也都不讲。 呃,但是所以呢,我个人认为比较重要,所以中间找机会跟大家稍微带一带就带起就好了,但是就是不作为我们的整个教学规划的内容之一了。

今天来了解一下什么是向量数据库。向量数据库 vector database 是 一种专门设计用来高效存储锁引和解锁高维向量数据的数据库系统, 专注于向量的相似性搜索。为什么要使用向量数据库呢?因为在传统数据库中只能进行精准匹配, 而向量数据库可以进行语义匹配。例如,你要搜索一台新面世的手机的资料时,在传统数据库中只能输入精准的手机型号信息, 而通过向量数据库可以描述为展示最新型号手机的资料。那什么是向量呢?向量是数据的一种数学表示,通常是高维浮点数数组。例如,在文本中可以通过 embedding 技术把 token 表示为一个七六八维度的向量, 同理也可以把图像和音频转化为向量。在存入向量后,可以通过计算向量的余弦相似度和欧式距离来获得高相似度的向量。目前已有多款成熟向量数据库系统, 比如适合超大规模语义剪辑的 miowis, 适合知识图谱 rgg 等等。对于向量数据库的原理虽然不难理解,但是高维向量的精确的最近临搜索计算复杂度极高, 因此一般采用近似最近临算法,主流的算法有 h, n、 s, w 和 ivf 等。如果感兴趣的话,可以自行了解。今天的介绍就到这里,欢迎关注茉莉 ai, 开启 ai 探秘之旅!

什么是数据仓库?他跟数据库,数据壶又有什么区别?我们如何快速的搭建和使用数据仓库,又该如何去选型呢?今天我们就这些话题来聊一聊。 大家好,我是许芝芝,哈哈哈哈, 今天呢,来正经科普一下什么是数据仓库。即便当下很多的企业用户呢,已经习惯了从自己的各个数据库里去手动的收集数据,但是呢,他们依然很难快速的利用既有的信息来做出有数据支撑的复杂的决策。 如果我们想要让企业的核心团队更加全面的了解公司的现状,从而作出更合理的业务决策,我们就需要提升数据管理系统以及其分析的能力。那 这个时候呢,我们就需要搭建一个数据仓库了,将我们所有的历史数据进行集中的存储,然后我们就可以在一个地方进行数据分析,从而节省工程团队的时间。那么什么是数据仓库呢?他跟我们常说的数据库又有什么关系? 他家徒弟不存在,也有相对于人们所熟知的关系型的数据库,数据仓库的诞生呢,稍微时间会晚一些。数据库和数据仓库之间最大的区别啊,就是他们解决的问题不同。传统的数据库系统作为数据管理的一个主要手段, 它主要是用于操作型的处理,也就是我们所常说的联机事务处理。 o l t p 是一种面向交易的处理系统,它针对的是具体的业务。在数据库联机中的一个日常操作,通常 适用于数据记录,同时呢对他进行查询和修改,使用者在这个过程中,他的关注点是操作的响应时间、数据的安全性、完整性以及并发所支持的用户数等等。所以数据库通常用于处理实时的业务数据, 以支持日常的业务流程,比如常见的事务处理。而同样是存储数据的地方,与数据库面向业务的特性相比,数据仓库存储的数据则面向比业务更粗力度的一个主题。处理的数据呢,也更偏向于数据分析,而非具体的数据操作。 我们通常也称为连基的分析处理 o l a p。 它主要是针对某些主题的大规模的历史数据进行分析,以支持管理层进行决策。 也就是说,数据仓库的使用者往往是业务分析师、 cio 或者各种决策者们,他们希望从大量的应用系统、业务数据中进行关联分析,最终得到一个想要的答案。那么我们所常说的企业数据仓库 enterprise date warehouse 就是一个聚合不同来源的数据,比如说业务系统、关系型数据库和操作数据库等等。然后方便进行数据访问、分析和报告的这样一个系统, 比如说销售的交易系统、移动应用的数据和 crm 数据等等。只要把数据汇合到我们的数仓当中,整个企业都可以方便的进行访问和使用,从而方便大家对业务进行一个全面的了解。我们的数据工程师和业务分析师也可以将这些不同来源的相关 数据应用于商业智能和人工智能等方面,以便带来更好的预测,并最终对我们的业务作出更好的决策。另外,和数据库不同的是,传统的数仓信息不会进行一个实时的更新, 那么数据仓库更适合于就更广泛的趋势进行一个数据分析。不过近年来由于实施数仓的逐渐的兴起, 也有一部分企业在部分的场景中去使用实时的数仓,这个问题呢,我们后续也会具体去讲到。总结一句就是 数据库更擅长于事务型的工作,而数据仓库更擅长于分析型的工作哦。如果大家对数据库稍有了解啊,大家也许也听过数据壶这样的一个概念,那么数据仓库和数据壶有何不同呢?前面我们提到的数据仓库可以给多个业务用户提供 结构化和半结构化的这样一个数据访问,以便于他们可以对其进行实时的数据查询,并快速的做出决策。 也就是说我们有很明确的目标,因此数据仓库的生成啊,有抽取、转换、加载这样的一个过程。那么我们如果暂时没有一个明确的目标,但又想保留所有的数据,以方便后续对数据进行处理,那该怎么办呢? 答案就是去建立一个数据壶。数据壶在早期一般托管在 how do 等大数据平台上,拥有大量的非结构化数据的一个存储空间,非常适合于数据科学家和分析师对原数据进行存储, 直到他们想清楚我们要用这个数据去干什么。总结一下就是数据壶可以用于存储部分或者全量的原始数据, 尤其是用户在还不明确数据用途的情况下。而数据仓库的存储呢,则是在已经被处理和过滤后的数据去进行分析和使用。目前单纯的数据壶和数据仓库都有一个特定的使用场景, 但他们的存在呢,都有一定的局限性,所以近年来大数据行业出现了胡仓一体这样的一个概念,把胡和仓的优势结合起来,在这里呢,我们再挖一个坑, 我会在今后呢专门用一期节目来介绍什么是胡仓一体。 nice! 前面我们已经对数据仓库的特点进行了介绍,那么我们何时需要使用这样的一个数据仓库呢? 如果你发现当前使用的标准的数据分析工具已经无法解答一些棘手的业务问题,而这些问题往往又是企业的核心 团队提出的重要问题,在这个时候,数据仓库就可以起到帮助。数据仓库的强大在于,数仓的报告和分析可以包含众多的数据员,而这种数据的集成方式往往意味着你可以分析来自网站、应用 乃至其他 sas 平台的数据,进而可以通过变量属性图表来回答你的业务问题。当你在一个平台拥有所有的数据的时候,就可以直接在仓库或者通过我们的商业智能工具去轻松的进行查询,并且 通过自动化和可视化这些查询来支撑核心团队作出决策。下面我们来聊一下如何去搭建一个数据仓库。 常见的搭建数据仓库的方法呢?有两种,第一种是在实际的物理空间上由自己的工作团队去 自行设计和维护。第二种呢,也可以使用云数据仓库,云数仓完全在线,而且不需要企业用户呢管理任何的硬件物料、云数据仓库的架构呢,使其更易于实施和扩展,通常情况下也比本地数仓呢会更便宜一点。啊,真香。在使用数据仓库的过程中呢, 我们需要考虑以下几个点,第一个是将所有的历史数据存储到中央存储库中。第二个是在一个平台去分析 web、 移动 crm 和其他的应用程序。第三点,通过直接使用 circle 查询数据,获得比传统分析工具更深入的业务洞察力。第四点,允许多人访问 同一数据集。那么如何为企业找到一个合适的数据仓库呢?这里我们需要考虑六个重要的因素。第一个,数据类型,企业可以存储的数据的类型呢?一般有三种,一种是结构化,一种是非结构化,然后还有一种是半结构化。大多数的数据仓库呢, 支持结构化和半结构化的数据存储。非结构化的数据呢,更适合数据图。结构化数据呢,是可量化的数据,可以整齐的组织成行和列。非结构化数据呢,是不容易管理和分析的数据,比如书面的内容、图像、视频、音频文件和 pdf 等等。 如果只存储非结构化的数据呢,更需要考虑的是使用数据壶,而不是数据仓库。半结构化的数据呢,是结构化数据和非结构化数据的一个混合。以电子邮件为例,电子邮件的内容是非结构化的,但是电子邮件有可量化的维度,比如发件人、发件时间,打开时间等等。 与之类似的,图像本身也是一个非结构化的,但也可以访问结构化的数据,比如照片的拍摄时间,设备的类型,照片大小,地理坐标等等。如果半结构化数据对你很重要,可以选择支持半结构化数据 存储和查询的这样的一个数据仓库。第二点,数据的存储和扩展。大多数的数据仓库呢,允许用户存储大量的数据,而无需额外的一个管理成本。多数数仓用来分析也可以满足用户的需求。但是呢,我们应该有预见的考虑一下如何在有需求的时候快速的扩展数据存储。 当你的数据仓库部署在云上,通常可以灵活扩展数据的存储。例如,在 amazon rest shift 可以手动地添加更多的节点。再比如, 使用偶数 db 和 snowflake 提供了一个自动伸缩的功能,可以根据需要动态来添加和删除节点进群。第三点,计算性能的扩展。数据仓库的性能是指查询可以运行有多快,以及 在强需求的时段如何保持速度。可以想象,性能扩展和数据存储密切相关。与存储一样,性能会随着你 扩展仓库中的节点而提高。现阶段,通过扩展节点速度已经不再是首要的问题了。关于性能,真正要考虑的是你希望如何去进行控制。与数据仓库的存储扩展方式类似,添加或者删除节点以 优化查询速度。对于某些仓库,例如 red shift 可以通过手动去进行精度的调整,而 snowflake 和偶数 db 提供给用户自动调节的功能体验。第四点,运维。如果希望团队的工程师,尤其是小团队的工程师能够专注于构建和维护产品, 而不用担心 e t l 和仓库的日常管理,那你需要一个自动优化的数据仓库,如 i b n d b two 或 big fairy。 但是通过手动维护仓库,经验丰富的数仓架构师可以拥有更大的控制力和灵活性。比如金融机构、电信运营商 一般会根据需求对其数仓进行精确的优化。如果你希望对仓库的性能和成本进行统一的管理,可以考虑 posebree circle。 第五点,生态系统如果使用了已经投产的应用程序同生态的数据仓库呢?可以极大地简化实施的难度, 毕竟适配了一套基础设施。例如 age synapse electrics 属于微软的生态产品。 a w s 生态有 red shift, google cloud 生态有 big curry。 然而,即使是在同一生态系统内, 也难免要编写自定义的 eto, 将数据从不同的数据源导入到数仓。而跨生态的搭建数仓需要团队的工程师们来开发更多的 eto 人物, 所以真心建议不要给自己挖太多的坑。 what are you doing digging? 第六,成本影响数据仓库 定价的因素非常的多,包括存储仓库规模,运行时间、查询要求等等。 red shift 可以根据节点每小时或者是扫描字节来付费。 b query 具有统一的费率模型和不同的查询模型。 好数 d b snowflake 和 aider 都可以基于存储和计算时间来收费。选择数仓最终是要满足你自己的要求,而不仅仅是选择一个最便宜的。对于预算有限的公司, postcard circle 是一个很好的选择,因为它免费而且功能相对完善。 free free free! 综合以上的因素,相信你对选择一个什么样的数仓已经有了一个很好的了解。以下是市场上常见的数仓的比较。 为你的企业找到合适的数据仓库了吗?不要忘记考虑你要存储的数据类型、 数量,你是否需要为它进行动态的扩展?你需要的查询速度有多快?你需要手动运维还是自动运维?数据仓库和现有技术站的一个兼容性以及数据仓库的成本。如果你仍然不确定哪一个数据仓库适合您的业务,欢迎留言或者私信我们,我们会帮您进行分析和识别趋势。

今天呢,我们一起来学习讲解关于 access 数据库的一些基本操作,我们以具体的题目来展开啊,以这道题为例啊,它有四个小问啊,我们共同来完成它。首先呢我们来认识一下 access 数据库,什么是 access 数据库呢?它是一种 来存储数据,管理数据的一种系统。那我们看一下,当我们打开一个数 access 数据库文件的时候啊,我们会发现啊,左侧就是这个数据表呈现的地方。什么是数据表呢?数据表它是我们存放数据的呃,一个位置一个地方啊, 就是我们数据库里面所有数据都是存放在不同的数据表里面的,那每个表呢都有自己的一个名字啊,就说这题他都有四张表,每张表呢都有自己的不同的名字,这个就是他名字,就上面显示的就是他的表的名字啊,数据表名字。另外每张表里面啊,我们打开以这个运动员基本信息表为例,打开之后啊,都会有呈现出这样的一个 一行行和列,与我们 wps 表格非常相似,所以一张的这个数据表啊,也是一个啊,二维表还是由水平和数值的两方面组成的啊, 那我们把在数据库里面把水平的这一行称之为一条记录啊,一行称之为一条记录,那么一条记录里面它包含了若干个属性,每个属性呢就是一个字顿,比如这个表里面就含有呃五个字顿,对吧?编号,姓名,出生年月,性别,籍贯这五个字顿啊, 我们每一列呢就是一个字盾,那么每个这个表里面最上面的这个呢?这行它的每一列就是各自的字盾名啊, 好,我们了解这些呢,我们就可以对第一题进行一个基本的一个设置了,他说对这个运动员基本信息的一个数据表,就这张表添加一个这样一个字盾,类型为数字,所以要添加一个字盾,那怎么添加字盾呢? 好,我们现在打开的目前我们看到的这个数据表啊,那么我们一个数据表,它是有两种状态啊,一种叫做数据表示图,就是能看到具体有哪些数据的,我们称之为叫数据表示图。 还有一种呢,它是能对字顿进行相关的编辑,添加、删除、修改,这样操作,我们称之为叫设计图。那怎么把这个表数据表示图转化成 这个表设计图呢?就可以在这个地方啊,在这上面可以选择右击选择一下设计师图啊,你看我们再右击一下,可以选择数据表示图就回来了啊,当然我们可以选择这个在这个表的名称这位置啊,你可以右击 选择这个设计师图,也可以也可以在这个他的一个右下角啊,右下角只有两个按键,也可以来进行两个试图的一个模式的一个选择,这是表设计师图, 这是这是表,就是我们数据表的一个视图啊,就我们现在对自动的操作呢,要对表设计视图进行展开,就能看到里面的字顿了啊,里面字顿,所以我们可以打开我们的表设计视图的时候,就可以对里面字顿进行编辑进行操作,所以我们可以在这里面啊, 把这个字顿名放到下面一行,就是把它输进来,会粘贴进来,把它的类型改为我们每个数据都有类型的, 我们那个 python 里面有类型,我们这个 excel 数据库里面啊,也同样有相应的数据类型啊,我们选择数字,他说是有数字的,注意啊,有的题目里面会要要求对一个数字,或者比如说文本啊,你选我们看一下文本,它是有一个大小的,它要我们去设置相应的文件大小,就在这里面进行一个设置的,就是自动大小,可以在这里面填写相关的 大小信息的,这里面没有要求,这里面我们选择数字就可以了啊,类型数字就可以。好,这个时候呢,我们每做完一步啊,及时保存一下,点击右上角这个位置保存一下啊。好,我们第二个问题, 将这个表里面还是这张表,还是运动员基本信息表,他的一个编号这个字顿设置为主键,就把编号这个字顿找到编号啊,怎么设置为主键呢?你把官标啊,鼠标放到选中,选中啊,点击一下这个就可以了,点一下编号这个字的位置就可以了,然后呢,右击一下,右击就弹出个菜单,然后选择主键。 好,一旦被我们设置为主键,那个自动啊,在他的前方就会有一把钥匙,一样啊,一把钥匙啊,黄钥匙,这样就被我们设置为主键了,注意保存一下每一步操作,及时保存好。第三问,要纹上我们这个运动员基本信息表, 这里面数据啊,我们给他里面增加一个三,就这个字顿啊,增加一个三,那这个属于数据信息了,数据信息属于记录了,就在这个记录里面,那我们要回到哪边呢?回到我们这个 你可以用打开啊,选择这个地方打开,或者是右击把它选择为数据表示图也可以,你可以选择打开也可以啊,表打开也可以选择这个地方,下面这个啊,你可以切换啊,都可以的,只要打开我们这个记录,这个表 就可以在里面进行相关的记录的修改了,你看不看到这条信息了吗?正好与我们这个题目的信息一致的啊,在这个自动里面,你看获取的金牌数啊,里面有金牌数吗?金牌数里面输入个三 好,输入好之后呢,及时保存,点击右上角这个保存按钮啊,那第三问我们就完成了。第四问,删除临时数据表,这个注意找到这个临时表啊,这个表可以选择删除,右击一下删除就可以了, 选的是,然后再次保存这样的一道关于 access 的 一个数据库的一个基本的一个操作呢,这问题就被我们基本解决了,那我们下一次课呢,再再来讲解一个比这个稍微更加复杂一点的 access 的 一个操作题。