第3章 · 播客 第10集
数据库系统 · 分布式数据库:概念、12 条目标与透明性
🎙️ 本集播客:第10集:分布式数据库的定义与特点、四大优点、按同构度和自治度的分类、12 条目标规则,六层模式结构中全局与局部的分界、数据分片与三级透明性的层次,最后是与并行数据库系统的三点区别。 语音由微软 Edge 神经网络语音预生成(女声·晓伊,男声·云希)。点击下方任意对话可直接从该句开始播,当前句朗读时下一句已预先加载,无缝衔接。
明
阿明
小雅姐,分布式数据库的定义我背过,但和「几个数据库连个网」总分不开。
雅
小雅
原文定义背准:分布式数据库是由一组数据组成的,这组数据分布在计算机网络的不同计算机上,网络中的每个结点具有独立处理的能力,成为场地自治,它可以执行局部应用,同时,每个结点也能通过网络通信子系统执行全局应用。三个关键:数据分布、场地自治、既能局部应用也能全局应用。缺一个就不是分布式数据库。
雅
小雅
然后是三个配套缩写:负责分布式数据库的建立、查询、更新、复制、管理和维护的软件,称为分布式数据库管理系统 DDBMS;一个计算机网络组成的计算机系统,在配置了分布式数据库管理系统,并在其上建立了分布式数据库和相应的应用程序后,就称其为分布式数据库系统 DDBS;分布式数据库管理系统是分布式数据库系统的核心。DDB 是数据、DDBMS 是软件、DDBS 是整体系统,三个词指认题常考。
明
阿明
分布式数据库的特点呢?
雅
小雅
三个:数据的分布性,数据分布于网络中的各个结点,它既不同于传统的集中式数据库,也不同于通过计算机网络共享的集中式数据库系统——这句是辨析点,「联网共享的集中式数据库」不是分布式数据库;统一性,表现在数据在逻辑上的统一性和数据在管理上的统一性两个方面,逻辑上单一如同一个统一的集中式的数据库,管理上由分布式数据库管理系统统一管理和维护,使它不同于一般的分布式文件系统;透明性,用户在使用分布式数据库时与使用集中式数据库一样,无须知道其所关心的数据存放在哪里,存储了几次,用户需要关心的仅仅是整个数据库的逻辑结构。
明
阿明
分布式比集中式好在哪?我记得有四条优点。
雅
小雅
四条:第一,坚固性好,在个别结点或个别通信链路发生故障的情况下,仍然可以降低级别继续工作,如果采用冗余技术,还可以获得一定的容错能力,因此系统的可靠性和可用性好。第二,可扩充性好,可根据发展的需要增减结点,或对系统重新配置。第三,可改善性能,可按就近分布、合理地冗余的原则来分布各结点上的数据,使大部分数据可以就近访问,避免了集中式数据库中的瓶颈问题,减少了系统的响应时间,也降低了通信费用。第四,自治性好,数据可以分散管理,统一协调,不存在主从控制。
明
阿明
那它的短板呢?总不能全是优点。
雅
小雅
原文给了两条:首先,异构数据库的集成问题是一项比较复杂的技术问题,目前还很难用一个通用的分布式数据库管理系统来解决这一问题;其次,如果数据库设计得不好,数据分布不合理,以致远距离访问过多,尤其是分布连接操作过多,不但不能改善性能,反而会使性能降低。「分布不合理反而更慢」这句是判断题的原材料。
明
阿明
分类标准有哪几种?
雅
小雅
三个维度。按 DDBMS 软件同构度来分:当所有服务器软件或每个局部 DBMS 和所有客户软件均用相同的软件时称为同构型分布式数据库;反之,则称为异构型分布式数据库。按局部自治度来分:当对 DDBMS 的存取必须通过客户软件,则系统称为无局部自治;当局部事务允许对服务器软件进行直接存取,则系统称为有一定的局部自治。自治的两个极端是无局部自治和联邦型 DDBMS 或称多数据库系统。多数据库系统本质上是集中式与分布式的混合体:对一个局部用户而言它是自治的,是一个集中式 DBS;对一个全局用户而言则是一个分布式 DBS,但这个 DDBS 没有全局概念模式。
雅
小雅
按分布透明度来分:分布透明度的另一个概念是模式集成度。若用户可以对集成模式操作不需要涉及任何片段、重复、分布等信息时,称为有高度分布透明或高度模式集成;若用户必须知道所有关于片段、分配、重复等信息时,则没有分布透明,没有模式集成度。当然 DDBMS 可以部分分布透明,介于两者之间。
明
阿明
12 条目标那个清单,真的要背 12 条?
雅
小雅
先背总纲:理想的分布式系统使用时应该精确得像一个非分布式系统。12 条按组记。治理类四条:局部结点自治性;不依赖中心结点,即每个结点具有全局字典管理、查询处理、并发控制和恢复控制等功能;能连续操作,当一个新场地合并到现有的分布式系统或从分布式系统中撤离一个场地不会导致任何不必要的服务中断;分布式查询处理和分布事务管理的支持,事务由多个代理组成,必须保证代理集或者全部一致交付,或者全部一致回滚——这就是两阶段提交的思想背景。
雅
小雅
独立性类四条:具有位置独立性,或称位置透明性,用户不必知道数据的物理存储地;分片独立性,或称分片透明性,用户工作起来就像数据全然不是分片的一样;数据复制独立性,用户工作可像它全然没有存储副本一样地工作;然后是具有硬件独立性、操作系统独立性、网络独立性、DBMS 独立性这四条平台独立性,理想系统应该在不同硬件、不同操作系统、不同网络上运行同样的 DBMS,实现对异构型分布式系统的支持。加起来正好 12 条。
明
阿明
查询处理那条说有三类查询?
雅
小雅
对,原文细分:分布式数据库系统中有三类查询,局部查询、远程查询和全局查询。局部查询和远程查询仅涉及单个结点的数据,查询优化采用的技术是集中式数据库的查询优化技术;全局查询涉及多个结点上的数据,其查询处理和优化要复杂得多。「三查询」加「全局最复杂」两个点。
明
阿明
六层模式结构,全局和局部怎么切?
雅
小雅
总揽:分布式数据库系统的模式结构有六个层次,从上到下是全局外模式、全局概念模式、分片模式、分布模式、局部概念模式、局部内模式。结构从整体上可以分为两大部分:下半部分是集中式数据库的模式结构,代表了各局部场地上局部数据库系统的基本结构;上半部分是分布式数据库系统增加的模式级别。全局概念模式、分片模式和分布模式是与场地特征无关的、是全局的,不依赖于局部 DBMS 的数据模型。
雅
小雅
每一层职责背准。全局外模式:全局应用的用户视图,是全局概念模式的子集。全局概念模式:定义分布式数据库中数据的整体逻辑结构,数据就如同根本没有分布一样,通常采用关系模型,包括一组全局关系的定义。分片模式:每一个全局关系可以划分为若干不相交的部分,每一部分称为一个片段,即数据分片;分片模式定义片段及全局关系到片段的映像,这种映像是一对多的。分布模式:定义片段的存放结点,其映像类型确定了分布式数据库是冗余的还是非冗余的——若映像是一对多的,即一个片段分配到多个结点上存放,则是冗余的分布数据库,否则是不冗余的。
明
阿明
分片模式管切、分布模式管放。局部那两层呢?
雅
小雅
局部概念模式:一个场地上的局部概念模式是该场地上所有全局概念模式在该场地上物理映像的集合。全局概念模式与场地独立,而局部概念模式与场地相关。局部内模式:是分布式数据库中关于物理数据库的描述,类似于集中式数据库中的内模式,但其描述的内容不仅包含局部本场地的数据的存储描述,还包括全局数据在本场地的存储描述。
雅
小雅
这个分层结构有三个显著特征,原文专门列了:第一,数据分片和数据分配概念的分离,形成了数据分布独立型概念;第二,数据冗余的显示控制,数据在各个场地的分配情况在分配模式中一目了然;第三,局部 DBMS 的独立性,这个特征也称为局部映射透明性。
明
阿明
透明性那三级,层次顺序我总记反。
雅
小雅
从高到低背:分片透明性、位置透明性、局部数据模型透明性。分片透明性是分布透明性的最高层次,指用户或应用程序只对全局关系进行操作而不必考虑数据的分片,当分片模式改变时只要改变全局模式到分片模式的映像,即映像 2。位置透明性是下一层次,用户应当了解分片情况,但不必了解片段的存储场地,当存储场地改变时只要改变分片模式到分配模式的映像,即映像 3;它同时提供了重复副本的透明性。局部数据模型透明性最低,用户应当了解分片及各片断存储的场地,但不必了解局部场地上使用的是何种数据模型,模型转换由映像 4 来完成。
明
阿明
数一下:分片透明最高只管全局关系,位置透明中间知道分片不知道放哪,局部数据模型透明最低连场地都知道只差数据模型。这个递降顺序清楚。分片方式有几种?
雅
小雅
水平分片和垂直分片是两种基本的分片方式,混合分片和导出分片是较复杂的分片方式。要和单库的表分割区分开:这里是全局关系到片段的切分。将数据分片,使数据存放的单位不是关系而是片段,这既有利于按照用户的需求较好地组织数据的分布,也有利于控制数据的冗余度。
明
阿明
和并行数据库的区别呢?我听说过考点。
雅
小雅
原文列了三点。第一,应用目标不同:并行数据库系统的目标是充分发挥并行计算机的优势,提高数据库的整体性能;分布式数据库系统主要目的在于实现各个场地自治和数据的全局透明共享,而不要求利用网络中的各个结点来提高系统的整体性能。第二,实现方式不同:并行数据库各结点间采用高速通信网络互联,结点间数据传输代价相对较低,当负载不均衡时可以将工作负载过大的结点上的任务送给空闲结点处理,实现负载平衡;分布式数据库各结点一般通过局域网或广域网互联,网络带宽比较低,各场地之间的通信开销较大,因此在查询处理时一般应尽量减少结点间的数据传输量。
雅
小雅
第三,各结点的地位不同:在并行数据库中,各结点之间不存在全局应用和局部应用的概念,各个结点协同作用共同处理,而不可能有局部应用。而分布式数据库系统的每个场地除了能通过网络协同完成全局事务外,还有自己结点场地的自治性,每个场地又是一个独立的数据库系统,拥有自己的硬件、数据库、客户,可运行自己的 DBMS 执行局部应用——这是并行数据库与分布式数据库之间最主要的区别。最后一句就是考点答案:问「最主要区别」,答各结点有无自治性、有无局部应用。
雅
小雅
本集必背:定义三要素是数据分布、场地自治、局部加全局应用;DDB 是数据、DDBMS 是管理软件是系统核心、DDBS 是整体;特点是分布性、统一性、透明性;四大优点坚固性、可扩充性、可改善性能、自治性;分布不合理远距离访问过多反而降低性能;同构异构按软件、自治度有无局部自治、透明度按模式集成度;12 条目标总纲是用起来像非分布式系统;三查询局部远程全局,全局最复杂;六层结构上四层全局、下两层局部,全局概念模式场地独立、局部概念模式场地相关;分片模式管切分映像一对多、分布模式管存放映像一对多则是冗余数据库;三级透明性从高到低分片、位置、局部数据模型,对应映像 2、3、4;与并行数据库最主要区别是分布式有场地自治和局部应用。
明
阿明
透明性三级加上六层结构,这节的骨架立住了。下一集?
雅
小雅
DDBMS 的四个组成部分、三种全局控制结构、同种化的转换次数公式,然后进数据仓库四大特性和 OLAP 三种服务器——后半章的商业智能部分,选择题密度很高。