50億海量資料如何高效儲存和分析? GaussDB (for Cassandra) 3個祕訣搞定
摘要:資訊社會正在從網際網路時代走向物聯網時代,企業不可避免的要面對資料量劇增帶來的一系列問題:如何高效儲存和擴容,如何在對原有業務改動最小的情況下做到智慧化和實時分析。
本文分享自華為雲社群《50億海量資料如何高效儲存和分析? GaussDB (for Cassandra) 3個祕訣搞定》,作者: Cassandra官方 。
當下,資訊社會正在從網際網路時代走向物聯網時代,資訊互動變得更加龐雜、高效和智慧。對於網際網路公司和IOT企業來說,既是機遇,也是挑戰。因為,企業不可避免的要面對資料量劇增帶來的一系列問題:如何高效儲存和擴容,如何在對原有業務改動最小的情況下做到智慧化和實時分析。
針對挑戰,華為雲GaussDB (for Cassandra) 為客戶提供了強擴充套件、高儲存、高效匯入/匯出和實時分析等一系列能力,併成功服務了眾多網際網路公司和IOT企業,獲得了客戶的高度認可和支援。本文將以其中一個客戶業務的痛點問題舉例,聊聊高效儲存和實時分析的3個祕訣。
海量儲存,PB級無感擴充套件
該使用者線上下本地化部署使用資料庫或者使用其他的儲存為雲盤的資料庫時,常常需要在容量達到閾值時,提前規劃和申購儲存資源,可能還需要連帶擴容不必要的計算資源。而使用GaussDB (for Cassandra)之後,便再無此煩惱。GaussDB (for Cassandra)採用存算分離架構,可單獨擴充套件儲存,高效擴容,業務無感,最高可擴充套件到PB級。
此外,客戶為了做大資料分析,將資料庫中的資料再寫入一份到HDFS中,供MapReduce和Spark分析,同時需要維護兩套資源,維護和資源成本成為了痛點。而客戶使用GaussDB (for Cassandra)之後,可以僅採用GaussDB (for Cassandra)即可完成資料庫儲存和對接大資料分析的功能,同時GaussDB (for Cassandra)提供了更為易用的CQL介面,讓使用者更加專注功能開發,而不是資源管理。
資料變更捕獲和實時分析
客戶的一個使用場景需要將爬蟲或使用者輸入的資料,進行線上分析和實時推薦業務,該業務中全量資料達到了50億條,但增量資料不足5億,分析物件主要是每日新增資料。在這個場景中,GaussDB (for Cassandra)為客戶提供了streaming服務+實時分析解決方案,在損失小部分讀寫效能的前提下,客戶端無需改造即可做到資料讀寫和實時分析並行,解決方案如下圖,該解決方案主要有以下幾個階段:
- 客戶業務用過開源驅動寫入資料到GaussDB (for Cassandra)
- GaussDB (for Cassandra)對外提供streaming介面,該介面可獲取資料變更捕獲
- 客戶構建的流服務元件讀取streaming介面資料寫入到指定的Kafka佇列
- Kafka 佇列將streaming資料寫入到Spark或者Flink中
- 客戶在Spark中可對增量資料做分析,也可合併之後做全量分析
全量資料匯出分析
客戶的另一個業務需要週期性對全量資料進行分析和處理,但不想影響線上業務,希望在閒時處理。GaussDB (for Cassandra)提供了全量資料匯出和分析解決方案,可在業務低峰期觸發任務進行資料匯出和冷資料分析,資料匯出速率是開源的10+倍,同時做到對業務讀寫基本無影響。如下為網際網路客戶每週定期匯出資料分析使用者畫像的解決方案,該方案有以下幾個階段:
- 客戶根據需求配置ECS規格,並掛載obsfs並行檔案系統
- 客戶在DLF上配置匯出作業,包括ECS資訊,匯出引數和定時任務
- CDM下發作業任務
- ECS上的匯出任務將GaussDB (for Cassandra)中的指定表指定條件的資料匯出到obsfs
- Spark從obsfs中讀取全量資料進行資料分析
通過這3個祕訣,華為雲GaussDB (for Cassandra)完美解決了難擴充套件、高成本、變更不及時等問題,實現了海量資料的高效儲存和實時分析,為網際網路公司和IOT企業的數字化發展提供了更多可能。欲瞭解更多GaussDB (for Cassandra)詳情資訊, 歡迎移步華為雲官網。
本文作者:華為雲高斯Cassandra團隊
杭州西安深圳簡歷投遞:[email protected]
- 帶你掌握 C 中三種類成員初始化方式
- 實踐GoF的設計模式:工廠方法模式
- DCM:一個能夠改善所有應用資料互動場景的中介軟體新秀
- 手繪圖解java類載入原理
- 關於加密通道規範,你真正用的是TLS,而非SSL
- 程式碼重構,真的只有複雜化一條路嗎?
- 解讀分散式排程平臺Airflow在華為雲MRS中的實踐
- 透過例項demo帶你認識gRPC
- 帶你聚焦GaussDB(DWS)儲存時遊標使用
- 傳統到敏捷的轉型中,誰更適合做Scrum Master?
- 輕鬆解決研發知識管理難題
- Java中觀察者模式與委託,還在傻傻分不清
- 如何使用Python實現影象融合及加法運算?
- 什麼是強化學習?
- 探索開源工作流引擎Azkaban在MRS中的實踐
- GaussDB(DWS) NOT IN優化技術解密:排他分析場景400倍效能提升
- Java中觀察者模式與委託,還在傻傻分不清
- Java中的執行緒到底有哪些安全策略
- 一圖詳解java-class類檔案原理
- Java中的執行緒到底有哪些安全策略