[Datahub] μ€νμμ€ λ©ν λ°μ΄ν° νλ«νΌ, λ°μ΄ν° νλΈμ λν΄ μμ보μ πβοΈ
πβοΈ λ€μ΄κ°λ©°
μ¬λ΄ λμ보λλ₯Ό λ§λ€ λ λͺ¨λ₯΄λ 컬λΌμ΄ μμΌλ©΄ μ¬λμ κ²μνκ±°λ νμ λ¬Έμν΄μΌ νμ΅λλ€. κ·Έ κ³Όμ μμ ν·κ°λ¦° μ¬λμ΄ μ λΏλ§μ΄ μλλΌλ κ²μ κΉ¨λ¬μλλ°μ, μ΄λ¬ν λ¬Έμ λ₯Ό ν΄κ²°ν μ μλ λ°μ΄ν° νλΈμ λν΄μ μμλ³΄κ² μ΅λλ€!
Datahub
LinkedInμμ λ§λ μ€νμμ€ λ©ν λ°μ΄ν° νλ«νΌμΌλ‘ λ©ν λ°μ΄ν° κ΄λ¦¬, λ°μ΄ν° κ²μ λ° λ°μ΄ν° κ±°λ²λμ€λ₯Ό μν΄ λ§λ€μ΄μ‘μ΅λλ€. Airflow, BigQuery, CSV, Mysql λ±μ λ€μν μμ€λ₯Ό μ¬μ©ν μ μμ΅λλ€.
1. Data Ingestion
κ°μ₯ λ¨Όμ ν΄μΌν μΌμ λ©νλ°μ΄ν°λ₯Ό μ
λ ₯νλ κ²μ
λλ€. λ°μ΄ν° νλΈμ UIλ₯Ό μ΄μ©νκ±°λ YAML νμμΌλ‘ μμ±ν recipeλ₯Ό μμ±ν΄ λ©ν μ 보λ₯Ό ingestion, μ¦ μμ·¨(?)ν μ μκ² ν΄μ€μΌ ν©λλ€. μ΄ κ³Όμ μ Airflowμ DAGλ‘ λ§λ€ μ μμ΅λλ€.
*recipe: λ©ν λ°μ΄ν° μμ§μ μν κ΅¬μ± νμΌλ‘ λ°μ΄ν°λ₯Ό μ΄λμμ κ°μ Έμ(Source) μ΄λμ λμ§(Sink) μ μνκ³ κ·μΉμ μ€μ ν©λλ€. vscodeμμ Redhatμ yamlνλ¬κ·ΈμΈμ μ€μΉνλ©΄ .dhub.yaml νμ₯μλ‘ μλμμ±κ³Ό ꡬ문 κ²μ¦ κΈ°λ₯μ μ¬μ©ν μ μμ΅λλ€.
2. Data Asset
λ°μ΄ν°λ₯Ό κ°μ Έμλ€λ©΄ μ΄λ₯Ό μ¬μ©μλ€μ΄ λ μ½κ² μ°Ύκ³ μ΄ν΄ν μ μλλ‘ ν΄μΌν©λλ€. μλ Domain, Glossary Terms, Tags μΈ κ°μ§ κΈ°λ₯μ ν΅ν΄ κ΄λ¦¬ν μ μμ΅λλ€.
βοΈ Domain
λ°μ΄ν° μμ°μ μ€μ μ§μ€νλ₯Ό μν΄ κ·Έλ£Ήνλ μ΅μμ ν΄λ(λλ λ²μ£Ό)μ λλ€. νλμ μμ°μ νλμ λλ©μΈμλ§ μν μ μμ΅λλ€. μλμ κ°μ΄ Ingestion λ¨κ³μ YAML λ μνΌμμ 미리 λ§λ€μ΄λ λλ©μΈμ μ¬μ©ν μ μμ΅λλ€.
- μ) λΉμ¦λμ€(κΈμ΅, λ§μΌν , λΆμ λ±) ν λλ©μΈ μμ±
source:
(...)
domain:
Analytics:
allow:
- "long_tail_companions.analytics.*"
Finance:
allow:
- "long_tail_companions.ecommerce.*"
βοΈ Glossary Terms
λ°μ΄ν° νμ€νλ₯Ό μν΄ μ€μμμ κ΄λ¦¬νλ μ©μ΄(λλ μ©μ΄μ§)μ λλ€. μ©μ΄ κ° κ΄κ³ μ€μ λ° κ·Έλ£Ήνκ° κ°λ₯νλ©°, λ§λ€μ΄μ§ μ©μ΄μ§μ μμ°κ³Ό μ°κ²°ν΄ μ¬μ©ν μ μμ΅λλ€. YAML νμΌλ‘ κ΄λ¦¬κ° κ°λ₯ν©λλ€.
- μ) KPI, OKR, μ λ¬Έ μ©μ΄ λλ μ½μ΄ λ± λ³΄κ΄
π μ©μ΄μ§μ ν΅ν΄ μ¬λ΄μμ μ¬μ©νλ μ©μ΄μ λ»μ νμ νκ³ , μ°κ²°λ λ°μ΄ν°λ₯Ό νμΈνκ³ , κΆκΈν μ λλ κ°μ ν μ μ΄ μλ κ²½μ° μμ μμκ² λ¬Έμν μ μμ΅λλ€.
βοΈ Tags
κ²μμ μν΄ μ¬μ©νλ λꡬμ
λλ€. νλμ μμ°μλ μ¬λ¬κ°μ νκ·Έλ₯Ό λΆμΌ μ μμ΅λλ€. μ€μμμ κ΄λ¦¬νμ§ μλ λΉκ³΅μμ μΈ λκ΅¬λ‘ λΉ λ₯΄κ² λ°μ΄ν°λ₯Ό λΌλ²¨λ§ ν λ μ¬μ©ν©λλ€.
λ°μ΄ν° μμ°μ λΆλ₯νκ³ κ²μ μ±λ₯μ λμλ€λ©΄, μλ λ κΈ°λ₯μ μ¬μ©ν΄ Datahubλ₯Ό λ μ μ¬μ©ν μ μμ΅λλ€.
3. SQL Profiling
λ°μ΄ν°μ ν μ΄λΈ λ° μ»¬λΌ μμ€μ ν΅κ³ μ 보λ₯Ό μμ§ν©λλ€. μ΄λ₯Ό ν΅ν΄ λ°μ΄ν°λ₯Ό λ μ μ΄ν΄νκ³ νμ§μ μ μ§ν μ μμ΅λλ€. Ingestion λ¨κ³μ YAML λ μνΌμμ profiling λ΄ enabled=Trueλ‘ μ€μ νλ©΄ μμ°μ Stats νμμ μλ μ 보λ₯Ό νμΈν μ μμ΅λλ€.
- NULLμ κ°μ λ° λΉμ¨
- DISTINCT κ°μ κ°μ λ° λΉμ¨
- MIN, MAX, AVG λ±μ ν΅κ³ μ 보 λ±
π λ¨, μ¬λ¬ ν μ΄λΈμ΄λ 컬λΌμ λν΄ νλ‘νμΌλ§μ μ€ννλ©΄ μλΉν 쿼리 λΉμ©μ΄ λ°μν μ μμΌλ μ£Όμν΄μΌ ν©λλ€. λ§€μΌ μ€νν기보λ€λ λ°μ΄ν°μ λ°λΌ μ£Όμ νλ² λ± μ£ΌκΈ°λ₯Ό λκ³ μ€ννλ λ°©λ² λ±μ μ¬μ©ν μ μμ΅λλ€.
4. Data Lineage
λ°μ΄ν°κ° μ΄λμμ μλμ§ κ·Έλνλ₯Ό ν΅ν΄ νμΈν©λλ€. ν μ΄λΈ λΏλ§ μλλΌ *Airflow DAGμ Taskμλ μ°κ²°ν΄ μ¬μ©ν μ μμ΅λλ€. μ΄λ₯Ό ν΅ν΄ λ°μ΄ν°μ κ΄λ ¨λ μν¬νλ‘μ°λ₯Ό νμΈνκ³ μμ μ μν₯λλ₯Ό νμ ν μ μμ΅λλ€ (μ΄μ νμ¬μμλ μΈν°λ·μ μ¬μ©ν μ μλ νκ²½μμ μ΄λ₯Ό μκΈ°λ‘ κ΄λ¦¬νκΈ°μ λ무λ λ°κ°μ΄(!) κΈ°λ₯μ΄μμ΅λλ€).

