2012年10月4日 星期四
From Relational Databases to Distributed/Parallel Databases to Cloud databases
課程:論文研討(一)
日期:2012.09.28
時間:13:50 ~ 15:30
地點:S104
作者:資工研一 鄭景仁
講者:國立政治大學 陳良弼教授
對於資料庫領域其實一直都不是很了解,所以稍微整理一下演講裡提到的幾個基本名詞:
Relational Database關聯式資料庫
是建立在關聯模型(ER)基礎上的資料庫,將一個資料表適度分割成幾個資料表並建立之間的關聯,具有下列優點:
(1)節省儲存空間(2)減少輸入錯誤(3)方便資料修改
Distributed Database分散式資料庫
是用電腦網路技術將實體上分散的多個資料庫單元連線起來組成的一個邏輯上統一的資料庫,也就是看起來是同一個資料庫但實際上卻是分散在同區域上各處的資料庫。而每個被連線起來的資料庫單元稱為網站或節點。
Parallel Database平行式資料庫
平行式資料庫是由二台以上的主機同時操控同一個資料庫,提高資料庫整體的效能,增加使用者資料的傳輸及運作,避免資料庫塞車的問題,與分散式系統相似,但優點在於可避免如有主機損壞而導致資料庫無法使用的困境,因為平行式的使用當一台主機損毀,另一台可擔負資料庫正常運作的功能。
Cloud Database雲端資料庫
將資料庫放置在雲端平台來做運算,如Amazon的EC2,使用者可以利用虛擬機器在雲端上獨立的執行資料庫,或是可購買如EC2這種資料庫服務,將資料庫維護這項工作交給服務提供者。
當然重點擺在雲端資料庫這邊,有些雲端資料庫依舊使用SQL語言,但有些是使用NoSQL,其中不使用SQL作為查詢語言為他的特性,在存取Big Data時能有更好的效能表現。
其實我覺得前面都是在吸收知識,後面老師提出的問題比較需要去思考。
顏秀珍老師有提到一個問題,[分散式與平行式資料庫的運作方式跟雲端資料庫的運作方式,最大的不同點在於哪裡?]
這個問題實在太貼近學生我們了,上述那些知識是用來吸收的,但這問題才是我們心中最大的疑問吧!那到底我們該怎麼去區分這個模糊地帶呢?很多服務提供者,只要把東西丟到網路上做運算做處理,就稱自己的服務為雲端服務,可是一般分散式資料庫不也是在做同一件事情嗎?
陳教授的解答,經過我大腦的翻譯(我也不曉得對不對),是我們不稱雲端資料庫為一個"資料庫",只是一個技術,用雲端的概念來完成資料庫的運作。這時我突然想起以前聽到有關於雲端技術的演講,其實雲端的基本概念,將東西丟到網路上做運算做處理,很久以前就有了,只是現在我們稱之為雲端。
舉例一個最貼近我們的例子,銘傳大學提供的"雲端教室"為什麼叫做雲端教室?我自己的電腦也有個IP,該不會到別人家用遠端連線連回我的電腦也叫做雲端吧?
可是,我自己的電腦,如果有硬體上面的維護問題,是我自己要負責處理,但是如果是學校的雲端教室,我可以確保硬體方面在非例外的情況下我不需要去維護。就像是去買了EC2,你就可以開始架你的資料庫,要多少空間就買多少空間,硬體就交給Amazon負責。
這是我的觀點,如有錯誤請糾正我,感謝您。
---
題外話,Google也有提供雲端SQL資料庫,特別提到是因為他原本是免費的,不過從今年六月12日起開始收費了...
https://developers.google.com/cloud-sql/docs/billing
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言