國慶假期發生了兩件小事,其一是我默默度過 35 周歲生日,其二是玩了下 grafana `并在節后第一天被工程師 M 稱贊:相當專業,
1、我為什么要玩 grafana 呢?
數月前我提交了一份資料后臺需求給工程師 M,他選用和部署了 grafana 這個第三方開源的工具,僅用兩三天就完成了這份需求,這效率相當快,令我對 M 和 grafana 印象深刻,但我仍不滿足,M提交的成品所有資料都圖形化的而我更想要表格樣式的資料,為了進一步整合其它資料進行統計分析,我還需手動匯出資料,并寫了復雜的 python 腳本用 pandas 做統計分析,每周至少運行一次,我常常冒出新的資料需求,它們并不大,但走一遍需求評審、排期開發驗收的流程,似憾訓挺麻煩的,
這些都還只算鋪墊,真正的導火索是國慶假期前的 sprint 總結會上提及我們幾個產品的資料將整合到 grafana 統一實作, CTO 曾對我提及如果我懂些 sql 陳述句,可以自己寫,——哈?我懂點 sql 陳述句的吖,這不剛整理了一份筆記《【總結】python如何與mysql實作互動及常用sql陳述句》嘛,我處于 “sql 不過如此,放馬過來啊”的大無畏狀態-_-||
國慶假期來了,那就玩玩兒看唄,
2、短時間如何上手 grafana ?
M之前為了開發我的需求,已經完成了 grafana 的部署,并設定好了資料源,這次他專門創建了一個練習用的 dashboard 并開通編輯權限給我,特別說明,我的編輯權限僅有資料源的查詢權,沒有增刪改的權限,這對資料源是安全的,另外,M 已有的實作也讓初次上手的我可以照葫蘆畫瓢,這些是我比完全零準備的 grafana 新手占便宜的地方,
我并不想把 M 已經開發的需求重新實作一遍,我想要實作自己的資料需求,——想要什么資料,以什么樣式呈現,我腦子里的需求俯拾即是,
學習程序具體分為三個部分:
- A:熟悉和了解
grafana在 dashboard 上如何添加、編輯圖表等模塊,就是了解這個工具如何使用, - B:熟悉和了解 資料源(我們產品的資料庫),有哪些表,有哪些欄位之類,
- C:實作資料需求的 sql 陳述句該如何寫,
A 部分,搜了兩篇 grafana 如何使用之類的文章,大概瀏覽下即可,總是照著別人整理的步驟圖按部就班,學習體驗不好,大部分時候,我都是直接鼓搗,這種開源的可視化的工具,自己嘗試一下就能快速熟悉起來,
B 部分,當個伸手黨,讓工程師幫忙把所有表格 describe 匯出也 OK 的;M給我的是一份表格的類定義檔案,通過 A 部分的探索,我很快發現,在 dashboard 上創建一個模塊,如果選擇折線圖型別,sql 陳述句編輯區可以任人挑選表格名稱,這樣有哪些資料表格就清楚了;如果選擇表格型別,并使用select * from table_name limit 50 ,就能呈現該表的部分資料,這樣該表格有哪些欄位也就清楚了,
C 部分,我把 M 之前實作的 sql 陳述句單獨拷貝到 jupyter notebook 里,自己拆解為更基礎的知識點,然后一點點熟悉了解,一個小技巧是,對于新手來說 sql 陳述句的易讀相當重要,能直接降低復雜度,所以我采用 markdown 語法如下,語法呈現就很清晰了:

以上三個部分無需按順序進行,自己對哪個模塊更感興趣,就先開始哪個;程序中也可交叉輪換進行,接下來就是通過實作自己的資料需求,反復重復鞏固并深入 以上 3 個部分,直至產生令自己滿意的產出,為此投入的時間開銷24~48H 足夠啦,完全不耽誤假期陪家人、睡懶覺、看電影,

3、對職場分工保持清醒
最后需要強調一下,我很清楚自己并不想要取代工程師完成資料后臺的開發,比如:
1、一些復雜需求,我自己寫sql,很難,學起來也慢,這些我會陸續收集羅列出來,走排期,請工程師幫忙,不會自己硬鉆進去,
2、即便最終我完成了非常多的圖表,但實際上我只考慮實作,不考慮性能(也暫無能力考慮),所以即便是我寫出來的功能,也需要工程師把關和優化,
即便如此,我直接接觸資料源并動手用 grafana 實作,也有很顯著的好處:
1、我更清楚原始資料已采集了哪些,哪些指標是我可以定義和統計的,哪些是需要工程師進一步支持的,
2、一些相對簡單的、對業務有幫助的資料監控/統計,我能直接實作,無需 整理描述需求-和工程師溝通-工程師理解后實作-我再驗收這樣復雜的程序,
3、作為需求的發起者,我那些不成熟的需求,自己動手程序中迭代起來也會非常效率,
當然這些想法是需要和工程師、上級溝通清楚的,這樣才不至于產生誤解吖,如果我的筆記對你有幫助,那就點贊或留言告訴我吧!
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/122819.html
標籤:MySQL
上一篇:Linux下安裝及使用mysql
