天天看點

為什麼在大資料進行中Cassandra與Spark如此受歡迎?

為什麼在大資料進行中cassandra與spark如此受歡迎?

說起cassandra的用途時,我們可以将其了解為一套理想的客戶系統實作方案——其能夠保證各類應用始終可用,包括産品目錄、物聯網、醫療系統以及移動應用。cassandra于2010年成為apache軟體基金會的頂級項目,而且至今仍擁有極高人氣。cassandra專業知識能夠幫助我們在人才市場上獲得賞識。我們不禁要問——為什麼這一開源項目能夠大受歡迎?

随着現代雲應用對正常運作時間及性能水準的要求逐漸提高,已經有越來越多使用者開始将注意力集中在apache cassandra資料庫身上。

為什麼在大資料進行中Cassandra與Spark如此受歡迎?

那麼,為什麼要選擇apache cassandra?這套分布式oltp資料庫能夠帶來高可用性與線性可擴充能力。在說起cassandra的用途時,我們可以将其了解為一套理想的客戶系統實作方案——其能夠保證各類應用始終可用,包括産品目錄、物聯網、醫療系統以及移動應用。這類項目一旦遭遇停機,企業可能面臨嚴重的營收損失甚至失去忠誠的使用者。netflix公司早在2008年就開始使用這套開源資料庫,而其做出的大力推動也真正讓cassandra引起了公衆的重視。

cassandra于2010年成為apache軟體基金會的頂級項目,而且至今仍擁有極高人氣。cassandra專業知識能夠幫助我們在人才市場上獲得賞識。我們不禁要問——為什麼這一開源項目能夠大受歡迎?

cassandra能夠利用amazon釋出的dynamo論文中所提到的獨特設計成果,進而保證硬體與網絡出現大規模故障時繼續保證可用性。利用點對點模型,其消除了單點故障可能性,進而幫助我們在機架故障甚至是網絡整體下線的情況下得以幸存。我們能夠在無需影響使用者體驗的情況下,順利處理整體資料中心故障。隻有能夠應對故障的分布式系統才是一套擁有出色設計水準的分布式系統,而在cassandra的幫助下,我們能夠承受各類意外狀況,并将應對機制納入資料庫架構及功能當中。

但大家可能要問,“不過,我之前隻使用過關系型資料庫,過渡過程是否非常艱難?”這個問題無法一概而論。cassandra使用的資料模型對于關系資料庫管理者來說并不陌生,我們同樣使用表進行資料模組化,并通過cql——cassandra查詢語言——查詢資料庫。不過與sql不同,cassandra支援更為複雜的資料結構,例如嵌套與使用者定義類型。例如,相較于為某張圖檔建立獨立的存儲表,我們可以直接将該資料存儲在集合中以實作更為快速的查詢速度。這種作法在cql當中非常自然,而對應的圖檔表中則包含其名稱、url以及喜愛該圖檔的使用者資訊。

為什麼在大資料進行中Cassandra與Spark如此受歡迎?

在高性能系統當中,毫秒級别的差異可能決定使用者的實際體驗與去留。然而,資源成本高昂的join操作限制了我們的向外擴充通徹。通過對資料進行非規範化處理,我們能夠盡可能降低請求數量,進而大幅降低磁盤空間成本并實作可預測的高性能應用。

當然,我們能夠存儲的絕不僅僅是圖檔資料。cassandra針對高寫入吞吐量進行了優化,這意味着其能夠完美地處理大資料應用。時間序列與物聯網用例的快速增長要求我們不斷尋求新的方法以收集資料并改進資料的應用技術。

這就帶來了新的問題:我們已經能夠以現代化且具備成本效益的方式存儲資料,但如何進一步提升處理能力?換言之,在資料收集完成後,我們該如何加以運用?我們如何有效分析數百tb資料?我們又該如何以秒為機關實時利用資訊進行決策?apache spark正是問題的答案。

spark可謂大資料處理的下一場革命。hadoop與mapreduce屬于第一代革命性項目,它們讓我們得以立足于大資料層面實作資料收集。而spark則能夠大幅提高性能并降低代碼計算的複雜性,進而實作前所未有的資料分析能力。在spark的幫助下,我們可以完成大量批處理計算,針對資料流處理結果進行反應并通過機器學習機制做出明智決策,最終利用周遊與遞歸了解複雜的資訊。其目标不光是為客戶提供更為快速可靠的應用連接配接能力(這部分效果由cassandra負責實作),同時也需要利用資訊做出業務決策地更好地滿足客戶需求。

大家可以點選此處查閱 spark-cassandra connector方案說明 (開源),我們也強烈建議各位在datastax academy上查找免費的自學教程。

希望大家能夠享受這段技術學習之旅!如果大家希望了解更多,也可參閱我們的oscon教程,其中包含大量與cassandra與spark相關的内容。

本文轉自d1net(轉載)