<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-TW">
		<id>https://tw.m.18dao.net/index.php?action=history&amp;feed=atom&amp;title=%E9%9B%BB%E8%85%A6%E8%A9%9E%E5%85%B8%2F%E5%88%86%E4%BD%88%E5%BC%8F%E6%95%B8%E6%93%9A%E5%BA%AB_Distributed_Database</id>
		<title>電腦詞典/分佈式數據庫 Distributed Database - 修訂歷史</title>
		<link rel="self" type="application/atom+xml" href="https://tw.m.18dao.net/index.php?action=history&amp;feed=atom&amp;title=%E9%9B%BB%E8%85%A6%E8%A9%9E%E5%85%B8%2F%E5%88%86%E4%BD%88%E5%BC%8F%E6%95%B8%E6%93%9A%E5%BA%AB_Distributed_Database"/>
		<link rel="alternate" type="text/html" href="https://tw.m.18dao.net/index.php?title=%E9%9B%BB%E8%85%A6%E8%A9%9E%E5%85%B8/%E5%88%86%E4%BD%88%E5%BC%8F%E6%95%B8%E6%93%9A%E5%BA%AB_Distributed_Database&amp;action=history"/>
		<updated>2026-07-12T06:58:37Z</updated>
		<subtitle>本 Wiki 上此頁面的修訂歷史</subtitle>
		<generator>MediaWiki 1.27.0</generator>

	<entry>
		<id>https://tw.m.18dao.net/index.php?title=%E9%9B%BB%E8%85%A6%E8%A9%9E%E5%85%B8/%E5%88%86%E4%BD%88%E5%BC%8F%E6%95%B8%E6%93%9A%E5%BA%AB_Distributed_Database&amp;diff=92574&amp;oldid=prev</id>
		<title>Robot 於 2006年11月3日 (五) 17:12</title>
		<link rel="alternate" type="text/html" href="https://tw.m.18dao.net/index.php?title=%E9%9B%BB%E8%85%A6%E8%A9%9E%E5%85%B8/%E5%88%86%E4%BD%88%E5%BC%8F%E6%95%B8%E6%93%9A%E5%BA%AB_Distributed_Database&amp;diff=92574&amp;oldid=prev"/>
				<updated>2006-11-03T17:12:57Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新頁面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
{{電腦詞典/內容頂部}}&lt;br /&gt;
&lt;br /&gt;
【名稱】：分佈式數據庫 Distributed Database&lt;br /&gt;
&lt;br /&gt;
【解釋】：　　分佈式計算系統包括分佈在多個站點上的數據。用戶應可以訪問這些數據而不必管它的具體位置。用戶畢竟更對結果感興趣，而不是計算機網路的細節。下面列出了開發分佈式數據庫系統的通用指南，這是由關係數據庫設計者之一的ChrisJ．Date最早總結的。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　局部獨立性，使每個站點保持一種獨立性，使得數據和資源可以被本地機構保護和管理。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　非集中化消除了代表單一故障點的中心數據站點。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　連續操作即使在備份期間也可為用戶提供服務。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　透明性對用戶隱匿了數據的具體位置，因此用戶不必瞭解數據在何處和如何得到它們。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　分片(分區)提供了一種將數據庫化整為零並存於多個站點的手段。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　複製提供了將數據庫的多個分片拷貝到多個站點的方法。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　分佈式查詢處理使得用戶以最佳路徑和可滿足要求的最優資源對遠程站點進行查詢。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　分佈式事務處理保證對多個數據庫的寫操作被正確地寫在所有數據庫上，否則任何地方發生了故障則復原退出。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　硬件獨立性意味著對多供應商計算機系統和平臺的支持。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　操作系統獨立性意味著可支持許多操作系統。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　網路獨立性意味著支持多種網路拓撲結構和通信協議。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　DBMS獨立性允許用戶在其客戶機應用程式中訪問任何數據庫管理系統，見Database Connectivity APIs and Middleware“數據庫連接API和中間件”。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　一旦數據被分佈化，就需要採用處理、分片和複製手段來保證數據的可靠性、可用性及對數據的保護。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　客戶機-服務器連接&lt;br /&gt;
&lt;br /&gt;
　　　　　　　下面的方法用於提供客戶機和服務器間的連接以及交換請求和響應信息。使用下面的兩種連接方法之一交換信息。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　面向連接的“電路”  用於在網上建立一條通信信道使兩條系統可實時交換信息或在事務完成前維持持續的連接。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　無連接數據報服務  用於定時要求不嚴時交換信息。它並不建立一個“電路”，而是將信息打包於數據報中並通過最佳路徑傳送到目的地。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　遠程過程調用(RPC)機制使一個系統上的應用過程可以引用另一系統上的另一應用過程。調用方(客戶機)通過面向連接或無連接服務，先向服務器發出請求，然後等待其響應，在客戶機得到響應後，如果有必要的話，再進行下一次請求。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　存儲轉發消息傳遞系統對時間限制很寬鬆。用戶應用程式以類似電子函件的消息向服務器發出請求，服務器收到消息後，處理該請求並將響應消息返回用戶或用戶郵箱。用戶可以在任何時候拾取這個響應消息。這種方法假設服務器有多種用戶可執行的存儲過程，並對那些需要訪問公司數據庫信息的移動用戶來說是很實用的。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　在多機種環境中做到這些連接並不簡單。存在的多種通信協議、應用程式接口和各種組成要求都使集成起來十分困難。但已有了分佈式計算的開發工具和環境，如OSF(開放軟件基金會)的分佈式計算環境(DCE)和SunSoft的開放式網路計算(ONC)環境。本書中對這兩個環境均有敍述。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　在數據庫連接場所，所謂的標準接口之間都有細微的區別，防礙了一個供應商的客戶機應用程式訪問另一供應商DBMS上的數據。幾個供應商和標準集團正致力於緩和這個問題。SQL訪問組(SAG)正在制定關於數據庫連接的ANSI和OSI標準。Microsoft公司正在制定它的為Windows應用程式提供通用接口的開放式數據庫連通(ODBC)。另外IBM也在提出自己的分佈式關係數據庫體系結構。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　事務處理&lt;br /&gt;
&lt;br /&gt;
　　　　　　　當數據分佈在多個數據庫服務器上時，就需要各種保護措施來保證數據正確地寫到所有數據庫中。例如，考慮一個在三個分離的遠程數據庫上修改的客戶帳戶平衡表，如果在事務寫階段，任何一個數據庫連接失敗，數據庫之間就失去同步。怎樣檢測並更正這種情形呢？事務處理(TP)監示一個叫做兩階段提交的過程並在某種程度上解決了這個問題。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　分佈式系統上的實時事務處理需要一個兩階段提交過程保證將事務得到多個數據庫上時的數據完整性。所涉及到的每個數據庫在事務被提交給任何其他數據庫時都要授權給它。如果事務成功，則被提交，否則事務應被回退。與容錯系統類似，兩階段提交保護系統防止在事務寫期間發生系統錯誤。它也允許操作員異常終止一個事務並將數據庫恢復到原先的狀態。事務監示器按下面的過程跟蹤事務過程。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　1．寫操作命令被送到每個數據庫後，事務監示器等待一個響應信號以保證所有的系統都準備好寫。如果所有系統都來響應，事務將在這裏異常終止。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　2．假定都響應了，事務監示器指示數據庫開始寫，然後等待每一個系統表明數據寫成功的確認信號。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　3．若未得到所有系統響應信號(由於線路或系統故障)，事務監示器命令所有數據庫將此次的寫操作取消。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　在後面的“Transaction Processing  事務處理”條目中有更詳細敍述。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　分區和複製&lt;br /&gt;
&lt;br /&gt;
　　　　　　　分區是將一個數據庫分成若干個相關信息塊的方法，而複製則是將這些塊拷貝到其它地方的過程。主數據庫仍在一個站點上維護，而一個分區則是這個數據庫的一部分，它被複製到另一站點，使用分區和複製是基於下列原因：&lt;br /&gt;
&lt;br /&gt;
　　　　　　　使其他站點的用戶更容易訪問特定的數據。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　通過複製保護數據。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　在主要或輔助站點出現故障時提供可替換數據來源。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　複製技術可以替換前面所講的實時兩階段提交技術。兩階段提交技術可提供數據庫的即時同步，但其附加開銷足以影響性能。另外，一個持續性問題如WAN鏈路故障會導致異常終止。大量事務的複製是非實時、可定期更新數據庫的方法。更新日程表由網路管理員制定，或當一個已崩潰(或丟失鏈路)的服務器恢復時進行更新。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　然而，關係數據庫的分區決非易事，但卻非常適合下面所講的面向對象數據庫。關係數據庫中的處理過程是複製整個數據庫，而不是更新一個分區。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　Distributed  Object-Oriented  Systems面向對象分佈式系統&lt;br /&gt;
&lt;br /&gt;
　　　　　　　面向對象系統提供企業環境中數據存儲和應用程式生成的獨特解決方法。面向對象系統有如下特徵：&lt;br /&gt;
&lt;br /&gt;
　　　　　　　對象是現實世界實體的抽象，如顧客數據庫中的人，記帳系統中的發票，或網路目錄服務數據庫中的打印機和服務器。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　一個對象不但擁有數據，還包括一組涉及操縱或報告對象中數據的過程。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　對象有類和子類。首先定義類，它作為那個類中生成對象的模板。例如，一個計算機倉庫的詳細目錄可以是一個叫做“計算機”的類。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　一個子類是層次結構中特指一個類。叫做“膝上機”的子類可能在倉庫清單“計算機”類下定義。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　繼承是類層次中的重要特性。任何由某個類生成的子類不但繼承了其它類的特性，還可以有自己特有的特性，繼承通過生成可重用對象簡化了開發過程。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　在發送消息，激活對象的過程中，對象之間相互作用。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　對象是多態的。在其中，一個消息可以根據不同的對象以不同方式激活，例如，可以為一個發票對象激活打印命令打印發票，也可以為一個顧客對象激活一個打印命令打印其名字和地址。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　對象中的信息是封閉的且只可通過激活屬於這個對象的過程來改變。外部實體不能越過這些過程直接改變其內部數據。這就形成了一個高度可控環境，易於維護和建立應用程式。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　因為對象將數據放在類似於字段的實體中，所以你可以將一個對象同數據庫中的一條記錄相類比，但僅此而已，對象擁有自己的內部過程，用於處理其所包含的數據，而關係數據庫中的任何操作都由外部過程處理。這使得對象有一定的獨立性。移動一個對象時，抽取它的信息的過程也要隨之一起移動。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　對分佈式系統更為重要的是，多個不同的應用程式由只激活一個對象的過程就可以訪問一個對象中的信息。你所要做的只是把數據放入對象並定義將數據取出的過程。這些過程可以通過相對簡單的應用程式經由服務器向對象發出消息而激活。創建這些應用程式很簡單，因為相應過程已被定義並作為對象的一部分而生成。另外，對象具有天然的可分佈性，因為它們之間相互獨立，而不象在數據庫中，將大量數據被放在單個檔案裏，你可以“置對象於此，置對象於彼”。這種方法令人感興趣的一個特徵是，設計者事先不需知道數據對象將存放在哪里。只需使用合適的機制保持複製數據同步，就可以在任何時間任何地點將數據對象分區並複製。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　NetWare 4．x目錄服務是一個分佈式面向對象數據庫的好例子。它用一個類似於圖D-24的層次樹結構數據庫存儲關於人員和資源的信息。該數據庫由網路管理員更新。典型的更新包括增刪用戶、打印機、服務器和其他網路資源。該數據庫為網路提供檔案資料和為部門級管理人員規定管理權限，以及為用戶規定對資源的訪問權限。用戶訪問數據庫時先是定位，然後訪問象打印機和服務器一類的資源，或發送消息到網上的其他用戶。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　圖中XYZ公司在美國、英國和韓國設有分公司。美國分公司在洛杉磯和紐約有辦公室。圖中也顯示了洛杉磯分公司的部門情況。假設數據庫的原版放在紐約的公司總部。在索引樹中，洛杉磯表示一個可以作為分區點的分支。用一個工具來定義這個分區，新的分區就被複製到洛杉磯服務器上。在那個辦公室的用戶就可以查詢本地分區，尋找資源，而不必通過WAN鏈路訪問紐約總部的數據庫。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　如果紐約總部的管理員在數據庫中增加了一個對象以表示洛杉磯辦公室的一個新雇員，主數據庫就必須更新洛杉磯辦公室的分區以保證數據同步。然而，通常並不嚴格要求立刻更新。因此可以用低速WAN鏈路，以撥號方式在兩地間進行更新。洛杉磯的用戶一般不會馬上就需要用到數據庫的信息。一次更新經歷幾分鐘乃至夜間幾小時也將是允許的。&lt;br /&gt;
&lt;br /&gt;
　　　　　　　相關條目：Database Management System  數據庫管理系統；Distributed分佈式計算；Object Oriented Technology面向對象技術。&lt;br /&gt;
&lt;br /&gt;
【序號】：124&lt;br /&gt;
&lt;br /&gt;
{{電腦詞典/內容底部}}&lt;br /&gt;
&lt;br /&gt;
[[Category:電腦詞典]]&lt;/div&gt;</summary>
		<author><name>Robot</name></author>	</entry>

	</feed>