




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 第一章 概述 數據庫系統發展 集中式系統 為什么需要分布式系統 分布式數據庫體系結構的目標 并行與分布式數據庫系統 分布式數據庫的問題 分布數據獨立與分布透明訪問 事務處理 事務處理的重要性 事務處理困難的問題數據庫系統發展數據庫系統發展 基于數據模型數據結構, 數據操作,完整性約束層次,網狀,關系,OO,時態,空間,圖,時空,文本,工程,生物,地理,圖像數據庫等 基于運行環境集中式,分布式,并行,Cluster,Web,移動, 嵌入, 數據網格等數據庫主動, 實時數據庫等 事務處理 數據庫系統數據庫系統 數據庫-可以存儲長時間的信息集合 數據庫管理系統-允許用戶使用專門的數據定義語言和操作
2、語言, 支持超大數據量數據的長時間存儲,并能正確控制多個用戶對數據的立即存取的軟件 用戶- 包括DBA, 終端用戶, 應用程序員等數據庫系統體系結構數據庫系統體系結構n 單用戶數據庫系統單用戶數據庫系統n 集中式數據庫系統集中式數據庫系統n 集中的數據庫系統集中的數據庫系統n 分布的數據庫系統分布的數據庫系統n 三層數據庫系統三層數據庫系統n 分布式數據庫系統分布式數據庫系統數據庫系統的體系結構數據庫系統的體系結構PM.n簡化 單個前端接口 集中維護鎖 如果處理器故障,則系統故障 .集中式數據庫系統集中式數據庫系統應用程序SQL查詢處理器事務處理器文件訪問 分布式數據庫系統(Distribut
3、ed Database SystemDDBS)的研究始于20世紀70年代中期。 數據分布的需求 異構環境中數據集成的需求 信息系統集成的需求為什么需要分布式數據庫為什么需要分布式數據庫 舉例: 某大公司分別在 London, New York及 北京有分公司 職工數據:EMP(ENO, NAME, TITLE, SALARY, ) 問題: 該職工數據表數據應該如何存儲 面臨的技術問題: 舉例: 異地備份:在兩幢不同的建筑物內 重要數據:ORDER(ORDNO, CUSTNO, ADDR, ACCONT, ) 問題: 備份數據如何存儲 舉例: 銀行通存通兌儲蓄系統 問題: 同城存取、異地存取,跨
4、行存取 面臨的技術問題: 舉例: 新舊應用系統的數據集成 問題: 異構數據庫 舉例: 治療是否有皮膚感染的病人 問題: 該病人如何診療?診療流程專家系統專家系統信息系統信息系統? ? ? ?是否有皮膚病的歷史是否有皮膚病的歷史健康檔案健康檔案疾病的誘發原因疾病的誘發原因治療知識治療知識集中式數據庫:集中式數據庫:所有工作都由一臺計算所有工作都由一臺計算機完成機完成分散式數據庫:分散式數據庫:僅僅是把分散在各處的僅僅是把分散在各處的數據庫系統通過網絡通信連接起來,遠數據庫系統通過網絡通信連接起來,遠程登錄訪問程登錄訪問分布式數據庫:分布式數據庫:把分散在各處的數據庫把分散在各處的數據庫系統通過網
5、絡通信連接起來,共同完成系統通過網絡通信連接起來,共同完成某個應用某個應用數據庫系統分類數據庫系統分類數據庫系統數據庫系統+計算機網絡計算機網絡DB1DB3DB2計算機1計算機3計算機2通訊網絡北京重慶上海銀行系統 DDBSDDBS是一個數據集合,這些數據分布是一個數據集合,這些數據分布在計算機網絡的不同計算機上,網絡中每在計算機網絡的不同計算機上,網絡中每個站點具有獨立處理的能力,可以執行局個站點具有獨立處理的能力,可以執行局部應用,同時每個站點也能通過網絡通信部應用,同時每個站點也能通過網絡通信支持全局應用。支持全局應用。 分布式數據庫強調站點自治(局部應用)以及自治站點之間的協作性(全局
6、應用) 。“在自治的站點之間協調工作在自治的站點之間協調工作”關于關于DDBS基本定義基本定義 全局應用全局應用 涉及到兩個或兩個以上的站點中數據庫的應用。 局部應用局部應用僅涉及到所注冊站點上數據庫的應用 區分一個數據庫系統是分布式還是分散式就是判斷系統是否支持全局應用。 DDBS中有兩個重要的組成部分 分布式數據庫(分布式數據庫(DDBDDB) 分布式數據庫管理系統(分布式數據庫管理系統(DDBMSDDBMS) DDB是計算機網絡環境中各站點上數據庫的邏輯集合。換言之,DDB是一組結構化的數據集合,邏輯上屬于同一系統,而物理上分布在計算機網絡的各個不同站點。 關于關于DDB定義定義 DDB
7、MS是DDBS中的一組軟件,它負責管理分布環境下邏輯集成數據的存取、一致性和完備性。同時,由于數據的分布性,在管理機制上還必須具有計算機網絡通信協議的分布管理特性。關于關于DDBMS基本定義基本定義DDBMS的功能的功能 接受用戶請求,并判定把它送到哪里,或必須訪問哪些計算機才能滿足該要求 訪問網絡數據字典,了解如何請求和使用其中的信息; 如果目標數據存儲于系統的多個計算機上,就必須進行分布式處理; 通信接口功能。在用戶、局部DBMS和其他計算機的DBMS之間進行協調; 在一個異構分布式環境中,還需提供數據和進程移植的支持。這里的異構型是指各個場地的硬件、軟件之間存在著差別。DDBMS的一般功
8、能結構的一般功能結構用戶查詢查詢分析優化算法調度處理模塊LDBMSDBCM完整性處理模塊可靠性處理模塊數據數據定位定位實際的數據實際的數據需要的需要的數據數據錯誤錯誤對網絡的監視信息對網絡的監視信息數據數據局部處理命令局部處理命令查查詢詢處處理理模模塊塊網絡網絡分布策略分布策略系統系統DD 物理分布性物理分布性 數據存儲在不同場地上 與集中式數據庫不同 邏輯整體性邏輯整體性 數據邏輯上是一個相互聯系的整體 與分散在計算機網絡上不同站點上的一組沒有相互聯系的本地數據庫區別開來(與分散式數據庫的區別) 統一的(DDBMS)管理,支持全局應用 站點自治站點自治 自治處理能力,完成本站點的局部應用 與
9、多處理機系統的區別 場地之間協作性場地之間協作性 各場地雖然具有高度的自治性,但是又相互協作構成一個整體。DDBS的基本特點的基本特點 數據獨立性數據獨立性DDBS除了集中式DBS的物理獨立性及邏輯獨立性,還有數據分布的獨立性,也稱分布透明性,即用戶不必關心數據物理位置的分布。 集中與自治相結合的控制結構集中與自治相結合的控制結構 集中式DBS中,控制是集中的,統一由DBA維護。 DDBS中,控制是分層的:全局DBA:管理整個數據庫本地DBA:管理本地數據庫DDBS的其他特點的其他特點 適當增加數據冗余適當增加數據冗余 集中式DBS中,盡可能減少數據冗余以避免不一致性及節省存儲空間。 DDBS
10、中,適當增加冗余,在不同場地存儲同一數據的多個副本。 提高系統可靠性、可用性:一場地發生故障,可存取另一場地同一副本。 提高系統性能:存取距離最近的數據副本,減少通訊代價。 增加了數據更新時的系統維護代價 冗余的透明性 事務管理的分布性事務管理的分布性 若干站點上的子事務(局部事務)的執行,涉及多個站點 全局的原子性、一致性、隔離性、和永久性、可串行性、可恢復性。分布式數據庫系統的分類分布式數據庫系統的分類兩種分類方法兩種分類方法 局部數據庫管理系統的數據模型 全局控制系統類型 同構型(同構型(Homogeneous)DDBS 各個場地上數據庫的數據模型都是同一類型的 同構同質型同一類型同一型
11、號的DBMS 同構異質型同一類型不同型號的DBMS 異構型(異構型(Heterogeneous)DDBS 各個場地上數據庫的數據模型的型號不同,甚至類型也是各不相同的。 隨著計算機網絡技術的發展,異種機聯網問題已經得到較好的解決,此時依靠異構型DDBS就能存取全網中各種異構局部數據庫中的數據。 集中型集中型DDBS DDBS中的全局控制信息位于一個中心站點 優點 控制簡單 有助于保持一致性 缺點 容易產生瓶頸問題 一旦中心站點失效,整個系統將崩潰 分散型分散型DDBS 在每一個站點上包含全局控制信息的一個副本 優點 節點獨立,自治性強 系統可用性好 缺點 保持信息的一致性較困難 控制復雜,需要
12、有復雜的設施 可變型可變型DDBS 在這種類型的DDBS中,將DDBS系統中的站點分成兩組,一組站點包含控制信息副本,稱為主站點;另一組站點不包含全局控制信息副本,稱為輔站點或從站點(也稱主從型)若主站點數目等于1時為集中型;若全部站點都是主站點時為分散型 同構型同構型(Homogeneous)各個Site上的DB數據模型相同, 進一步可分為同構同質型同構同質型 和 同構異質型同構異質型 異構型異構型(Heterogeneous)各個Site上的DB數據模型不同. 集中型集中型 DDB的全局控制信息位于一個中心Sie上 分散型分散型每個Site上包含有全局控制信息的一個Copy 可變型可變型D
13、DB分成兩組, 一組Site包含全局控制信息Copy(主Site), 另一組不含全局Copy(輔Site) 可伸縮性 可用性 負載平衡 易于編程分布式數據庫體系結構的目標分布式數據庫體系結構的目標DDBS 體系結構體系結構全局用戶全局用戶GDD GDB局部用戶局部用戶全局用戶全局用戶局部用戶局部用戶CMGDBMSLDBMSLDD LDB網絡網絡全局用戶全局用戶CMGDBMSLDBMSGDD GDB局部用戶局部用戶LDD LDBCMGDBMSLDBMSLDD LDBGDD GDB組成CMGDBMSLDBMSLDDLDBGDDGDB網絡 數據在分布式數據庫的存儲途徑(分布的方式)。 規劃設計一個分
14、布式數據庫首要的一個問題就是數據庫中的數據應如何分布。要規劃數據分布問題,首先應搞清,數據分布的目的。 數據分布的目的有多種,但最主要的是提最主要的是提高訪問的局部性(高訪問的局部性(locality referencelocality reference),即通過數據的合理分布,盡可能地使數據能就地存取。分布式數據存儲分布式數據存儲除此之外,還應注意如下的問題: 任何分布式數據庫系統,都不可能使所有數據的訪問都局部化。 因為,即使通過增加副本,做到讀取數據全部本地化,但更新數據時,由于需要各副本同步更新,仍要大量的遠距離訪問。(同步更新實現問題) 在DDBMS中,采取了很多措施解決事務分布式
15、執行問題。這的確是為了在提高訪問局部性的前提下,共享數據。 但一個成功的分布式數據庫設計,應使數據訪問局部性達到最好。而不是依靠事務的分布式執行。 因為分布執行的事務比局部執行的事務花費更大,實際處理時,把一個復雜事務歸結為一個語法樹,以語法樹子樹為單位分解子事務,然后分步執行,完成后必有二目運算的綜合操作。分布式連接之類操作,其花銷是很大的。 其他分布目的 有時為提高可用性,增加一些副本。 有時本地資源不夠(如外存)不得不進行數據分布。 數據在分布式數據庫的存儲途徑(分數據在分布式數據庫的存儲途徑(分布的方式)布的方式)n 復制(全重復式)系統維護關系的幾個完全相同的副本,這些副本存儲在不同
16、的結點上。n 分片(劃分式)關系被劃分為幾個片段,各個片段存儲在不同的結點上。n 復制+分片(部分重復式)關系被劃分為幾個片段,系統為每個片段維護幾個副本。n 分片(劃分式)分片(劃分式) 關系被劃分為幾個片段,各個片段存儲在不同的結點上。n 分配(分布式)分配(分布式) 根據需要將數據劃分成邏輯片段,按某種策略將這些片段分散地存儲在各個站點上。數據分布涉及到兩個概念數據分布涉及到兩個概念分布式數據庫中的數據分布分布式數據庫中的數據分布 數據分布(Data Distribution)是指分布式數據庫中的數據不是存儲在一個場地的計算機存儲設備上,而是根據需要將數據劃分成邏輯片段,按照某種策略將這
17、些片段分散地存儲在各個場地上。 數據分布的策略 n 集中式n 分割式n 復制式n 混合式n 集中式集中式所有數據片段都安排在同一個站點上。 n 優點 對數據的控制和管理容易 一致性和完整性能夠得到保證n 缺點 站點負擔過重 容易出現瓶頸,系統可靠性較差n 結論 站點設施要提高n 分割式分割式所有數據只有一份,它被分割成若干個邏輯片段,每個邏輯片段被指派在某個特定的站點上。 n 優點 充分利用各個站點上的存儲設備,存儲量大 發揮了系統的開發操作能力 提高了系統的可靠性n 缺點 全局查詢和修改所需要時間較集中式長 不同場地間需要進行通信n 復制式復制式全局數據庫有多個副本,每個站點上都有一個完整的
18、數據副本。 n 優點 系統可靠性高,響應速度快 數據庫的恢復容易n 缺點 為保持各個站點上數據的同步,需付出高昂的代價 整個系統的數據冗余很大n 結論。 有利于只讀事務,增加更新事務開銷。n 混合式混合式全部數據被分為若干個可相交的子集,每個子集存放在不同的站點上,但任一站點未必保存全部數據,根據數據的重要性決定各個子集的副本的多少。 n 優點 兼顧分割式和復制式的做法,具有二者的優點 靈活性好,對各種情況可分別對待,系統效率高n 缺點 具有二者的復雜性 數據分片(Data Fragmentation)也稱數據分割。在一個分布式數據庫中,全局數據庫是由各個局部數據庫邏輯組合而成;反之,各個局部
19、數據庫是由全局數據庫的某種邏輯分割而得。 一個關系描述了某些數據之間得邏輯相關性,但是因為不同站點的用戶需要該關系中的元組可能不同。 在分布式數據庫中,數據存儲的單位是數據的邏輯片段。對關系數據庫來說,一個數據庫的邏輯片段是關系的一部分。分布式數據庫中的數據分片分布式數據庫中的數據分片n 優點優點 將關系分片,有利于按用戶需求組織數據的分布,這樣處理將各得其所,可以大大減少網絡上的通信,從而提高系統的響應效率。 如產品(內銷產品,出口產品)。 地區(上海,北京,廣州)n 分片方式分片方式 水平分片 垂直分片 導出分片 混合分片n 水平分片水平分片將關系r按行分為若干個互不相交的子集r1,r2,
20、rn,每個子集ri稱為一個水平片段。一個水平片段可以看成是關系上的一個選擇。ri =P(i)(r)如C_S=DNO=D08(S)關系的重構可以通過并運算來實現。r= r1 r2rn 通過對全局關系施加選擇運算得到,并可通過對這些片段執行合并操作來恢復該全局關系。n 垂直分片垂直分片 將關系r按列分為若干屬性子集r1,r2,rn,每個子集ri稱為一個垂直片段。 一個垂直片段可以看成是關系上的一個投影。ri =Ri(r) 其中Ri是r的一個屬性子集。 如 P_S = PNO,SAL(P) 關系的重構可以通過連接運算來實現。r= r1 r2 rn所有分片都包括每個元組的唯一標識碼tuple_id。n
21、 導出分片導出分片導出水平分片,分片的條件不是關系本身屬性條件,而是其它關系的屬性條件。如SC(S#,C#,G)按學生系別分片。n 混合分片混合分片 以上三種方式的混合。 關系按某種方式分片后,得到的片段再按另一種方式繼續分片。 如SC(S#,C#,G)按學生系別分片,再對每個片段按成績(及格,不及格)分片。定義片段的規則定義片段的規則n完備性條件完備性條件 必須把全局關系的所有數據映射到片段中,決不允許有屬于全局關系的數據卻不屬于它的任何一個片段。n可重構條件可重構條件 必須保證能夠由同一個全局關系的各個片段來重建該全局關系。(水平分片:并;垂直分片:連接)n不相交條件不相交條件 要求一個全
22、局關系被分割后所得的各個數據片段互不重疊(對水平分片)或只包含主鍵重疊(對垂直分片)。n 存儲代價存儲代價n 可靠性可靠性n 檢索代價檢索代價n 更新代價更新代價存儲代價和可靠性是一對矛盾的因素;檢索代價和更新代價也是一對矛盾的因素。在數據庫物理設計時應加以權衡。數據分配策略的評估因素數據分配策略的評估因素全局全局外部級外部級全局概念級全局概念級分片級分片級分配級分配級局部局部概念級概念級局部局部內部級內部級映象映象1映象映象2映象映象3映象映象4映象映象5DDBS的模式結構的模式結構 全局外模式全局外模式 全局概念模式全局概念模式 分片模式分片模式 分配模式分配模式 局部概念模式局部概念模式
23、 局部內部式局部內部式六層模式結構六層模式結構全局外層全局外層全局概念層全局概念層局部概念層局部概念層局部內層局部內層分層結構 全局外模式(全局外模式(Global External SchemaGlobal External Schema) 全局應用的用戶視圖,也稱全局視圖全局應用的用戶視圖,也稱全局視圖(Global ViewGlobal View),全局概念模式的子集。),全局概念模式的子集。 分布式數據庫的全局視圖的數據不是從某一個具體場地的局部數據庫中抽取,而是從一個由各局部數據庫組成的邏輯集合中抽取,即全局外模式是全局概念模式的子集。 對全局用戶而言,可以認為在整個分布式數據庫系統
24、的各個場地上所有數據庫都如在本場地上一樣,只關心自己所使用的那部分數據。 全局概念模式(全局概念模式(Global Conceptual SchemaGlobal Conceptual Schema) 定義分布式數據庫的全局數據的整體邏輯結定義分布式數據庫的全局數據的整體邏輯結構和數據特性,數據如同沒有分布一樣。構和數據特性,數據如同沒有分布一樣。 可用傳統的集中式數據庫中所采用的方法定義。通常全局模式采用關系模型,包括一組全局關系的定義。 全局概念視圖 全局概念模式名、屬性名、域、完整性約束 分片模式(分片模式(Fragmentation SchemaFragmentation Schema
25、) 定義全局數據的邏輯劃分。定義全局數據的邏輯劃分。 每個全局關系可以劃分為若干不相交的部分,每一部分稱為一個片段,即“數據分片”。分片模式就是描述數據分片或定義片段以及定義全局關系與片段之間的映象。 定義分片片段以及全局關系到片段的映象; 是一對多的,一個全局關系可對應多個片段,一個片段只來自一個全局關系。 分配模式(分配模式(Allocation SchemaAllocation Schema) 分片的物理分配視圖,定義片段的存放地點。分片的物理分配視圖,定義片段的存放地點。 定義由數據分片得到的片段仍是DDB的全局數據,是全局關系的邏輯部分,每一個片段在物理上可定位(分配)于網絡的一個或
26、多個場地上。分配模式就是根據選定的數據分配策略,定義各片段的物理存放場地。在分配模式中,定義的映象類型確定了DDB是冗余的還是非冗余的。若映象是一對多,即一個片段分配到多個場地重復存放,則DDB是冗余的,否則是非冗余DDB。 局部概念模式(局部概念模式(Local Conceptual SchemaLocal Conceptual Schema) 全局概念模式的子集。全局概念模式的子集。 一個全局概念模式經邏輯劃分成一個或多個邏輯片段,每個邏輯片段被分配在一個或多個站點上,稱為該邏輯片段在某個站點上的物理映象(Physical Image)或稱物理片段。分配在同一場地上的同一個全局概念模式的若
27、干片段(物理片段)構成了該全局模式在該場地上的一個物理映象。 局部概念模式局部概念模式續續 一個場地上的局部概念模式是該場地上所有全局概念模式在該場地上的物理映象的集合。 局部數據庫中的概念模型,關于本地數據庫的描述; 如果局部數據庫中還有獨立應用,則應有局部外模式,提供給本地應用使用。 全局概念模式與站點獨立,而局部概念模式與全局概念模式與站點獨立,而局部概念模式與站點相關,即局部概念模式站點相關,即局部概念模式“局部于局部于”某個站點。某個站點。全局關系全局關系R的邏輯片段與物理映象的邏輯片段與物理映象R1R2R3R4RR11R21S1(場地(場地1)1)R12R22S2(場地(場地2)2
28、)R23R33R43S3(場地(場地3)3)全局關系全局關系邏輯片段邏輯片段物理映象物理映象 局部內模式(局部內模式(Local Internal SchemaLocal Internal Schema) 局部數據庫的物理描述。局部數據庫的物理描述。 是DDB中關于物理數據庫的描述,類似于集中式DB中的內模式,但其描述的內容不僅包含局部本站點的數據的存儲描述,還包括全局數據庫在本站點的存儲描述。 數據分片和數據分配概念的分離,形成了“數據分布獨立性”的概念; 數據冗余的顯式控制。數據在各個站點的分配情況在分配模式中一目了然,便于系統管理。 局部DBMS的獨立性,此也稱為“局部映象透明性”。此特
29、征允許在不考慮局部DBMS專用數據模型的情況下,研究DDB管理的有關問題。六層結構的特征六層結構的特征DDBS中的映象和數據獨立性中的映象和數據獨立性DDB中的數據獨立性中的數據獨立性 在DDB的六層模式結構之間存在著五級映象,其中映象1和映象5體現了類似于集中式數據庫的邏輯獨立性和物理獨立性。 在DDBS中,提到數據獨立性時,更愿意用透明性這個名詞。中間三個級別的映象體現的獨立性分別稱為分片透明性分片透明性、位位置透明性置透明性和局部數據模型透明性局部數據模型透明性,統稱為“分布透明性”。實際上分布透明性可以歸入物理獨立性范圍。關于分布透明性的解釋關于分布透明性的解釋 分布透明性是指用戶或應
30、用程序不必關心數據的邏輯分片,不必關心數據物理位置分配的細節,也不必關心各個站點上數據庫的數據模型是哪種類型,可以像集中式數據庫一樣來操作物理上分布的數據庫。分片透明性分片透明性 Fragmentation Transparency 用戶或應用程序只需對全局關系進行操用戶或應用程序只需對全局關系進行操作而不必考慮數據的分片及存儲場地。作而不必考慮數據的分片及存儲場地。 當分片模式改變時,只要改變全局概念模式與分片模式之間的映象(即映象2)關系來保持全局概念模式不變,從而不會影響全局外模式和應用程序,實現了分片透明性。 分片透明性是最高層次的分布透明性。位置透明性位置透明性 Location T
31、ransparency 用戶或應用程序不必了解片段的存儲用戶或應用程序不必了解片段的存儲位置。位置。 當DDB不具有分片透明性,但具有位置透明性時,用戶或應用程序必須指出片段的名稱,但不必指出片段的存儲場地。當存儲場地發生變化時,只要改變分片模式到分配模式之間的映像(即映象3),而不會影響分片模式、全局概念模式和應用程序,實現了位置透明性。 局部數據模型透明性局部數據模型透明性 Local Data Model Transparency 用戶或應用程序不必了解局部場地上使用的用戶或應用程序不必了解局部場地上使用的是哪種數據模型。是哪種數據模型。 當DDB不具有分片透明性和位置透明性,但具有局部
32、數據模型透明性時,用戶編寫程序時必須指出片段的名稱,還必須指出片段的存儲場地,但不必指出局部場地上使用的是何種數據模型。數據模型的轉換以及查詢語言的轉換均由映象4完成,從而不會影響分片模式、全局概念模式、分配模式和應用程序,實現了局部數據模型透明性。透明性和應用效率透明性和應用效率 系統角度:系統角度: 應當盡可能實現較高的透明性,以利于應用程序的開發,提高數據獨立性。 用戶角度:用戶角度:較高的透明性將很多工作交給系統完成,便于應用程序的開發,但引起應用程序的執行效率降低,往往沒有基于較低透明性所開發的應用程序的執行效率高。 在DDB設計時,應在透明性和應用效率兩方面進行權衡。簡單查詢與分布
33、透明性示例簡單查詢與分布透明性示例 示例:設有全局關系S,它被劃分為兩個片段S_A(本科生),S_B(研究生),S_B有兩個副本。SS_AS_BS_AS_AS_B全局關系片段物理存儲Site_1Site_2Site_3寫一個查詢,輸入學號,輸出學生姓名。 系統具有分片透明性scanf (“%s”, S_NO); EXEC SQL select SNAME into :S_NAME from S where SNO= :S_NO;printf(“%d, %s”, S_NO, S_NAME);簡單查詢簡單查詢 分片透明性示例分片透明性示例全局關系全局關系S 系統具有位置透明性,但不具有分片透明性
34、scanf (“%s”,S_NO); EXEC SQL select SNAME into :S_NAME from S_A where SNO= :S_NO; if (!FOUND) EXEC SQL select SNAME into :S_NAME from S_B where SNO= :S_NO;printf(“%d, %s”, S_NO, S_NAME);簡單查詢簡單查詢 位置透明性示例位置透明性示例片段片段S_A片段片段S_B簡單查詢簡單查詢 局部數據模型透明性示例局部數據模型透明性示例 系統具有局部模型透明性,但不具有位置透明性 scanf (“%s”, S_NO); EXEC
35、 SQL select SNAME into :S_NAME from S_A at Site_1 where SNO= :S_NO; if (!FOUND) EXEC SQL select SNAME into :S_NAME from S_B at Site_2 (或(或Site_3) where SNO= :S_NO;printf(“%d, %s”, S_NO, S_NAME);復雜查詢與分布透明性示例復雜查詢與分布透明性示例 示例:設有全局關系S、SP,它們被劃分為兩個片段S_A、S_B, SP_A、SP_B,存放站點如下圖所示。SS_AS_A全局關系片段物理存儲Site_1Site_
36、2Site_3S_BSP_ASP_BSPS_BSP_ASP_BSite_4復雜查詢復雜查詢 分片透明性示例分片透明性示例 寫一個查詢,輸入零件號,輸出供應該零件的供應商編號和供應商姓名。 系統具有分片透明性 scanf (“%s”, P_NO); EXEC SQL select SNO, SNAME into :S_SNO, :S_NAME from S, SP where SP.PNO= :P_NO and S.SNO=SP.SNO; printf(“%d, %s”, S_NO, S_NAME); 系統具有位置透明性,但不具有分片透明性 假設假設: 每種零件僅由一家供應商供給; S與SP的分
37、片模式基于這樣的事實: 由S_A中供應商供應的零件號在SP_A中,由S_B中供應商供應的零件號在SP_B中。復雜查詢復雜查詢 位置透明性示例位置透明性示例scanf (“%s”, P_NO);EXEC SQL select S1.SNO, SNAME into :S_SNO, :S_NAME from S_A as S1, SP_A as SP1 where SP1.PNO= :P_NO and S1.SNO=SP1.SNO; if (!FOUND) EXEC SQL select S2.SNO, SNAME into :S_SNO, :S_NAME from S_B as S2, SP_B
38、as SP2 where SP2.PNO= :P_NO and S2.SNO=SP2.SNO;printf(“%d, %s”, S_NO, S_NAME); 注意注意: 如果片段SP_A、SP_B與S_A、S_B之間不存在上述這一“事實”,要找出供應商指定零件號的供應商姓名,一種自然的解決方法是至少包括四個不同的查詢,每個查詢對應于一對片段的連接:S_ASP_A,S_ASP_B,S_BSP_A,S_BSP_B。 系統具有局部模型透明性,但不具有位置透明性 假設條件同上。假設條件同上。 需要考慮站點的分布問題。復雜查詢復雜查詢 局部數據模型透明性示例局部數據模型透明性示例scanf (“%s”,
39、 P_NO);EXEC SQL select SNO into :S_SNO from SP_A at Site_3 where PNO= :P_NO; if (FOUND) begin SEND S_SNO from Site_3 to Site_1; EXEC SQL select SNAME into :S_NAME from S_A at Site_1 where SNO=:S_SNO; endelsebegin EXEC SQL select SNO into :S_SNO from SP_B at Site_4 where PNO= :P_NO; SEND S_SNO from S
40、ite_4 to Site_2; EXEC SQL select SNAME into :S_NAME from S_B at Site_2 where SNO=:SNO;end;printf(“%d, %s”, S_NO, S_NAME);更新應用與分布透明性更新應用與分布透明性參見課本31-34頁。分布式數據庫的問題分布式數據庫的問題分布式DB設計 決定什么數據存放在何處 依賴于主要應用的訪問方式 兩個子問題: 分片(Fragmentation): 將表分割成片段 分配(Allocation): 將片段放置到站點分布式查詢處理 集中式查詢計劃的目標: 極小化磁盤I/O 分布式情形還要考慮
41、通訊代價 數據合理分布(數據局部化) 并行處理的可能性 可能存在的查詢計劃空間大于集中式查詢計劃空間!分布式數據庫的問題分布式數據庫的問題分布式并發控制 事務跨越多個站點 必須是全局可串行化 兩種主要技術 Locking Timestamps 分布式死鎖管理 數據多副本 更新時需要保持同步分布式數據庫的問題分布式數據庫的問題分布式數據庫的可用性 集中式的故障模型 處理器故障 分布式的故障模型 一個或多個處理器故障 網絡故障 網絡分割 數據必須保持同步分布式數據庫的問題分布式數據庫的問題 具有靈活的體系結構具有靈活的體系結構具有充分的場地自治性,集中與分散的有機結合 適應分布式的管理和控制結構適
42、應分布式的管理和控制結構符合企業分布的組織結構 經濟性能優越經濟性能優越由微型機或超級小型機支持的DDBS的性能價格比要比一個由大型機支持的一個大型集中式數據庫的性能價格比好得多DDBS的優點的優點 系統的可靠性高,可用性好系統的可靠性高,可用性好系統的局部故障不致引起全局失控 局部應用的響應速度快局部應用的響應速度快局部應用只訪問本地數據庫 可擴展性好,易于集成現有的系統可擴展性好,易于集成現有的系統只要增加場地數,就能擴充數據庫;同時開發全局應用,只要對原有的局部數據庫系統作某些改動,就可以形成分布式數據庫DDBS的缺點的缺點復雜的存取結構復雜的存取結構 如輔助索引、文件的鏈接技術。在集中式D
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年福建省中考語文真題
- 地理實踐力培養策略研究:高中地理教學案例分析論文
- 小學生零花錢使用與道德品質養成的關聯研究論文
- 基于信息技術的初中歷史教學中算法思維培養的實證研究論文
- 中國醫藥級纖維素類衍生物行業市場前景預測及投資價值評估分析報告
- 節水洗車臺管理制度
- 規范安全臺帳范本
- 茶藝師(高級)試題含答案
- 財務管理學-自考歷年真題
- 課程大綱數學分析
- 基于UHPC的蝶形腹板混凝土拱橋創新設計研究
- 口腔科針刺傷處理流程
- 2025-2030中國雷達告警接收機行業市場發展趨勢與前景展望戰略研究報告
- 一例高血壓合并糖尿病患者的個案護理課件
- 2025年中考地理務必掌握的答題思路與模板
- 臨時占地免責協議書
- 工會法律知識培訓課件
- 檔案管理員實操能力考試題試題及答案
- 供應鏈風險管理知識點及試題及答案
- 隱患排查五定制度
- BRCGS全球標準食品安全第9版標準要求
評論
0/150
提交評論