數據存儲產業服務平臺

Scale OUT還是Scale UP?

做web2.0網站,一個普遍的感覺就是計劃不如變化。在吸引風險投資的時候,我們可以做出種種規劃,在某某年吸引多少多少用戶,PV/UV達到多少,我們都期待用戶量的快速增長,因為互聯網的普遍模式還是先圈用戶,但增長還是不增長,增長多少往往是無法事先預計的。在這種情況下,配置多少存儲和運算能力,在什么時候增加存儲和運算能力是個考驗人的問題。存儲和運算能力的閑置,浪費金錢,但存儲和運算能力不夠,網站垮掉也是我們所不愿意看到的。云計算的概念吹了很久,在中國還是看不到影子。作為技術人員,當然是期望有云計算平臺的出現(其實很多web2.0網站也沒什么多么核心的數據資產那么令人擔心),按需購置存儲和計算能力就好,不要老深更半夜的往機房里面跑。但現實是在中國,我們還需要自己購置存儲設備、服務器和帶寬,自己去維護。

從企業IT架構體系上來看,對于web2.0網站來說,必須考慮的就是可擴展性:隨著使用人數的增多,能夠及時的擴展IT系統的能力。解決這個問題,通常有兩種解決方式:Scale up和Scale out,兩種擴容的方式分別從兩個維度來解決數據庫壓力。所謂Scale up就是向上擴容,Scale out就是平面型的擴容??v向的擴容就是將DB Server的配置提高,增加硬件配置,通過硬件速度提升來解決訪問壓力,橫向擴容就是將應用的數據拆分,將原來集中存儲的數據根據一定的規則分布到不同的物理數據庫服務器上。Up模式實施成本較高,大到一定壓力之后,硬件可能無法滿足這類需求。從web2.0網站來看,如果能夠通過疊加相對廉價設備的方式實現存儲和計算能力的擴展,是長期可擴展的有效手段,這點是Scale out所帶來的優勢。

對網絡存儲來說,共享存儲是必須的。無論數據塊或文件、本地化或遠程,都不希望停留在單處理環境中。數據中心需要全新的服務,不只是關于服務器、存儲或網絡產品的,而是關于建立系統的應用和基礎架構資源,企業建立的系統要能夠輕松適應未來的需求。目前來看,在存儲領域采用Scale out的方式是一種比較流行的模式,很多公司也推出了相應的產品和服務。在最近IBM公司發布了一款全新的、可高度擴展的磁盤存儲系統,該系統技術來自 IBM公司在今年一月份收購的XiV公司,旨在應對如今的多種復合信息,這些信息來自從Web 2.0到金融服務等傳統應用。由XiV公司技術開發而來的這一全新企業級磁盤產品,展現了一種獨特的基于網格的存儲架構,可以更加輕松地管理,并可實現更好的性能擴展,配有自調整/恢復及自動精簡配置功能,能夠幫助降低信息存儲的成本和復雜性,同時支持現在動態工作負載下對數據進行持續快速訪問的要求。根據IBM公司的介紹,XiV系統基于SATA磁盤,運用了一種獨特的并行架構及緩存算法,不但消除了熱點,其性能水平也遠遠超出那些基于FC的磁盤系統。此外,IBM發布的擴展文件服務(SOFS, scale out file services)能夠幫助企業快速實現高度可擴展的全球化集群NAS系統,從而能夠幫助緩解當前的數據存儲挑戰,尤其是當前存儲網絡帶寬不足給企業所帶來的困擾。

國外很多web2.0的網站通過Scale out的方式,比如Flickr和digg,解決了平穩服務下的計算能力擴展的問題。Flickr網站通過Shards這種模式,利用眾多的價格低廉數據庫服務器橫向分布信息,在每天處理億級的事務情況下響應時間還是很快,同時在信息不斷膨脹的情況下擴展的成本很低,擴展對于網站的影響基本沒有。 Shards含義是碎片,在這里的意思是將應用的數據橫向拆分,也就是說如果有幾千萬的用戶信息,那么這些用戶信息可以被分布在多個數據庫服務器上,這種分組分布數據到不同的數據庫服務器上,橫向切分數據塊就叫做Shards。Digg的處理方式也蠻有意思,它把主要的用戶訪問量大的數據與其他的用戶訪問量小的數據做sharding,對于那些訪問量大的“熱”數據用更好的硬件,提供更好的服務體驗,而其他的數據盡管訪問速度稍慢一點,對用戶來說,影響也很小。

不過另外一方面,Scale out這種方式策略的制定復雜度以及維護成本要高于Scale up。采用Scale out這種方式,首先需要解決復雜的分布式計算的問題(相對來說Scale Up方案不需要考慮這個問題),這對于很多國內的web2.0網站的技術人員來說,是一個巨大的技術門檻;另外,Scale Out方案還需要對原先的軟件進行大量的重寫工作,以保證系統能在分布式服務器上運行(Scale Up方案則對現有軟件幾乎沒有改動要求);還有就是Scale Out方案始終面臨著數據集中的問題,即拆分過的數據在服務器邏輯體系中仍然是各自相對集中的而非無限隨意拆分。

對于分布式計算的技術問題,國外有一些開源的項目,我們可以借鑒,在一定程度上可以去努力解決。與此同時,我們還需要考慮到我們自身網站的數據的特點。像聯機游戲、IM、BSP這些數據,通常每個用戶都可以抽象成一個數據對象,可以獨立存儲在任何一個地方,數據之間關聯度不大,這種情況比較適合采用 Scale Out的方式。但對于另外一些數據,比如電子商務網站的買賣信息,它們之間的關聯度大,這時候往往查詢需要耗費很多的資源;還有一些事物型的應用,保證數據的完整性是更為重要的,在這個時候,采用Scale Out的方式不一定適合。從整體上看,采用Scale out的方式是web2.0網站的主流,適應了網站數據不斷且不太好預計增長的主要需求,而Scale up這種方式更為適合業務數據具有較強關聯性且數據增長可預期的企業。

未經允許不得轉載:存儲在線-存儲專業媒體 » Scale OUT還是Scale UP?
精品国产午夜肉伦伦影院,双性老师灌满浓jing上课h,天天做天天爱夜夜爽,攵女乱h边做边走