Posts

Showing posts from September, 2017

MPP Database – Pivotal Greenplum

Image
筆者: 歐立威 Hank 1.     Database 由來 : 資料庫是甚麼 !? 我們為何需要資料庫 !? 相信大家都能說出各家資料庫各式各樣的特色功能,但我想若從 ” 資料庫為我們解決了哪些問題 !?” 的角度切入,我想大家會對資料庫存在的必要性更有感覺。 在沒有資料庫前,資料以檔案的方式存放,甚至沒有電腦前,資料須以紙張的方式存放 … 隨著業務增長,資料量多了起來 ( 資料夾層數越來越多、檔案數越來越多或是紙本越來越多 …) ,最常用的搜尋、更改、刪除等功能 … 我想大家想到這便頭痛了起來 … 所以我們可以很明確的結論出 : “ 資料庫能夠提供我們更方便、省時的方法去組織與管理企業資料。 ” ,有了資料庫,除了基本的查詢、修改、新增、刪除,更有著許多進階功能如去重複、多用戶權限管理、加解密、備份還原、與其它應用的介接能力 … 2.      Database硬體 架構設計 : 隨著企業交易量增長或是大型分析型的資料倉儲的出現,人們發展出不同的架構來解決實務上的問題 ( 圖一 ): a.       Shared-Everything: 起初隨著交易量的增長, CPU 的運算需求增加,最直觀的方法便是在同樣的物理伺服器中放進多個 CPU 單元,多個 CPU 之間無主從關係,而擴充的方式不外乎換上更好的 CPU 或是增加 CPU 數量等 … 共享使得程序間資料交換相當容易,所以 Shared Everything相當適合運用在需要高一致性要求的系統中。 但也由於 Shared Everything 的主要特徵就是共享 ( 共享 Memory, 共享 Disk …) ,當多個 CPU 存取相同資源時必須等待,所以 CPU 數量越多,造成的 CPU 資源浪費也越大, 在擴充上是非常有限的, 最好的 CPU 運用效率約莫在 2~4 個。 b.       Shared-Storage: 由於 Shared Everything 擴充能力上的限制, Shared-Storage 算是人們為了解決此問題下的一個成果,其特徵為將多個 CPU 模塊透過特殊互連模塊組合成一組可擴充的大型系統,每個 CPU 模塊內有數個 CPU 與獨立的 Memo