Data Center 筆記#02:從可行到可承接

在初版架構逐漸成形後,時間也差不多過了一年。

架構可以跑、資料可以流動,但我仍然不確定它能不能真正落地。這條路必須要團隊可以承接、可以擴展,數據才有機會真正發揮價值。

很慶幸的是,我的主管願意投資時間,讓這個方向能繼續推進。也正是在那段時間,我的思考開始出現轉變...

前一篇的重點,是讓流程從「能跑」走向「能持續」。
而接下來我開始思考:如果這件事要由團隊一起做下去,現在的做法夠不夠讓人接手?


轉變的核心

回頭看那一年,大多數時間其實是在解問題。
但接下來,我該解的是另一個問題:怎麼讓別人不用再解一次同樣的問題?

於是我投入了約莫三個月、壓力值很高的一段時間,開始把原本依賴個人經驗與記憶的做法,收斂成可以被團隊理解與複製的形式。

這個收斂,後來具體落在幾個方向上:

  • 把 Data Center 的部署方式收斂成一致做法,降低環境轉換成本
  • 把資料整理作業轉變為配置驅動,讓流程與部署有規則可循
  • 整理 DDL 轉換規則與範本,讓團隊能共用同一套方法
  • 把知識系統化交付出去

這些事情的唯一核心是 讓方法大於個人


從個人經驗,到規則明確

第一個改變:把經驗顯性化。

例如 Iceberg 與 Doris 之間的 DDL 轉換,原本每張表都需要人工核對、手動調整。雖然做得出來,但效率低、風險高,也難以讓團隊承接。

為此,我準備了一個小專案,把轉換規則整理出來,並結合 AI 工具設計範本 prompt,讓團隊夥伴可以直接使用,夥伴們的角色,也從「執行者」轉為「審查與確認」。

經過幾次實際資料的驗證後,可以明顯感受到 DDL 轉換所花費的時間與心力下降。這是一個小改變,但它讓「經驗」開始變成「方法」。


從臨場調整,到配置驅動

第二個調整:讓流程變成可重複使用。

原本開發通用的資料整理排程,只是為了降低維運負擔。但當資料量逐漸成長後,我發現仍然會有不少人工調整與錯漏的可能。再加上當時依賴的社群版本早已停止維護,長遠來看並不穩定。

因此我進行了一次重構。將原本的通用排程與部署 SOP,進化成配置驅動的形式。從程式引用到部署方式,定義出一套一致的配置規則,只要依循規則設定,就能正常部署與執行。

這個過程讓我更清楚地體會到:規則讓事情可理解,流程讓事情可複製。
當兩者結合,事情才有可能被團隊穩定地延續。


從個人理解,到知識交付

第三個改變:把知識交付出去。
我整理了 KM 文件,也在 AI 的輔助下補齊缺漏,並安排教育訓練,讓團隊理解:

  • 資料怎麼接
  • 資料怎麼整理
  • Mart 怎麼建立

當夥伴開始能承接資料接收與整理工作時,我才真正感受到這件事開始有團隊支持。不再只是某幾個人熟悉的技術,而是團隊可以共同推進的方向。


回顧這段改變

最大的改變是重心的轉移:
從「我能不能做出來」,變成「團隊能不能一起持續做下去」。

技術本身重要,但它只是基礎。
真正讓專案走得遠的,是把方法沉澱下來,讓團隊承接。

至此,一版可以落地、也可以被承接的資料中心,才算真正成形。
後面當然還有優化空間,但至少,我們可以開始往前走,不再停在「架構實作」。

Read more

Data Center 筆記#01:初版技術架構成形

Data Center 筆記#01:初版技術架構成形

