天天看點

gemfire:VMware大資料之道

當雲計算遇上大資料,怎樣在虛拟環境中擷取大資料的價值,是企業必須面臨的問題。其中最關鍵的一個部分就是:記憶體虛拟化。

gemfire:VMware大資料之道

VMware給出了他們的答案:在統一的vSphere雲架構之上,提供GemFire實時處置、GreenPlum互動處置及Hadoop批處置三種模式,滿足使用者的海量、快速及靈活的大資料處置需求,并為開發者、資料剖析師、資料科學家和商務使用者提供資料剖析及可視化的資料展示。

與IBM、EMC、富士通、Intel等先後推出Hadoop刊行版差别,Vmware更專注于基礎架構層面。在一場2000餘人到場的VMware & EMC大資料雲高峰論壇上,VMware公司大中華區總裁宋家瑜表示,雲的平台才是唯一能解決爆炸性大資料使用的需求,把關鍵應用移到雲平台已經是一個一定趨勢。

gemfire: VMware大資料之道

Hadoop由于其低成本和高擴充性的優勢,成為各大廠商處置海量資料的法寶,但虛拟基礎架構雲上的Hadoop,存在可靠性問題。憑據阿帕奇Virtual Hadoop wiki文檔給出的結論,可以将Hadoop帶到雲基礎架構上,但實體和虛拟基礎設施之間的差異可能危及資料完整性和安全性。

現在,VMware開源項目Serengeti試圖改變這個問題。該項目将允許企業在雲端和虛拟環境中,在 vSphere 上部署和治理Hadoop。

範承工介紹,Serengeti将Hadoop在虛拟基礎架構的部署時間從許多天縮短到10分鐘,同時還能夠提高硬體的使用率,能夠滿足多租戶的需求,有更好的安全隔離,也有更好的伸縮性。Vmware還介紹,通過 vSphere,Hadoop應用如若節點失敗能夠自動重新開機。

VMware試圖在統一的vSphere雲架構之上,提供GemFire實時處置、GreenPlum互動處置及Hadoop批處置三種模式,滿足使用者的海量、快速及靈活的大資料處置需求,并為開發者、資料剖析師、資料科學家和商務使用者提供資料剖析及可視化的資料展示。

Vmware還做了一個UAP(Universal Analytics Platform)的大資料剖析平台,其中包括Greenplum database、Hadoop和Chorus分享軟體,這個平台可以幫助客戶同時剖析處置結構化和非結構化的資料。

通過Chorus系統,資料科學家可以自助的建立圖形工作區,搜尋和擷取這些企業當中的資料。接下來建立資料剖析沙箱,也不會影響别人,當他有新的發現之後,又可以把他的發現孝敬給其他的資料科學家進行不停的改良。

雲端大資料剖析工具Cetas,該産品來源于Vmware收購的一家提供在Hadoop平台之上的剖析服務的公司,提供實時剖析的能力,可以對市場的變化做出快速反映。Cetas通過公共雲提供服務,易于部署,内建高效的剖析算法,且簡單易用,極度容易的能夠把資料上傳到雲裡面,可以提供一個可視性的圖表,對資料進行很好的展示。這也意味着,無需專業的資料科學家和統計科學家就可以進行商業剖析。

在滿足快速需求上,Vmware有GemFire和SQLFire,他們都是記憶體為主導的資料庫形式,可以實時地對資料的反映。在靈活上,Vmware提供了Object的GemFire的方式,為關系型資料庫提供選擇。

身兼兩職的GemFire,實際上并非傳統的記憶體資料庫,而是橫向擴充的疏散式的資料庫,可以和現有的資料庫共存,把它的優點發揮出來。它有許多平行的算法,可以應對OLTP,OLAP資料剖析等等。

由此看來,Vmware通過并購與研發,提供了包括虛拟伺服器層、應用平台層、以及應用之上的資料層的技術。同時,這幾種技術也可以一起使用,以滿足使用者所有的應用需求。是以,說整體的大資料解決方案是恰如其分。

