100億小數據實時計算平台(大數據系列目錄)


2017年6月,開始數據分析的職業生涯,作為架構師,建立起一套基於.Net/.Net Core的小數據實時處理計算平台,這里記錄學習過程中的點點滴滴!

數據分析的核心,可以理解為:Select xxx From table Where yyy Group By zzz

一、小數據定位

小數據計算平台的定位:

  1. 數據量在1000萬行到100億行之間,傳統關系型數據庫算起來吃力,且類似項目不是特別多,Hadoop搭起來難以收回成本
  2. 資源投入有限,基於傳統項目之上的輕量級數據分析,一般只能有1~2台服務器,Hadoop最好能有8台以上服務器
  3. 門檻低,普通軟件工程師容易上手做數據分析,並參與開發配套的業務系統,大數據開發工程師需要會很多(Hadoop、MapReduce、HDFS、Hive、HBase、Spark、Zookeeper、Sqoop)
  4. 實時內存計算,C#/Java/Go+Redis/MongoDB,輕松做到0.5~5分鍾實時處理,大多數大數據開發工程師只熟悉 Hadoop+Hive,擅長T+1離線計算,對實時計算Spark+HBASE熟悉的不多

題外:其實大家平時借助消息隊列(Kafaka/RocketMQ)異步處理的統計,本身就屬於實時計算數據分析的一種!

該平台的目標並非替代Hadoop,而是對中小型數據分析提供一種輕量級選擇。

實際上我們大部門就有完整的Hadoop大數據平台,我們的許多模塊,都跟Hive、HBase、Kafka等有大量的數據交互

未來的日子里,會根據后面的小數據平台配套,把相關技術慢慢寫下來。

 

二、文章目錄

大數據系列文章目錄:

1,大數據分析中使用關系型數據庫的關鍵點

2,MySql如何做到600000tps的極速批量寫入

3,大數據分析中Redis經驗分享

4,如何分批處理大數據(調度系統)

新生命Redis組件(日均80億次調用)

借助Redis做秒殺和限流的思考

大數據分析中Redis怎么做到220萬ops

每天4億行SQLite訂單大數據測試(源碼)

 

三、小數據平台配套

小數據計算平台配套:

  1. 關系型數據庫,數據來源以及計算結果存儲,推薦MySql,批量插入5000~50000tps
  2. Redis,原始數據源預熱,中間計算數據臨時存儲,結果數據緩沖隊列,選Linux/Windows多實例部署,單實例性能8w~10wops
  3. 計算節點,核心數據分析應用,從數據庫或Redis或微服務讀取原始數據和基礎數據,根據業務規則進行計算,統計結果直接落庫或借助Redis異步落庫
  4. 調度系統,時間片調度算法,對數據進行切片處理,多實例多線程並行計算,錯誤或超時重試機制。計算節點上跑的分析應用依賴於調度系統
  5. 服務節點,頻繁且反復讀取的小數據(1000萬~100億)預熱進入Redis,大量部署微服務,封裝各種數據訪問,10萬以下數據直接緩存到進程內存
  6. 微服務注冊中心,每個服務至少部署2個節點(可用性、負載均衡),大量服務需要管理起來,伸縮擴容
  7. 配置中心,數據分析應用和微服務的大量伸縮部署,需要有配置中心把數據庫配置等各種配置管理起來
  8. 監控中心,監控重要計算節點和服務節點,通過微信/短信/釘釘等工具報告緊急情況,或每天提供數據簡報

實際使用根據需要進行調整,如果數據分析項目不多,后面的輔助性配套可以不要。

 

四、關於我

關於博客,10多年來斷斷續續也寫了不少博文,我寫的博客有個特點,都是經過深思熟慮並且在網絡上很少能找到相關內容的知識點。

關於工作,公司財報提到2018年第二季度包裹量21.16億件,公司名和具體工作內容不方便討論,還請大家見諒和監督!

 

本文答疑:QQ群1600800,2018-08-12 20:00:00

 

End.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM