數據分析用它就夠了 | 37 個場景你要用集算器

【報表查詢性能】

1. 數據量大或併發多致使的查詢性能低下,BI 界面拖拽響應很慢

  • 經過集算器編寫更爲簡單高效的算法加速計算進程,提高查詢性能
  • 採用集算器可控存儲和索引機制,爲 BI(CUBE)提供高速的數據存儲

2.T+0 實時全量查詢報表涉及數據量大,影響生產系統運行,而分庫後又難以實施跨庫混合運算

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

survey2png

3. 數據關聯運算太多,十幾甚至幾十個表 JOIN,性能惡劣

  • 集算器從新定義關聯運算,能夠根據計算特徵選用不一樣且高效的關聯算法提高多表關聯性能
  • 一對多的主外鍵表可採用指針式鏈接提升性能
  • 一對一的同維表和多對一的主子表可採用有序歸併提高性能

4. 數據源 SQL 複雜,嵌套層次多,數據庫優化路徑不可控,運算性能低

  • 集算器採用過程計算,分步實施計算簡化實現代碼,無需嵌套
  • 過程當中能夠複用中間結果,性能更高

5. 報表從數據庫中取數量大,JDBC 傳輸性能低

  • 集算器經過(多線程)並行計算與數據庫創建多個鏈接並行取數提高取數性能
  • 可將量大的冷數據事先存儲在庫外文件系統中,集算器基於文件直接查詢計算,避免經過 JDBC 取數

survey3png

6. 清單式大報表難以及時呈現,採用數據庫分頁方式翻頁效率不好

  • 集算器將計算和呈現作成兩個異步線程,取數線程發出 SQL 將數據緩存到本地交給呈現線程快速展示報表,此外取數線程只涉及一個事務不會出現數據不一致,保證數據準確性

【報表查詢開發】

7. 報表開發沒完沒了,佔用程序員的過多工做量,找不到低成本高效率的應對手段

  • 集算器幫助報表開發完全工具化,不只報表呈現層工具化,報表數據計算層也工具化,從而下降報表開發難度,報表實現更快更簡單
  • 對人員要求更低,無需專業程序員
  • 報表業務不穩定致使報表沒完沒了不可能消滅,集算器提供了最低成本的應對

8. 業務人員取數需求多,敏捷 BI 並無論用,技術部門應對這些需求費時費力

  • 集算器做爲完備計算引擎,支持過程計算開發快捷
  • 算法實現簡單,適合通常技術人員使用
  • 提供可視化編程環境,即裝即用使用簡單
  • 經過多源支持,基於 Excel/TxT/DB 直接計算無需入庫

9. 數據源 SQL 或存儲過程過於複雜,嵌套或步驟多,調試開發都很困難

  • 集算器經過過程計算,分步編程簡化算法開發難度,算法短小、分步同時下降了維護難度,極大改善上千行 SQL 編寫調試和維護困難的狀況

10.SQL(存儲過程)語法涉及數據庫方言,難以移植

  • 集算器做爲庫外通用計算引擎,能夠編寫不依賴數據庫的通用算法,數據庫發生變化時無需更改核心算法,易於移植

11. 複雜過程運算用 SQL 很難寫,須要大量外部 Java 計算,開發效率低

  • 集算器提供了完備的結構化數據計算能力,解決了 JAVA 集合運算困難的問題,無需再用 JAVA 編寫
  • 集算器還很方便集成到現有應用中,與應用完美結合

12.Java 和 SQL 編寫的數據源與報表模板分開存儲,程序耦合性太強,還難以作到熱切換

  • 集算器可做爲報表獨立的計算層,數據準備算法和報表模板一塊兒存儲,共同管理,可與應用分開部署,下降應用的耦合度
  • 解釋執行的集算器腳本可實現熱切換

13. 涉及 MySQL 等開源數據庫,窗口函數等許多高級語法不支持,開發困難

  • 集算器做爲完備計算引擎,提供了豐富的結構化數據運算函數,改善 MySQL 沒法使用窗口函數致使的編碼困難