背景介紹:傳統的資料庫大多接納ACID(即(Atomicity, Consistency, Isolation, Durability)規則進行設計,随着資料量和業務量的擴大,同時為了保持資料的一緻性,在并發過程加入了大量的鎖控制,是以傳統的基于硬碟存儲的資料庫徐徐成為了大型系統和複雜操作的IO和擴充性瓶頸所在。

VMware的gemfire正好提供這一條理的記憶體虛拟化技術,将傳統意義的資料庫進行了記憶體級其它虛拟化,建立了電腦叢集級其它記憶體池,大大減少了IO延遲,進而軟體開發人員不用在考慮硬碟條理的資料交換,設計上更加靈活自由,給OLAP等應用帶了新的飛躍。

現有的gemfire部署方式有三種:P2P,client-server 或者 super-peer,hub-spoke組織的架構。

擴充閱讀:

12306接納Pivotal GemFire分布式解決方案 解決尖峰高流量并發問題

中國鐵路客戶服務中央網站www.12306.cn是世界規模最大的實時買賣系統之一,媲美Amazon.com,節假日尤其是春節的通路高峰,網站壓力巨大。2012年6月選擇了Pivotal GemFire分布式記憶體計算平台(Distributed In-memory computing)改造12306,由鐵科院項目小組負責人王明哲主任和資拓宏宇(IISI)資訊科技有限公司在鐵科院主管朱建生所長上司下提供技術實行。

GemFire是Pivotal企業級大資料PaaS平台的一部分。Pivotal公司的企業級大資料PaaS平台主要有三個條理:雲基礎架構層 Cloud Fabric、大資料基礎架構層Data Fabric、應用開發基礎架構層Application Fabric。GemFire屬于大資料基礎架構層,此外,Greenplum資料庫也屬于這一層;雲基礎架構層的技術是Cloud Foundry;應用開發基礎架構層的技術是Spring Framework和RabbitMQ等。

12306之前接納Unix小型機架構,接納GemFire技術改造成Linux/X86伺服器叢集架構,就意味着一下跨越三代。從小型機到大記憶體X86伺服器叢集,不僅讓性能提升了一個數量級,而且成本也要低得多。

2012年3月開始,鐵路總公司(原鐵道部)開始調研、改造12306。2012年6月選擇了Pivotal GemFire分布式記憶體計算平台(Distributed In-memory computing)改造12306,一期先改造12306的主要瓶頸——餘票查詢系統。9月份完成代碼改造,系統上線。2012年國慶,又是網上訂票高峰期間,大師可以顯著發現,可以登入12306,雖然還是很難訂票,但是查詢餘票很快。2012年10月份,二期用 GemFire改造訂單查詢系統(客戶查詢自己的訂單記錄)。2013年春節,又是網上訂票高峰期間,大師可以顯著發現,可以登入12306,雖然還是很難訂票,但是查詢餘票很快,而且查詢自己的訂票和下訂單也很快。

中國鐵道科學研究院電子計算技術研究所副所長朱建生表示,“通過技術改造解決了困擾我們多時的尖峰高流量并發問題,讓全國人民不再由于技術原由而埋怨,我們終于舒了一口氣。Pivotal GemFire分布式叢集記憶體資料技術對整個技術改造發揮了關鍵的作用。同時,感謝Pivotal公司及實際上施方項目團隊的努力,在技術開改造過程中確定舊系統順暢運作、舊系統到新系統平滑遷移,快速實作新系統的上線。”

據統計, 在2012年頭的春運高峰期間,每日有2000萬人通路12306網站,日點選量最高到達14億。大量同時湧入的網絡通路造成12306幾近癱瘓。 中國鐵道科學院電子計算技術研究所作為12306網際網路購票系統的承建機關,急需追求方法解決問題。

憑據系統運作資料記錄,技術改造之後,在隻接納10幾台X86伺服器實作了以前數十台小型機的餘票計算和查詢能力,單次查詢的最長時間從之前的15秒左右下降到0.2秒以下,縮短了75倍以上。2012年春運的極端高流量并發情況下,系統幾近癱瘓。而在改造之後,支援每秒上萬次的并發查詢,高峰期間到達2.6萬個查詢/秒吞吐量,整個系統效率顯著提高。如上圖所示。

訂單查詢系統改造,在改造之前的系統運作模式下,每秒隻能支援300-400個查詢/秒的吞吐量,高流量的并發查詢隻能通過度庫來實作。改造之後,可以實作高達上萬個查詢/秒的吞吐量,而且查詢速度可以保障在20毫秒左右。

新的技術架構可以按需彈性動态擴充,并量增加時,還可以通過動态增加X86伺服器來應對,保持毫秒級的響應時間。

12306能夠取得這樣排山倒海的效果,靠技術上的小修小補是不行能的,必須有全新的思緒,能夠給性能提升帶來杠杆式的作用。12306發現GemFire分布式記憶體資料平台就是這樣一種技術。

GemFire分布式記憶體資料平台的技術原理如上圖所示:通過雲計算平台虛拟化技術,将若幹X86伺服器的記憶體集中起來,組成最高可達數十TB的記憶體資源池,将全部資料加載到記憶體中,進行記憶體計算。計算過程自己不需要讀寫磁盤,隻是定期将資料同步或異步方式寫到磁盤。GemFire在分布式叢集中儲存了多份資料,任何一台機器故障,其它機器上另有備份資料,是以通常不用擔憂資料丢失,而且有磁盤資料作為備份。GemFire支援把記憶體資料持久化到種種傳統的關系資料庫、Hadoop庫和其它檔案系統中。

大師知道,目前計算架構的瓶頸在存儲,處置器的速度根據摩爾定律翻番增長,而磁盤存儲的速度增長很緩慢,由此造成巨大高達10萬倍的差距。這樣就很好了解GemFire為什麼能夠大幅提高系統性能了。

根據計算與存儲的關系,我們可以将計算架構分為四代:

第一代,基于磁盤的單一系統:計算過程中需要從磁盤讀取資料。小型機、大型機是其中的佼佼者,将單一系統的性能做到極緻。

第二代,基于磁盤的分布式叢集系統:計算過程中需要從磁盤讀取資料,但通過度布系統将資料疏散到差别的伺服器磁盤上,提高整個系統的處置能力。現在許多大型網際網路和電子商務公司接納基于X86伺服器的分布式叢集系統,依賴海量的X86伺服器部署解決高流量并發的問題。

繼續閱讀