這次的演講並沒有一個確定的結論,但我想雲端資料庫(cloud databases)也許就像李玉璽主任最後提出的,是分散和平行資料庫的結合吧! 我大概說明一下Distributed databases 的資料是分散存放的,使用者再查詢資料時,透過網路的節點快速傳回以致使用者感覺資料庫是集中的,而Parallel databases 的資料是集中存放的,再同一時間內提供給一個以上的使用者使用(有錯請告知我更正): 。
若要說到雲端資料庫,就要知道何謂雲端?雲端運算是一種基於網際網路的運算方式,透過這種方式共享軟硬體資源與資訊,並按使用者所需提供給電腦和其他裝置。如同「雲」一般,在距離使用者之遠端進行大量運算,減少使用者電腦之負擔,且使用不需要知道「雲」在那裡,只要享受「雲」所提供的服務就好。
雲端運算主要特色說明如下:
(一)集中管理:各用戶端不需要架設主機,因主機需要電腦機房,就有機電、空調、消防及環控等成本。除可節省建置成本,亦可節省管理人力。
(二)集中計算:稱為雲端計算,用戶端不需要安裝軟體,可以減少因用戶環境多樣化所造成問題,徒增維運人力成本。
(三)小型主機:集中管理因考量運算效能,以往採建置大型主機方式,惟大型主機成本高、管理不易及擴充困難,雲端則改以串連多個小型主機,以達使用效能,並且不因單一主機故障,造成服務中斷。也可以說,這些小型主機就是一朵朵「雲」。
(四)動態資源:主機資源包含CPU、記憶體等集中控管,且可容易、適當並快速地配置予需要資源的服務,動態分配資源的特性更增加資源充份運用及使用彈性。
雲端運算主要特色說明如下:
(一)集中管理:各用戶端不需要架設主機,因主機需要電腦機房,就有機電、空調、消防及環控等成本。除可節省建置成本,亦可節省管理人力。
(二)集中計算:稱為雲端計算,用戶端不需要安裝軟體,可以減少因用戶環境多樣化所造成問題,徒增維運人力成本。
(三)小型主機:集中管理因考量運算效能,以往採建置大型主機方式,惟大型主機成本高、管理不易及擴充困難,雲端則改以串連多個小型主機,以達使用效能,並且不因單一主機故障,造成服務中斷。也可以說,這些小型主機就是一朵朵「雲」。
(四)動態資源:主機資源包含CPU、記憶體等集中控管,且可容易、適當並快速地配置予需要資源的服務,動態分配資源的特性更增加資源充份運用及使用彈性。
因此根據雲端的定義,資料分散於各大伺服器且提供給有需要的客戶,同時間可能有好幾千人在使用,正不是結合了Distributed databases和Parallel databases嗎?解決了Distributed databases管理不易的問題和Parallel databases無法隨拿隨到的困擾。
然而在陳良弼教授的演講中我了解到目前資料庫系統區分是有分SQL和NOSQL的,前者強調資料的一致性,適用於資料量小且頻繁使用查詢的資料庫,後者則是避免使用SQL的JOIN操作而強調速度,較適用於具龐大資料的資料庫,泛指所有非關聯式的資料庫。NOSQL能出現,我覺得也是因為雲端運算的觀念,如同第一段提到的,因此呼應演講的題目,三者關係是非常密切的,現在許多知名網站已經擁有成千上萬台的伺服器例如:GOOGLE和FACEBOOK為了解決流量問題便使用NOSQL資料庫[2],把檔案切成多個Block碎片,複製並分散到多個不同的儲存節點,有需求的時候在從這些節點中取出組合,其實NOSQL資料庫可分為4大類,如下圖[1]:
總結上,雲端的概念已經漸漸被大家所接受以及使用,雲端資料庫的技術我相信會日漸成熟的。
參考資料來源:
延伸閱讀:
沒有留言:
張貼留言