iT邦幫忙

2023 iThome 鐵人賽

DAY 24
1

緣起

一個企業的系統架構好壞與企業營運相輔相成,資料工程師與團隊的資料架構絕對息息相關,身為資料工程師我們需要知道一個好的資料架構有什麼原則。以下為 Fundamental of Data Engineering 所提及的架構定義及10個原則

架構的定義

  • 企業架構: 數據架構是企業架構下的一員,所以我們要先從上面認識企業架構為何?

    • 定義:企業架構是設計系統以支援企業演變的過程,透過**彈性(flexible)可逆轉(reversible)**的決策,且仔細評估權衡(trade-off)而達成
    • 案例: Amazon 的 Jeff Bezos 一個廣為人知的決策法就是雙向門,他主張決策可以分為兩類——可逆與不可逆,他主張大多數的決策都是可逆的,它們都是「雙向門」(two-way doors),例如 Amazon 決定使用 DynamoDB 當作微服務的 DB,如果失敗了,他們可以退回去使用其他 DB 服務

    → **彈性(flexible)可逆轉(reversible)**非常重要,因為可逆轉的決策讓你可隨世界的變化調整方向,另外企業變大文化會越僵化,採用彈性文化可避免這樣的趨勢

  • 數據架構: 在以上的企業架構下,理想的數據架構為何?

    • 定義:數據架構是設計系統,以支援企業不斷演變的數據需求,透過仔細評估權衡而達成的靈活且可逆轉的決策

    → 數據工程師必須在 Data Engineering lifecycle 每個步驟考慮 trade-off,以設計一個最佳的系 統,同時將龐大的技術債降至最低

良好的架構

  1. 明智選擇常見的元件(Choose common components wisely):元件像是: 存儲系統、版本控制系統、排程管理工具…等,通用且適當場景的元件可以讓團隊合作更順利且增加敏捷性
  2. 規劃應對故障(Plan for failure):在架構中考慮到可能出現故障的情況,參考項目有 Availability, Reliability, RTO(Recovery time objective), RPO(Recovery point object)
  3. 針對可擴展性進行架構設計(Architecture for scalability):設計系統以應對未來的擴展需求,確保系統能夠輕鬆擴展,而不需從頭重建
  4. 架構為領導力(Architecture is leadership):資料架構就是領導力的展現,優秀的 Data Engineer 未來除了是團隊 Leader,也應該有架構能力,並安排團隊的 Data Engineer 相關任務
  5. 始終進行架構設計(Always be Architecturing):此為 Google 五項雲端準則之一,我們應以現有架構下建立目標架構,而架構設計不是一個 waterfall 的專案,而是持續的 agile 過程,以確保系統的持續優化和改進。
  6. 建立鬆散耦合的系統(Build loosely coupled systems):將系統的各個部分設計為鬆散耦合,這樣它們可以獨立運作並容易替換或升級,且一個團隊負責一個鬆耦合的系統可以讓團隊工作更有效率,讓團隊的系統不用依賴其他系統,意味著你的團隊任務不用依賴其他團隊
  7. 做出可逆轉的決策(Make reversible decisions):搭配第6點的鬆散耦合系統,更有效率使用可逆轉的決策,隨世界的變化調整方向
  8. 優先考慮安全性(Prioritize security):將安全性納入架構的設計中,以確保數據和系統的保護
  9. 採用財務運營(Embrace FinOps):隨著雲端平台興起,考慮雲系統的成本結構,並監控服務的成本,已成為 Data Engineer 的任務之一

上一篇
Fundamental of Data Engineering 讀書重點及心得- Data 架構的種類及演進
下一篇
Fundamental of Data Engineering 讀書心得 - DE 工具選擇的要點
系列文
如何借助 dbt 優化當代資料倉儲及資料工程師的水肥之路分享30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言