1. 程式人生 > >資料分析之37 個場景使用到集算器

資料分析之37 個場景使用到集算器

可閱讀原文:http://c.raqsoft.com.cn/article/1534732238335?r=alice

1、清單式大報表難以及時呈現,採用資料庫分頁方式翻頁效率很差

  • 集算器將計算和呈現做成兩個非同步執行緒,取數執行緒發出 SQL 將資料快取到本地,然後交給呈現執行緒快速展現報表
  • 取數執行緒只涉及一個事務不會出現資料不一致,保證資料準確性

2、查詢報表從資料庫中取數量大,JDBC 傳輸效能低

  • 集算器通過(多執行緒)平行計算與資料庫建立多個連線並行取數提升取數效能
  • 可將量大的冷資料事先儲存在庫外檔案系統中,集算器基於檔案直接查詢計算,避免通過 JDBC 取數

3、T+0 實時全量查詢涉及資料量大,影響生產系統執行,而分庫後又難以實施跨庫混合運算

  • 將冷熱資料分離,僅將當期熱資料存放在資料庫中,冷資料儲存在檔案系統或資料庫中,通過集算器完成跨源(庫)計算,完成多源資料彙總、複雜計算,實現 T+0 全量資料實時查詢
  • 集算器提供不同資料庫的 SQL 翻譯功能,資料分庫(同構異構均可)後,仍然可以使用通用 SQL 進行跨庫查詢

4、SQL 複雜,巢狀層次多,資料庫優化路徑不可控,運算效能低

  • 集算器採用過程計算,分步實施計算簡化實現程式碼,無需巢狀
  • 過程中可以複用中間結果,效能更高

5、儲存過程步驟多,程式碼長,使用臨時表落地中間資料,效能低下

  • 相對儲存過程需要反覆讀寫磁碟使用中間結果,集算器提供豐富的運算方案,大量減少中間結果落地,效能更高
  • 集算器採用過程計算,提供豐富函式類庫,實現演算法短小精悍易於維護
  • 集算器指令碼可以脫離資料庫編寫和執行,減少資料庫安全隱患

6、資料關聯運算太多,十幾甚至幾十個表 JOIN,效能惡劣

  • 集算器重新定義關聯運算,可以根據計算特徵選用不同且高效的關聯演算法提升多表關聯效能
  • 一對多的主外來鍵表可採用指標式連線提高效能
  • 一對一的同維表和多對一的主子表可採用有序歸併提升效能

7、巨大資料量中按條件查詢或用批量鍵值取數,無法建索引或簡單索引效果很差

  • 集算器提供高效能壓縮儲存及遍歷技術,再配合以並行手段,可以從巨量資料中快速獲得查詢結果
  • 對於批量鍵值取數,集算器提供多級索引快取,可以複用多次取數的索引資訊,從而提高效能

8、SQL 難以實現的運算只能在外部應用程式或用 UDF 開發,高效能演算法實現難度大

導致效率低下
* 集算器採用全新的離散資料集理論,基於該理論實現的 SPL 具備語法簡潔、計算完備的特點,通過 SPL 更容易實現低複雜度、簡單靈活的高效演算法,從而獲得更高效能

9、使用了記憶體資料庫或記憶體計算技術仍然不能滿足效能要求,佔用記憶體過大,硬體成本太高

  • 集算器採用非關係資料庫理論,計算過程中有效減少資料複製,不僅佔用記憶體更少,而且運算效能更好
  • 通過指標引用機制可以進一步提升記憶體利用率和定位效率

10、中央資料倉庫支撐了過多應用,併發過多導致效能不可控,前端使用者體驗差

  • 集算器易於應用整合,可將資料倉庫中的部分計算和資料移植到應用層藉助集算器計算能力實施資料儲存和計算,分擔資料倉庫壓力

 

繁,累,以及Hadoop的使用場景分析,請看原文:http://c.raqsoft.com.cn/article/1534732238335?r=alice


作者:lisongbo
連結:http://c.raqsoft.com.cn/article/1534732238335?r=alice
來源:乾學院
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。