112年高考三級資料結構第四題
四、分散式資料庫為一個分散在電腦網路的許多在邏輯上相關資料庫的集合,請畫出分散式資料庫系統三層主從伺服器架構 (Three-tier Client-server Architecture),並論述其運作原理,分散資料的管理具有不同層次 (Levels) 的透明度 (Transparency),請論述三種透明度及相關技術。(25分) |
答:
(一)分散式資料庫系統三層主從伺服器架構
1.展示層(Presentation Tier):客戶端(Client)
(1)個別用戶端的電腦上安裝了具備圖形化操作介面 (GUI) 的程式,而這些程式可以透過特定格式的表單,提供使用者輸入適當的資訊,並且將結果顯示出來,以便與伺服器進行互動。例如瀏覽器或其他客戶端應用程式。
(2)近年各種網頁服務應用日益盛行,使得單一伺服器已經漸漸無法負擔熱門網站快速成長的網路流量。為了快速提供對客戶的服務,網頁伺服器通常採用負載平衡技術來縮短對客戶端的回應時間或是降低伺服器的負荷。
(3)網站受到攻擊事件時有所聞,未做好防禦就可能資料外洩或是系統癱瘓無法提供服務,要如何面對攻擊也成為系統管理人員重要責任。
2.商業邏輯層(Business Logic Tier):應用程式伺服器(Application Server) / 中間層(middle tier) / Web 伺服器(Web server)
(1)負責運算邏輯的處理程式於伺服器電腦上執行,其功能是接受來自客戶端的請求,並且決定何種資訊可以被傳送到用戶端。
(2)做為使用者介面與資料庫的橋樑,負責商業法則 (Business Rules)、與業務有關的資料處理、網站伺服器 (Web Server) 等工作,譬如使用 IIS 的網站伺服器,得撰寫 ASP 程式,並且透過 DCOM 與 MTS (Microsoft Transaction Server) 的元件相互溝通,再透過 ODBC 或 OLE DB 等機制與各種資料庫相連結。
(3)應用伺服器隨時可能因為某個硬體元件故障而造成停機。
3.資料層(Data Tier):資料庫服務層 / 伺服器端(Database Server)
(1)包含了儲存大量資料的資料庫及用來管理維護這些資料的軟體。
(2)負責資料庫或訊息的處理 [如使用 SQL Server 資料庫的預儲程序 (stored procedures),或使用 MSMQ 做訊息的處理等]。
(3)資料服務層負責提供資料給商業邏輯層,再傳送到使用者介面層,所以客戶端無法直接存取資料庫的內容,必須透過運算邏輯層的連接,因而提高了系統的安全性。
(4)資料庫伺服器硬體故障或當機等天災人禍而無法提供服務。
※參考資料:
1陳玄玲-資料庫系統原理第六版 2-20
2.http://www.lis.ntu.edu.tw/~khchen/course/db/db2007/DBCh02DBMS.pdf
3.https://www.slideshare.net/handbook/ie014
4.http://www.borg.com.tw/Eip/books/doc/run9811.htm
5.http://www.ee.nuu.edu.tw/board/cnews.php?id=47
6.http://webcache.googleusercontent.com/search?q=cache:QWwAiRLLx-0J:www.ceci.org.tw/book/52/ch52_2.htm+&cd=12&hl=zh-TW&ct=clnk&gl=tw
7.郭國香-網路書店物件導向模式之構建-以UML為塑模工具.ppt
(二)三種透明度及相關技術
1.位置透通性(Location transparency):
(1)雖然關聯表可能存放在不同的資料站上,但是使用者不用去考慮資料的擺放資料站,只要針對所需的關聯表與屬性下達查詢即可。
(2)在關聯式資料庫中,關聯表 (表格) 是資料的基本組織形式,每個表格包含一組相關的資料欄位。在分散式資料庫系統中,這些關聯表可能存放在不同的資料站 (也稱為資料庫伺服器) 上,每個資料站可能位於不同的地理位置或網路節點上。
2.重複透通性(Replication transparency):
(1)即使資料庫的資料在多個節點上進行了複製或備份,對於使用者或應用程式來說,這種複製或備份的存在也是透明的。使用者可以像操作單一實例的資料一樣進行查詢或更新,而不需要關心資料的實際儲存位置或複製的數量。
(2)實現重複透明度需要資料庫管理系統 (DBMS) 具備強大的資料管理和同步能力。當使用者進行查詢時,DBMS 需要能夠自動從多個複製中選擇一個進行查詢。而當使用者進行更新時,DBMS 則需要能夠將這些更新同步到所有的複製中,以保持資料的一致性。
3.分割透通性(Fragmentation transparency):
(1)允許一個資料表 (或稱為關聯表) 被分割 (或稱為分片) 到不同的實體儲存位置,然而對使用者或應用程式來說,資料看起來還是存在於單一資料表中。
(2)要達成分割透明度,資料庫管理系統 (DBMS) 需要有能力將使用者的查詢或更新請求分發到正確的分片上,並且將結果組合回來,形成一個單一的結果。這需要 DBMS 具有強大的資料路由和查詢優化能力。
※參考資料:曾守正、周韻寰-資料庫系統理論與實務 14-8~14-9
留言列表