在上篇的 POC 之後,我們整理了一份內部報告,將問題拆成資料蒐集、基礎資料定義、資料量與查詢效能、資料治理、技術架構等幾個面向。 這份整理的目的是先建立邊界,讓我們從發散與模糊,逐步走向具體且聚焦。 在這個基礎上,我開始把關注重點轉向資料流: 如何讓資料自動、穩定、乾淨地進到分析效能較好的資料庫? 同時,也剛好迎來一個契機:與技術能量較高的團隊合作發展數據中台。這讓 Data Center 的推進獲得更多資源與支援,讓我們能更系統化地思考架構問題。 思考階段 這個階段,我們主要思考幾個問題: * 不同來源的資料,能不能用相對一致的方法接進來? * 資料會持續累積,是否有合適的儲存與管理方案? * 資料進來後,分層應該怎麼定義? * 查詢分析時,是否有更適合的查詢引擎? 各資料源的特性不同,接收方式很難完全一致。但若每種來源都設計一套專屬流程,維運成本會快速上升。因此初步的想法是先用一種主要方式處理大多數的情境,讓資料流先跑起來,再逐步優化。 過去常見的分層方式,是將資料分成: * 可追溯的原始資料(Stage) * 清洗整理後的乾淨資料(Data) *

By Jo
Data Center 筆記#00:在變得具體之前

Data Center 筆記#00:在變得具體之前

目標要做 Data Center 一開始我不是很能夠想像這件事該長成什麼樣子,既有的認知只有前期參與的團隊有實作過 HR Data Center,顧問曾指導資料分層為 Stage、Data、Mart,除此之外,我沒有更多掌握,有很多疑問需要找到答案。 做到什麼程度算是資料中心? 我們期待它能解決什麼、幫助到誰? 它是不是應該包含一套接收資料的方法、能儲存大量資料的資料庫、提供資料服務的能力?   那麼,它是一個平台嗎?該用什麼技術?有哪些其實現在不需要?又該怎麼做,才能保留未來需要的彈性? 這些問題在當下其實都沒有辦法很快有肯定又具體的答案。好像每一個點都應該被考慮到,但同時又覺得過於理想。那段時間,我甚至開始嘗試透過與 AI 的對話,把模糊的想法拆解成可以被檢視的問題。它沒有辦法替我做決定,但確實加速我釐清問題。 只是,在理解問題的過程,即使把想法轉化輸出成一張張架構圖,進展卻不是太明顯,反而有一種無法落地的感覺,沒有讓事情真正往前走,我們仍然缺少可以被驗證的起點。 開始有切入點的時機,是我們在尋找能夠讓用戶自助調整所需報表的工具,剛好從前的工作曾小量接觸 Metabase

By Jo
筆記 | 自架 Ghost 的 SMTP 設定

筆記 | 自架 Ghost 的 SMTP 設定

部落格荒廢了好一段時間,近期終於想用手機登入管理介面留下些草稿,突然發現無法登入,登入鈕下方出現了如下的一段訊息 EmailError: Failed to send email. Please check your site configuration and try again. 結論先行,原因是我安裝的 ghost 版本,在首次使用新裝置登入時需要 2FA (二階段驗證),也就是說,除了帳號密碼登入之外,還會有一層驗證機制,而這層驗證機制需要輸入 6 碼驗證碼 (Ghost 站台發給登入者註冊信箱的 mail 會提供)。我當時建置 Ghost 時認為自己不會發送電子報,就忽略了 SMTP 的設定,導致 Ghost 站台不能正常發信,在配置好 SMTP 設定後,從新裝置就能正常登入了。 前一篇文章提到我的 Ghost 是架設在

By Jo
部落格遷移紀錄

部落格遷移紀錄

是的,又搬家了。 這次搬家像是一種重新開始,遷移的範圍稍微大些,大致上有三段變動: * 從功能豐富的 WordPress 到簡潔高效的 Ghost * 從 SugarHosts 搬遷到 Google Cloud Platform (GCP),最後搬移到 zeabur Wordpress 的功能非常豐富,只是我使用到的部分極少,總想找個簡潔的服務使用,但忙碌的工作很快就澆熄了動力。一次在輸出小組群組中的討論,注意到 Ghost 這個部落格平台,試裝操作看看,體驗還不賴,想著我的文章數也很少 (心虛),就搬吧! 推進這個改變的契機,一部分也來自於 SugarHosts 自 2024 年底在網路社群中的討論,其中也包含了客服過久沒有回應的議題,SugarHosts 的價格真的很有吸引力,只是客服回應效率突然的落差,讓我開始擔心這是否對影響到部落格,開始思考搬家的可能,實際上身邊的朋友也愈來愈多人遇到類似情況,甚至站台無法再使用,措手不及使得只能使用較早期的備份來拯救文章。 我在年假期間利用 GCP 的試用額度來架設

By Jo