2012年10月4日 星期四

From relational databases to distributed/parallel databases to cloud databases

課程:論文研討(一)
日期:2012.09.28
時間:14:00 ~ 15:30
地點:S104
作者:資工研一 曾耀男
講者:政大資科系 陳良弼教授

這週的主題比較廣,由標題可知,從關聯式資料庫到分散式/平行式資料庫,再到雲端資料庫。
而這些裡面最重要的依然為Transaction Management:如何確保資料存在硬碟不會遭受到破壞。
關聯式資料庫:
  資料邏輯結構的關係 - schema。
  使用高階語言 - SQL。
  有效率的查詢過程。
分散式資料庫:資料庫儲存在相同的實際位置的許多電腦上,或是分散開來在網路上的相互連接的電腦。
平行式資料庫:使用許多個CPU與硬碟來透過平行化的查詢評估,以致尋求解決效能問題。
雲端資料庫:一個典型的在雲端運算平台執行的資料庫。

演講中提到一點,資料庫正規化。
為什麼要正規化?
  降低資料的重複性 與 避免更新異常。

降低資料重複性:指將資料表中的重複資料刪除,避免空間的浪費與資料庫維護上的問題。
以選課系統為例子,如果學生的"通訊地址"同時在"學生資料表"與"選課資料表"中出現,這樣不只浪費了空間,而且若學生搬家,需要更改通訊地址時,必須同時修改上面提到的兩個資料表中的"通訊地址",若遺漏其一將會導致資料不一致的情況發生。

避免更新異常:分為三,(1)新增異常 (2)刪除異常 (3)修改異常
以上三個分別為,新增/刪除/修改某些資料時,必須同時新增/刪除/修改其他的資料,否則會發生異常。
舉個例子,下表中的學生收費表有資料重複的現象存在,例如有些課程的費用在多位學生身上重複出現,可能會造成錯誤或不一致的異常現象。

 
(資料來源:第一章 資料庫概念,http://my.cute.edu.tw/~jimmyho/CH04.ppt)


再來是雲端,但雲端是什麼?
雲端包含的東西林林總總,但簡單的說就是把資料放在雲上面(放在遙遠的、我們看不到伺服器上面),以往我們要做的事情總是在自己的電腦上完成,但礙於每部個人電腦的能力不同,有些事情在電腦上跑得比較吃力或是需要一些時間,而我們乾脆把事情交給遠端的強大的伺服器去幫我們做,它幫我們做好後,我們再透過網路拿回來,節省很多時間。
以Google眾多的雲端產品為例,我們可以隨時透過任何可連上網的裝置(電腦、平板、手機)連線到遠在彼端的伺服器上收信、編輯文件、存取檔案、上傳/瀏覽/編輯相片,而這些甚至都不需要自己的電腦去裝這些編輯軟體,我們所需要用到的軟體都在雲上面,更不需要手邊的裝置去運算複雜的編輯,透過雲端操作交給彼端的伺服器去運算即可。更方便的是這些資料因為放在雲上面,我們隨時唾手可得!


(圖片來源:雲端運算介紹-雲端運算的類型-軟體即服務,http://fcld.tw/apps/cloudcomputing_introduction/cloudcomputing_3_7.html)


而我們銘傳大學也提供了許多方便的雲端服務,例如:雲端硬碟、雲端教室。

雲端硬碟讓我們可以隨時隨地取得自己的文件檔案。

 
(圖片來源:銘傳大學 雲端硬碟,http://cloudhd.mcu.edu.tw)


而雲端教室更讓我們可以隨時使用學校的電子資源,上課所使用的軟體,我們不用在自己的電腦安裝,只要進入雲端教室,就可以使用到所有授權的軟體,隨時隨地都可以做功課。

 
(圖片來源:銘傳大學 雲端教室系統,http://www.cloud.mcu.edu.tw)


雲端科技是一個創新的想法,帶給我們諸多的便利,相信未來應用到此做法的產品將會越來越多,讓我們漫遊在雲端吧!

沒有留言:

張貼留言