14. 某些數據庫(如 Vertica)對存儲過程支持很差,難以實現複雜過程

  • 集算器做爲完備結構化數據計算引擎,能夠充當通用庫外存儲過程,提供不依賴於數據庫的強計算能力和易移植特性

15. 涉及 NoSQL 數據、文本、Excel 等,沒法使用 SQL 運算

  • 集算器提供直接針對文件使用 SQL 查詢的功能
  • 還能夠編寫腳本讀取 NoSQL、文本、Excel 數據,實施計算,實現複雜度與 SQL 至關或更低

16. 涉及 Web 或 IOT 等實時數據,有 json/xml 格式須要處理,事先導入數據庫不只效率低又影響實時性

  • 集算器提供了對 JSON/XML 這類分層數據的支持,基於這類數據計算不只編碼簡單,並且性能高實時性好

【ETL 開發與性能】

17.ETL 工具不能直接解決複雜業務邏輯,還要大量編寫腳本,而 ETL 工具的腳本功能經常弱於 SQL,開發困難

  • 集算器具有強計算能力,很是擅長複雜計算,能夠輔助或替代現有 ETL 工具實現複雜業務邏輯,實現複雜度遠遠低於硬編碼 ETL 計算腳本

18.SQL(存儲過程)缺少調試機制,開發效率低

  • 集算器支持過程計算,提供可視化編程環境,每步的計算結果所見即所得,還提供設置斷點、單步執行、執行到光標等編輯調試功能,開發效率極高

19. 存儲過程步驟多,代碼長,幾百甚至上千行,大量使用臨時表,性能低下並且難以維護

  • 相對存儲過程須要反覆讀寫磁盤使用中間結果,集算器提供豐富的運算,大量減小中間結果落地,性能更高
  • 集算器採用過程計算,提供豐富函數類庫,實現算法短小精悍易於維護
  • 集算器腳本能夠脫離數據庫編寫和運行,減小數據庫安全隱患

20. 涉及 NoSQL、文本、Excel 等數據庫外數據,沒法使用 SQL,只能硬編碼,開發效率過低且難以維護

  • 集算器提供經過 SQL 針對文件的查詢功能
  • 還能夠針對 NoSQL、文本和 Excel 直接進行多源混合計算,編碼效率遠高於硬編碼

21. 涉及多數據庫和非數據庫的整合,SQL 沒法跨數據源計算,須要事先彙總到單庫,ETL 作成 ELT 和 LET,數據庫臃腫且性能差

  • 集算器做爲完備計算引擎能夠實現真正的 ETL,基於多源混合計算能力先將多源數據進行清洗(E)傳輸(T),將整理好數據加載(L)到目標數據庫,避免彙總到單庫帶來的時間、空間和管理上的過多開銷

22. 複雜運算要用庫外的 Java 開發或編寫 UDF 才能完成,人工成本高昂

  • 集算器採用過程計算,分步編寫代碼,提供豐富的類庫和方法,開發簡單易維護,大大下降編碼難度,提高實施效率

【數據倉庫與部署】

23. 生產庫和分析庫在一塊兒,大數據運算可能影響生產系統運行,分庫又難以作到實時全量計算

  • 集算器可基於生產庫和分析庫進行混合計算,量小的實時熱數據從生產庫查,將對生產系統的影響降到最低,量大的歷史冷數據從分析庫查,兩部分數據混合計算實現全量數據實時計算

24. 數據量變大,數據倉庫性能變低,總要擴容,成本高昂

  • 集算器容許將量大且再也不變化的歷史數據從數據庫導出到文件系統存儲,藉助集算器完備的數據計算能力,直接基於文件系統計算,同時支持與數據庫混合計算,從而下降數據庫擴容壓力,實施成本低

25. 中央數據倉庫支撐了過多應用,併發過多致使性能不可控,前端用戶體驗差

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

