前言
如何實現一個通用的可視化中間件(關係圖方向)在上篇文章中筆者講解了如何實現一個可視化中間件(偏向可視化方向),本篇文章將會中小型企業在數據分析方面如何低成本·高可用的作一次技術架構調整。歡迎在留言中提出寶貴意見。
另外提早說明:本次技術架構針對於靜態式關係型分析平臺(>數據update
頻率低,數據量大,關聯性密集)前端
本篇文章能爲你帶來什麼?
- 數據分析的總體流程介紹
- 數據分析一種技術架構介紹
- 技術可行性以及如何技術落地,產品/項目落地
一:數據分析的總體流程?
請看示意圖:
vue
數據分析流程文字介紹:
- 數據採集:首先不一樣業務數據須要制定不一樣數據模板(也就是數據標準例如:通勤數據字段包含出勤人,出勤時間,出勤地點等等)而後數據資源來了套用模板就是數據收集。爲保證數據資源可回溯性,可創建採集數據庫進行保存
- 數據整理:數據來源並非所有理想化,因此須要進行數據的處理(例如 數據補全,異常數據清洗,模型計算運行結果字段存儲等) 好的數據處理能夠爲接下來的工做省去很大精力.
- 數據分析:數據分析採起表格可視化圖組件結合分析,首先表格功能須要完備(多表結合分析,表格數據詳情,其餘交互體驗),接下來可視化交互(遵循完備交互,簡單易用,擴展靈活去設計落地)倆者應該無縫融合分析(產品設計角度,技術架構角度等等)
- 分析結論:數據分析結果已報告的形式進行結尾(交互式報告相似ppt那種酷炫的分析報告相比較富文本DOC文檔那徹底是倆種體驗),筆者也在完善中(= =;)
二: 數據分析一種技術架構介紹
請看示意圖:
node
數據分析輕量級技術架構方向文字介紹:
- 數據來源.採集數據資源格式xlsx,xls,csv等等,只須要注意採起文件大小,文件表頭獲取,導入效率等常規問題
- 採集庫/分析庫(不排除使用同庫的狀況):數據存儲不一樣企業採起的方式可能不太一致,圖中只列舉了倆種固然還有mongoDB其餘一些關係型數據庫做爲存儲。此架構能夠不作調整,但須要規範數據標準方便後續圖庫同步。
- 圖庫:上文提到update操做頻率很低能夠選取文件存儲,存儲方式:點表(可根據點類型分表,維度存儲添加字段便可須要和採集分析庫進行mapping過程 字段對字段),邊表(點與點的關係類型分表)。
- 服務端:node可進行schema構建(實體與實體的業務關係)mapping構建(採集分析庫與圖庫的字段映射關係)以及構建圖的功能(讀取點表,邊表從而構建圖 能夠採起壓縮稀疏矩陣方式也能夠存爲臨時結果集避免構建過程[時間消耗能夠忽略不計])業務功能開發,python可進行模型開發(須要模型調度問題,同步異步什麼時機觸發等等)
- 前端:採起vue進行產品交互功能開發(包括它的生態圈) 可視化功能能夠採起d3js(針對於relation graph方面) 注意渲染原理canvas和svg合理運用
三:技術可行性以及如何技術落地,產品/項目落地
- 技術可行性,技術方案已落地與幾個項目 暫時沒有異常出現。(該技術方案出發點是輕量級,靜態數據分析)
技術落地:python
- 人員配比:1個算法,1個前端,1個可視化,1個後端,1個模型算法,1個產品。
- 調整: 架構師,DBA等進行數據標準統一
- 產品落地可行性視企業業務而定
寫在最後
針對於數據分析方面筆者打算寫系列文章但願幫助你們!算法
如下方面
1:數據庫方面(關係型,圖等)
2:服務端層面
3:模型計算層面(業務模型訓練不作具體分析)
4:可視化層面
5:交互層面數據庫
===================================
考慮到目前社區可視化相關技術分享比較少以及筆者側重於該方面,先從可視化方面介紹,介紹流程以下:
可視化技術架構 ====> 技術選型 =====> 技術落地(如何應用到產品/項目) ==== > 具體案例實現(打算選取現有可視化框架[D3js echartsjs GOjs G6js等等]完成幾個例子)canvas
==================================segmentfault
目前筆者從事大數據分析領域(側重於可視化方向),近期也會把一些技術方案和一些技術細節在此分享。(保證更新效率和文章質量)但願對你們有所幫助。
最後有大數據分析需求的企業(老闆)能夠聯繫一下筆者.目前這邊有較完善的團隊,前沿的技術.有信心服務好每個客戶!後端
感謝每個看到此的讀者,有任何建議請留言~第一時間回覆您~