πβοΈ λ§μΉλ©°
μ΄λ κ² λ°μ΄ν°νλΈμ λν΄ κ°λ¨ν μ΄ν΄λ΄€μ΅λλ€. λΉμ₯ νμ€νλ₯Ό μν μ©μ΄μ§μ λ§λ€κ³ λͺ¨λ ν
μ΄λΈμ μ μ©νκΈ°λ λ¬΄λ¦¬μΌ μ μμ§λ§ μμ΄νλ‘μ° DAGλ₯Ό μ°κ²°νκ³ μ€λͺ
κ³Ό νκ·Έλ₯Ό μ λ¬μμ£ΌκΈ°λ§ ν΄λ λ°μ΄ν°λ₯Ό λ μ½κ² μ΄ν΄ν μ μμ κ² κ°μ΅λλ€. μ μ κ²½μ° μ΄λ―Έ ν λ΄λΆμ λ°μ΄ν° νλΈκ° ꡬμΆλμ΄ μμ΄ λ°°μ΄ λ΄μ©μ νλμ© μ μ©ν΄ 보λλ‘ νκ² μ΅λλ€ βοΈ
What is DataHub? | DataHub
DataHub is a modern data catalog designed to streamline metadata management, data discovery, and data governance. It enables users to efficiently explore and understand their data, track data lineage, profile datasets, and establish data contracts.
datahubproject.io