26. 數據倉庫中有大量非原始數據的中間表,冗餘嚴重,並且年代久遠很是難管理

  • 集算器支持將數據庫的中間表移植到 I/O 性能更高的文件系統,下降數據庫冗餘,集算器直接基於文件計算,性能更高,還方便實施並行計算,進一步提高效率
  • 中間表在庫外採用文件系統的樹狀結構進行分類管理,優於數據庫的線性結構,管理方便

27. 不少業務應用中都要部署單獨的數據集市或前置數據庫,成本高昂

  • 集算器的強計算能力 + 數據緩存 + 數據網關 + 多源混算能夠替代單獨數據集市或前置數據庫,成本低廉

【Hadoop 大數據平臺】

28.Hadoop 集羣規模不大,只有幾個或十幾個節點,管理的數據並很少,難以發揮其優點,但維護卻很複雜

  • 集算器做爲輕量級大數據解決很是適合幾個到幾十個節點的集羣規模,相對 hadoop 集算器資源利用率更高,節約資源,一樣的計算指標須要硬件更少,一樣的硬件計算效率更高

29.Hadoop 難以完成須要的計算,結果又在旁邊部署傳統數據庫來實施計算,結構累贅且效率低

  • 集算器可將 hadoop 做爲數據源,實現 hadoop 難以完成的計算
  • 同時支持實時查詢,避免部署 RDB 帶來的 ETL 時間成本高,數據實時性差,商用 RDB 價格成本高等問題

30.Hadoop/Spark 提供的計算接口不夠用,複雜運算還要寫 UDF,開發效率低

  • 集算器計算引擎具有複雜計算實現簡單、效率高的特色,適合使用 hadoop 或 spark 卻還常常須要編寫 UDF 的場景,極大提高開發效率

31.Hadoop/Spark 存儲和調度過於自動化,難以控制數據分佈和任務安排以得到最優性能

  • 集算器提供靈活的數據分佈和計算分佈,能夠根據數據特徵、計算特徵和硬件特徵實施個性化大數據計算從而得到最高性能,解決了 hadoop/spark 過於透明致使沒法實施高性能計算的難題

32.Spark 內存耗用太大,硬件成本過高,不少運算超過內存範圍還沒法實施

  • 集算器提供內存和外存兩種計算方式,因爲採用高效計算模型,內存計算時效率更高、內存利用率更低,從而下降成本
  • 當內存容量不夠或無需全內存計算時,集算器採用外存計算從而減輕對內存容量的依賴,硬件成本更低

33. 試圖用 HBase 解決大數據查詢問題,但效果不好

  • 集算器藉助高性能計算和高性能數據存儲特徵,優化因此體系,很好解決了 Hbase 等 KV 數據庫批量查詢效率低下的難題

【Python 等桌面數據開發】

34.Python 並不是專門爲結構化數據計算設計,開源包貢獻者不一樣,風格不統一,複雜過程編寫並不簡單

  • 集算器專爲結構化數據計算設計,支持過程化計算,提供了豐富的結構化數據集算函數,提供即裝即用的可視化編輯調試環境,很是適合進行桌面數據分析,隨裝隨用,隨用隨走

35. 涉及 Excel/json 等非庫數據,Python 等開源技術雖然接口豐富,但版本混亂,難以駕馭

  • 集算器具有完備的數據計算能力,做爲商業軟件,提供了豐富的接口處理 Excel/JSON 等非庫數據,即裝即用,避免了 Python 等開源技術版本混亂、使用困難

36.Python 缺少自有大數據,幾乎不能寫並行程序,沒法充分利用多 CPU 能力

  • 集算器提供了多線程並行計算和分佈式計算能力,經過簡單的腳本便可實現並行計算,可充分利用多 CPU 核能力實施高性能計算

37.Python 代碼難以和 Java 集成,算法須要嵌入到生產系統時經常還要重寫

  • 集算器可做爲計算中間件無縫嵌入應用系統,桌面數據分析編寫的腳本可直接移植到生產系統中,無需重寫
相關文章
相關標籤/搜索