滴滴海量離線資料的線上化 — FastLoad
桔妹導讀:滴滴自成立以來,有海量的資料儲存在離線平臺,離線資料雖然儲存便宜,壓縮比高,但不適用於線上使用。為此,我們提供了一鍵式DTS平臺——FastLoad,幫助業務往線上儲存系統搬運離線資料,目前主要針對滴滴自研分散式儲存Fusion,Fusion以RocksDB為儲存引擎,服務線上叢集500+,承載業務資料1600TB+,總QPS峰值1200W+,是一個成熟穩定的分散式NoSQL/NewSQL解決方案。
0.
目錄
1. 業務背景:雄關漫道真如鐵
2. 技術探討:工欲善其事必先利其器
Ingest SST
Map/Reduce產出全域性有序檔案
3. 系統架構:千磨萬擊還堅勁
4. 總結展望:直掛雲帆濟滄海
基於FastLoad的資料傳輸給業務帶來的收益
發展規劃
1.
業務背景:雄關漫道真如鐵
定時更新
快速更新
穩定性
多表隔離
2.
技術探討:工欲善其事必先利其器
▍Ingest SST
檢查需要匯入的SST是否合法,包括檔案之間Key值是否有重疊,檔案是否為空,ColumnFamilyID是否合法等等。
阻塞DB例項的寫入操作,對可能與Ingest檔案有重疊的MemTable進行刷盤操作。阻止RocksDB執行新的Compact任務導致LSM結構更新。
確定Ingest的檔案應該在磁碟LSM結構中的哪一層,RocksDB會盡可能地將檔案放在Key值不重疊的最底層。如上圖所示,Key值範圍為[E, F]的SST檔案將Ingest匯入到了L1層;隨後,根據當前存在的快照、LSM組織形式等設定SST檔案的元資訊。
將之前設定的阻塞標記全部刪除。
▍Map/Reduce產出全域性有序檔案
3.
系統架構:千磨萬擊還堅勁
控制檯服務:對外提供控制檯表單和OpenAPI方式接入,提供建立任務、Schema轉換規則等服務。
大資料排程模組:依賴Hadoop的計算資源,將Hive資料匯出為我們需要的中間檔案,在經過Map/Reduce的構建,生成全域性有序的SST檔案。
檔案下載模組:根據分散式儲存的路由表,將SST檔案下載到不同的儲存節點。
檔案匯入和DB切換:依賴上文提及的Ingest SST的方式,將檔案一次性匯入DB例項。為了避免上述提及的堵塞,我們提供往新DB例項導資料的選項,這樣就可以避免因線上寫而導致的堵塞,空資料也可以避免Compact。假如選擇了新DB匯入的選項,最後還會有一次DB新舊例項的切換,相當於一次連結對映。
4.
總結展望:直掛雲帆濟滄海
▍基於FastLoad的資料傳輸給業務帶來的收益
大大縮短業務導資料耗時,1TB資料平均匯入時間為1小時;
線上服務業務300+,每天執行次數1000+,每天導資料量30TB+;
服務穩定性達到99.99%,上線執行2年無任何重大事故;
高頻運維操作一鍵自助完成,90% 的問題,5 分鐘完成定位;
▍發展規劃
架構最佳化,整體架構目前依賴Hadoop,可以考慮遷移到Spark,提升執行效率;
管控最佳化,提供更細緻更全面的FastLoad監控和報表;
多產品應用,目前FastLoad主要針對NoSQL和NewSQL兩種場景,同比可以應用在ES、MQ等場景;
新場景支援,離線資料的實時讀取不僅對OLTP場景提供了更好的支援,也為接下來大熱的HTAP場景提供了無限的可能。
趙銳 滴滴 | 高階工程師 從事分散式儲存NoSQL/NewSQL的相關研發,參與從零開始構建滴滴分散式儲存Fusion,有PB級別儲存、千萬QPS的儲存經驗。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69908606/viewspace-2657976/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 阿里IM技術分享(七):閒魚IM的線上、離線聊天資料同步機制優化實踐阿里優化
- 離線資料同步變遷
- 磁碟離線資料恢復資料恢復
- 【PG】PG在linux上的線上和離線安裝Linux
- 【伺服器資料恢復】raid5離線硬碟重新上線同步資料失敗的資料恢復案例伺服器資料恢復AI硬碟
- 伺服器硬碟離線強制上線資料丟失怎麼恢復?伺服器硬碟
- 離線查詢與線上查詢
- 【伺服器資料恢復】raid5強制上線離線硬碟失敗的資料恢復案例伺服器資料恢復AI硬碟
- 【Redis 技術探索】「資料遷移實戰」手把手教你如何實現線上 + 離線模式進行遷移Redis資料實戰指南(離線同步資料)Redis模式
- 大資料5.1 - hive離線分析大資料Hive
- Apache NIFI離線同步MySQL資料ApacheNifiMySql
- [譯]前端離線指南(上)前端
- 【伺服器資料恢復】離線硬碟強制上線導致RAID5崩潰的資料恢復伺服器資料恢復硬碟AI
- ServiceWorker 快取離線化快取
- Datax離線資料抽取(MySQL--MySQL)MySql
- Datax離線資料抽取(Oracle--MySQL)OracleMySql
- Datax離線資料抽取(MySQL--Oracle)MySqlOracle
- Markdown線上、離線編輯器與使用教程
- Laravel-Echo 線上離線檢測判斷Laravel
- 百度EasyDL上線離線SDK功能 保障資料的高保密性和高安全性
- 資料變更白屏化利器-推送軌跡上線
- 【伺服器資料恢復】Raid5熱備盤上線同步時另一塊硬碟離線的資料恢復案例伺服器資料恢復AI硬碟
- 印表機離線了怎麼連線 印表機離線的連線方法
- 使用 ISAR 資料庫提供離線 Flutter 支援資料庫Flutter
- 基於EMR離線資料分析(阿里雲)阿里
- 敲黑板:滴滴雲線上技術沙龍課堂筆記來咯|附PPT資料筆記
- 海量線上品牌推廣文案模板,支援線上製作推廣內容!
- 測量圓線圈軸線上的磁場分佈曲線 (資料版)
- 伺服器資料恢復-raid6離線磁碟強制上線後分割槽無法訪問的資料恢復案例伺服器資料恢復AI
- HDU 1542 Atlantis (線段樹+離散化+掃描線)
- 印表機離線了怎麼重新連線 印表機離線重新連線的方法
- 大資料導航新版上線大資料
- oracle 線上rename資料檔案Oracle
- 線上文字實體抽取能力,助力應用解析海量文字資料
- 離線數倉建設之資料匯出
- 資料分析師如何應對資料庫取數後的離線分析資料庫
- 一個好用的免費IP離線地理資訊資料庫資料庫
- 印表機離線如何處理 印表機離線的方法