傳統報表方式的弊端
報表是所有企業都必要的分析決策工具,傳統的展示報表的方式特别麻煩,還記得兩年前我入職的時候,上司讓我做一個報表,步驟大概要經曆
1、資料庫中建立一個目的表 存儲SQL跑批後的結果 2、開發後端代碼 從service到dao層都要開發 還要實作定時排程 3、開發前端代碼 htmlcssjqueryajax等
這些步驟從技術的角度來看算簡單的、但卻永遠在做重複的事情。大概需要花費一小時時間和500行+代碼。
除了繁瑣的程式、無意義的重複代碼和工作,還有很多痛點:
1、沒有統一的排程平台、如果不看代碼我就不知道今天要執行多少報表任務、不知道何時執行、不知道執行是否成功、失敗了沒有告警機制、失敗了要登入伺服器看日志才知道錯誤資訊等。
2、不能實時的對報表任務進行管理、比如一個大sql跑了20分鐘我需要kill掉,要去伺服器操作、很麻煩;不能實時檢視報表日志掌握第一手消息。
3、報表資料其實沒有必要建立一個表來存儲、這樣未免太浪費資源和時間。。
等等。。。
而這些,在IG-REPORT中你都可以解決。
IG-REPORT智能報表
github位址:
https://github.com/LYL41011/igreportIG-REPORT智能報表适用于任何企業、支援多種資料源、隻需要30s就可以完成一個報表的配置。大概功能如下:
1、首頁總體概覽、清晰知道整個公司目前一個報表的數量、排程的次數、并且有耗時統計、失敗統計等,友善揪出那些異常的報表

2、web界面一鍵化配置報表、支援多種資料源(MYSQLTIDBPrestoPgxl 其他也都行 自己開發就好)、隻要把sql和sql對應的中繼資料資訊配上去,其他所有事都交給IG-REPORT去完成
3、如果通用報表配置不能滿足您的要求、完全可以自行開發某些特定報表,比如我的需求不僅僅是寫個sql跑出資料來就行,我資料來源是kafka,那麼你可以自行開發一個kafkaHandler。
3、分布式排程平台,基于quartz做了很多改造。(注:排程這塊大部分是直接用的xxl-job源碼,這是一個非常好的分布式排程平台)
4、統一的任務管理平台,動态修改任務參數、啟動、禁用任務
5、線上檢視排程結果,可動态終止運作中任務,即時生效;并且實時的展示完整的排程日志。
6、任務失敗告警、可以配置多人的郵箱。
7、報表具有權限控制、建立報表的時候需指定授權使用者,其他使用者則無法看見。
8、管理者可以檢視和操控所有的任務、可以管理使用者、普通使用者隻可以檢視自己的任務