- λ°μ΄ν° κ΄λ¦¬ λ° κ±°λ²λμ€ μ 리
| κ΅¬λΆ | μ£Όμ κΈ°λ₯ | μΈλΆ μ€λͺ |
|---|---|---|
| 1. λ©νλ°μ΄ν° κ΄λ¦¬ (Metadata Management) | λ©νλ°μ΄ν° μμ§(Ingestion) | λ€μν μμ€(DB, Data Lake, BI, API λ±)λ‘λΆν° λ©νλ°μ΄ν° μλ μμ§ λ° λκΈ°ν |
| λ©νλ°μ΄ν° λͺ¨λΈλ§ | μν°νλΌμ΄μ¦ λ°μ΄ν° λͺ¨λΈ μ μ, Entity/Relation/Schema ꡬ쑰 κ΄λ¦¬ | |
| λ©νλ°μ΄ν° λ²μ κ΄λ¦¬ | λ©νλ°μ΄ν° λ³κ²½ μ΄λ ₯ μΆμ , μ΄μ λ²μ 볡μ | |
| λ°μ΄ν° νλ‘νμΌλ§ | λ°μ΄ν° νμ§, λΆν¬, NULL λΉμ¨ λ± ν΅κ³ κΈ°λ° λ°μ΄ν° λΆμ | |
| 2. λ°μ΄ν° μΉ΄νλ‘κ·Έ (Data Catalog) | κ²μ λ° νμ | λΉμ¦λμ€/κΈ°μ λ©νλ°μ΄ν° κΈ°λ° κ²μ, νκ·Έ/λΆλ₯ κΈ°λ° νμ |
| λΆλ₯체κ³(Taxonomy) κ΄λ¦¬ | μ‘°μ§λ³, λλ©μΈλ³, μ£Όμ λ³ λ°μ΄ν° λΆλ₯ ꡬ쑰 μ μ | |
| μ¬μ©μ νμ κΈ°λ₯ | λ°μ΄ν° μ€λͺ (Comment), νμ (Rating), μΆμ²(Endorsement) κΈ°λ₯ | |
| 3. λ°μ΄ν° νμ§ κ΄λ¦¬ (Data Quality Management) | νμ§ κ·μΉ μ μ | λ°μ΄ν° νμ§ κΈ°μ€ μ μ (μ ν©μ±, μμ μ±, μ νμ± λ±) |
| νμ§ λͺ¨λν°λ§ | νμ§ μ κ² μλν, μ€λ₯ κ°μ§ λ° κ²½λ³΄ | |
| νμ§ κ°μ μ΄λ ₯ | νμ§ μ΄μ μλ³, κ°μ μ‘°μΉ λ° κ²μ¦ μ΄λ ₯ κ΄λ¦¬ | |
| 4. λ°μ΄ν° κ³λ³΄ (Data Lineage) | μ»¬λΌ μμ€(Lineage) μΆμ | μ»¬λΌ λ¨μλ‘ λ°μ΄ν° νλ¦(ETL β DB β BI λ±)μ μκ°μ μΌλ‘ νμ |
| λ³ν μν₯λ λΆμ | μ€ν€λ§ λ³κ²½ μ μν₯λ°λ λ€μ΄μ€νΈλ¦Ό μμ€ν λΆμ | |
| κ³λ³΄ μκ°ν | κ·Έλν κΈ°λ°μ λ°μ΄ν° νλ¦ μκ°ν UI μ 곡 | |
| 5. 보μ λ° μ κ·Ό μ μ΄ (Security & Access Control) | λ°μ΄ν° λΆλ₯ λ° λ±κΈ κ΄λ¦¬ | μ€μλ, κΈ°λ°μ±, κ·μ μμ€μ λ°λ₯Έ 보μ λ±κΈ μ§μ |
| μ κ·ΌκΆν κ΄λ¦¬ | μ¬μ©μ/κ·Έλ£Ή λ¨μμ μ κ·Ό μ μ± λ° κΆν μΉμΈ νλ‘μΈμ€ | |
| λ―Όκ°μ 보 νμ§/λ§μ€νΉ | PII, κΈμ΅μ 보 λ± λ―Όκ° λ°μ΄ν° μλ νμ§ λ° λ§μ€νΉ μ μ± μ μ© | |
| 6. μ μ± λ° νμ€ κ΄λ¦¬ (Policy & Standards) | λ°μ΄ν° μ μ± κ΄λ¦¬ | λ°μ΄ν° κ΄λ¦¬ κ·μ , νμ€, κ°μ΄λλΌμΈ λ¬Έμν λ° λ°°ν¬ |
| κ·μ μ€μ(Compliance) | GDPR, ISO 27001, κ°μΈμ 보보νΈλ² λ± μ»΄νλΌμ΄μΈμ€ κ΄λ¦¬ | |
| μ μ± -λ°μ΄ν° μ°κ³ | μ μ± λ³ μ μ© λ°μ΄ν°μ λ° κ΄λ¦¬ 주체 λ§€ν | |
| 7. κ±°λ²λμ€ μν¬νλ‘μ° (Governance Workflow) | μΉμΈ λ° κ²°μ¬ νλ‘μΈμ€ | λ©νλ°μ΄ν° λ³κ²½, 보μ λ±κΈ μ‘°μ μ μΉμΈ νλ¦ κ΅¬μ± |
| μν κΈ°λ° μμ λ°°μ | Steward, Owner, Custodian λ± μν λ³ μ± μ κ΄λ¦¬ | |
| BPM μ°κ³ | Flowable, Camunda λ± BPM μμ§ μ°λ ν΅ν μλνλ μΉμΈ/μλ¦Ό νλ‘μΈμ€ | |
| 8. κ°μ¬ λ° λͺ¨λν°λ§ (Audit & Monitoring) | λ³κ²½ μ΄λ ₯ κ°μ¬ | λ©νλ°μ΄ν°, μ μ± , κΆν λ³κ²½ μ΄λ ₯ μΆμ |
| μ κ·Ό λ‘κ·Έ κ΄λ¦¬ | μ¬μ©μλ³ μ κ·Ό λ΄μ λ° νμ κΈ°λ‘ | |
| λμ보λ | νμ§μ§ν, μ μ± μ€μμ¨, λ³κ²½μΆμ΄ λ± KPI μκ°ν | |
| 9. ν΅ν© λ° μ°κ³ (Integration & API) | μΈλΆ μ°λ | ETL, BI, Data Warehouse, MDM λ±κ³Όμ ν΅ν© |
| API μ 곡 | REST/GraphQL APIλ₯Ό ν΅ν λ©νλ°μ΄ν° μ κ·Ό λ° κ΄λ¦¬ | |
| μ΄λ²€νΈ κΈ°λ° μ°λ | Kafka, Webhook, gRPC λ± μ€μκ° λ©νλ°μ΄ν° λ³κ²½ μ΄λ²€νΈ μ λ¬ |
| κΈ°λ₯ λ²μ£Ό | κΈ°λ₯λͺ | DataHubμμμ μν | μ€λͺ |
|---|---|---|---|
| λ©νλ°μ΄ν° κ΄λ¦¬ | λ©νλ°μ΄ν° μμ§(Ingestion) | β μ§μλ¨ | λ€μν 컀λ₯ν°λ‘ λ©νλ°μ΄ν° μμ§ κ°λ₯. ([docs.datahub.com][1]) |
| λ©νλ°μ΄ν° λͺ¨λΈλ§/νμ₯μ± | β μ§μλ¨ | μ μ°ν λ©νλ°μ΄ν° λͺ¨λΈ μ 곡. ([scalefree.com][2]) | |
| λ©νλ°μ΄ν° λ²μ κ΄λ¦¬ | β μ νλ¨ | βλ²μ κ΄λ¦¬β κΈ°λ₯μ΄ κ±°λ²λμ€ μ루μ μμ€μμ ν΅ν©λμ΄ μ 곡λλ€λ μΈκΈμ μ νμ μ. | |
| λ°μ΄ν° μΉ΄νλ‘κ·Έ / κ²μ νμ | κ²μ λ° νμ κΈ°λ₯ | β μ§μλ¨ | λ°μ΄ν° μμ° νμ, κ²μ UI/API μ 곡. ([docs.datahub.com][3]) |
| λΆλ₯μ²΄κ³ / λΉμ¦λμ€ μ©μ΄ μ¬μ (Glossary) | β μ§μλ¨ | βBusiness Glossaryβ λ±μ μν 컀λ₯ν° μ‘΄μ¬. ([docs.datahub.com][1]) | |
| μ¬μ©μ νμ (μ£Όμ, νμ λ±) | β μ νλ¨ | μ£Όμ(Comment)μ΄λ νμ (Rating) λ± λΉμ¦λμ€ μ¬μ©μ μ€μ¬ κΈ°λ₯μ΄ κΈ°λ³Έ μ 곡μ΄λΌλ λ¬Έμλ λ§μ§ μμ. | |
| λ°μ΄ν° νμ§ κ΄λ¦¬ | νμ§ κ·μΉ μ μ & λͺ¨λν°λ§ | β λΆλΆμ§μλ¨ | βmetadata tests, assertions, data freshness checksβ λ±μ΄ λ¬Έμνλμ΄ μμ. ([docs.datahub.com][3]) λ€λ§, μμ ν νμ§ μμ§ μμ€μ κΈ°λ₯(μ: μλ κ²°ν¨ νμ§βκ°μ μν¬νλ‘μ°)μ λ³λ ꡬνμ΄ νμν¨. |
| λ°μ΄ν° κ³λ³΄(Lineage) | λ°μ΄ν° νλ¦/κ³λ³΄ μΆμ | β λΆλΆμ§μλ¨ | ν μ΄λΈ μμ€ λ° μΌλΆ μ»¬λΌ μμ€ κ³λ³΄ μ§μλ¨. ([Atlan][4]) νμ§λ§ μ§μλλ μμ€κ° μ νμ μ΄κ³ μΌλΆ κΈ°λ₯μ μλ λλ 컀μ€ν ꡬνμ΄ νμν¨. |
| 보μ λ° μ κ·Όμ μ΄ | λ°μ΄ν° λ±κΈγλ―Όκ°λ λΆλ₯ | β μ νλ¨ | λ©νλ°μ΄ν° μμμ κΈ°λ°μ±Β·PII νκ·Έ μ§μ κ°λ₯μ±μ΄ μμΌλ, μλ λ―Όκ°μ 보 νμ§Β·λ§μ€νΉ κΈ°λ₯μ΄ κΈ°λ³Έ μ 곡μ΄λΌλ μΈκΈμ λ§μ§ μμ. |
| μ κ·ΌκΆν κ΄λ¦¬(RBAC λ±) | β μ§μλ¨ | Access Management κΈ°λ₯ μ 곡λ¨. ([datahub][5]) | |
| μ μ± λ° νμ€ κ΄λ¦¬ | μ μ± λ¬Έμν λ° μ°κ³ | β μ νλ¨ | κ±°λ²λμ€ μ μ± βλ°μ΄ν° μ°κ³, μν¬νλ‘μ° κΈ°λ° μΉμΈ λ±μ λ³λ ꡬμ±μ΄λ νμ₯μ΄ νμν¨. |
| κ±°λ²λμ€ μν¬νλ‘μ° | μΉμΈ/κ²°μ¬ νλ‘μΈμ€, μν κΈ°λ° μμ λ°°μ | β μ νλ¨ | μν¬νλ‘μ° μμ§ λ΄μ₯μ΄λΌκΈ°λ³΄λ€λ API/SDKλ₯Ό μ΄μ©νμ¬ κ΅¬μ±ν΄μΌ νλ μΈ‘λ©΄μ΄ κ°ν¨. |
| κ°μ¬ λ° λͺ¨λν°λ§ | λ³κ²½μ΄λ ₯ κ°μ¬, μ κ·Όλ‘κ·Έ, KPI λμ보λ | β μΌλΆμ§μλ¨ | λ©νλ°μ΄ν° λ³κ²½ μ΄λ ₯μ΄λ λ‘κ·Έλ μΌλΆ κ°λ₯νλ, ν΅ν© κ±°λ²λμ€ KPI λμ보λ λ±μ κΈ°λ³Έ ν¨ν€μ§μμ μμ νκ² μ 곡λλ€κ³ 보기 μ΄λ €μ. |
| ν΅ν© λ° μ°κ³ | μΈλΆ μμ€ν μ°λ(API/SDK) | β μ§μλ¨ | API/SDK μ 곡, λ€μν 컀λ₯ν° μ‘΄μ¬. ([docs.datahub.com][3]) |
| μ΄λ²€νΈ κΈ°λ° μ°κ³(Streaming) | β μ νλ¨ | βActive metadata / streamingβ κ°λ μ΄ μ μλμ΄ μμΌλ, μμ μλνλ μ΄λ²€νΈ κΈ°λ° μ°κ³κ° λͺ¨λ μμ€μ μ€λΉλμ΄ μμ§λ μμ. ([Medium][6]) |
| μμ | κ°λ° νλͺ© | λͺ©μ / κ°μΉ | ꡬν ν¬μΈνΈ (DataHub / Flowable μ°κ³ μ€μ¬) | μ°μ μμ |
|---|---|---|---|---|
| 1. κ²μ λ° νμ | κ³ κΈ κ²μ (λ€κ΅μ΄, ν€μλ κ°μ€μΉ, λμμ΄) | λ©νλ°μ΄ν° νμ ν¨μ¨ ν₯μ | Elastic κΈ°λ° μΈλ±μ€ νμ₯, λμμ΄ μ¬μ Β·κ°μ€μΉ μ€μ , λ€κ΅μ΄ μΈλ±μ± | 1λ¨κ³ |
| μ£Όμ λΆλ₯ λΈλΌμ°μ§ (κ³μΈ΅ν Taxonomy) | μ£Όμ λ³Β·μ‘°μ§λ³ νμ ꡬ쑰 μ 곡 | DataHub Glossary/Tag κ³μΈ΅ν UI ꡬν | 1λ¨κ³ | |
| 컬λ μ /νλ μ΄μ (ν λ§ λ¨μ λ¬Άμ) | νλ‘μ νΈΒ·λλ©μΈ λ¨μ λ°μ΄ν° κ΅¬μ± | 컀μ€ν μν°ν°(Collection Entity) μ μ, Flowable μΉμΈ νλ‘μΈμ€ μ°κ²° | 2λ¨κ³ | |
| 2. λ©νλ°μ΄ν° κ΄λ¦¬ λ° μΉμΈ | λ©νλ°μ΄ν° λ³κ²½ μ μ λ° μΉμΈ(Flowable κ²°μ¬) | 무λΆλ³ν μμ λ°©μ§ λ° κ±°λ²λμ€ κ°ν | DataHub UIμμ βλ³κ²½ μ μβ β Flowable Process (κ²ν Β·μΉμΈ) β DataHub λ°μ | 1λ¨κ³ |
| μ κ· λ°μ΄ν°μ λ±λ‘ μΉμΈ | λ±λ‘ μ μ°¨ νμ€ν λ° κ²μ¦ | λ±λ‘μμ² β Flowable μΉμΈ ν DataHub Entity μμ± | 1λ¨κ³ | |
| 보μλ±κΈ λ³κ²½ κ²°μ¬ (Flowable νλ‘μΈμ€) | λ―Όκ°λ λ³κ²½ ν΅μ | 보μλ±κΈ νλ λ³κ²½ μ΄λ²€νΈ β BPM μΉμΈ β λ°μ | 1λ¨κ³ | |
| SLA / κ°±μ μ£ΌκΈ° λ³κ²½ μΉμΈ | λ³κ²½ μ΄λ ₯ λ° μν₯ μΆμ | SLA λ³κ²½ μ Flowable νλ‘μΈμ€ μ€ν β μΉμΈ ν λ°μ | 2λ¨κ³ | |
| μ¬μ©μ μ μ λ©ννλ κ΄λ¦¬ | μ‘°μ§λ³ νμ₯μ± ν보 | Metadata Schema νμ₯ + Dynamic UI μμ± | 1λ¨κ³ | |
| 3. λ°μ΄ν° μ κ·Ό λ° μ 곡 | λ°μ΄ν° μν / 미리보기 κΈ°λ₯ | λ°μ΄ν° νμ©μ± κ²μ¦ | DataHub Entity β Query μμ§(Presto/Hive) β μ νν 미리보기 | 1λ¨κ³ |
| λ€μ΄λ‘λ / Export μμ² μΉμΈ | 보μ λ°μ΄ν° λ€μ΄λ‘λ κ΄λ¦¬ | λ€μ΄λ‘λ μμ² β Flowable μΉμΈ β νμΌ λ°κΈ/λ§ν¬ μμ± | 2λ¨κ³ | |
| Open API μΉ΄νλ‘κ·Έ / μΉμΈν API λ°κΈ | μΈλΆ μ°κ³ λ° μ κ·Όμ μ΄ | API λ±λ‘/μμ² β BPM μΉμΈ β ν€ λ°κΈ λ° λ§λ£κ΄λ¦¬ | 3λ¨κ³ | |
| 4. κ²°μ¬ λ° μν¬νλ‘μ° (Flowable μ€μ¬) | λ©νλ°μ΄ν° λ³κ²½ ν΅ν© μΉμΈ νλ‘μΈμ€ | ν΅ν© κ±°λ²λμ€ | Flowable BPMN: λ±λ‘, μμ , νκΈ°, 보μλ±κΈ λ³κ²½ λ± νλ‘μΈμ€ ν νλ¦Ών | 1λ¨κ³ |
| λ€λ¨κ³ κ²°μ¬μ / λ³λ ¬ μΉμΈ | 볡μ‘ν μΉμΈμ²΄κ³ μ§μ | Flowableμμ λ€λ¨κ³/μ‘°κ±΄λΆ μΉμΈ μ€κ³ | 2λ¨κ³ | |
| κ²°μ¬ κ²°κ³Ό μλ¦Ό λ° λ‘κ·Έ κΈ°λ‘ | ν¬λͺ μ± ν보 | μΉμΈ κ²°κ³Ό Webhook β DataHub Event Stream / Slack / Email μ°κ³ | 1λ¨κ³ | |
| 5. μλ¦Ό λ° νΌλλ°± | λ³κ²½/μΉμΈ μ΄λ²€νΈ μλ¦Ό | λ©νλ°μ΄ν° λ³κ²½ κ°μν | DataHub Kafka Event β Flowable Event Listener β Notification μλΉμ€ | 1λ¨κ³ |
| ꡬλ κΈ°λ₯ (λ°μ΄ν°μ λ¨μ) | λ³κ²½ λͺ¨λν°λ§ | DataHub Subscription API + μ¬μ©μ ꡬλ λͺ©λ‘ κ΄λ¦¬ | 2λ¨κ³ | |
| μ¬μ©μ μ견 / μ€λ₯ μ κ³ | νμ§ κ°μ νΌλλ°± μ±λ | ν¬νΈ λ΄ Feedback λ±λ‘ β λ΄λΉμ/Flowable Task μμ± | 2λ¨κ³ | |
| 6. ν΅κ³ λ° λͺ¨λν°λ§ | μΉμΈ/λ³κ²½ ν΅κ³ λμ보λ | μ΄μ ν¨μ¨ λΆμ | Flowable νλ‘μΈμ€ μ΄λ ₯ + DataHub Usage μ§κ³ | 2λ¨κ³ |
| λ©νλ°μ΄ν° μ‘°ν/νμ© ν΅κ³ | μΈκΈ° λ°μ΄ν° νμ | API μ¬μ©λ, μ‘°νμ, λ€μ΄λ‘λ μ μ§κ³ | 3λ¨κ³ | |
| 7. μΈμ¦ λ° λ³΄μ (ABAC μ μΈ) | SSO (OIDC/SAML/LDAP μ°λ) | λ¨μΌ λ‘κ·ΈμΈ νκ²½ | μ‘°μ§ μΈμ¦ μμ€ν μ°λ, μ¬μ©μ μν λ§€ν | 1λ¨κ³ |
| μν κΈ°λ° μ κ·Όμ μ΄ (RBAC) | μν μ€μ¬ κΆνκ΄λ¦¬ | DataHub RolePolicy + Flowable Role κΈ°λ° κ²°μ¬ μ°λ | 1λ¨κ³ | |
| κ°μ¬λ‘κ·Έ λ° λ³κ²½ μ΄λ ₯ | μ»΄νλΌμ΄μΈμ€ λμ | λͺ¨λ λ³κ²½/κ²°μ¬/λ€μ΄λ‘λ μ΄λ²€νΈ λ‘κΉ | 1λ¨κ³ | |
| 8. κ΄λ¦¬ λ° μ΄μλꡬ | κ΄λ¦¬μ μ½μ (λ©λ΄Β·κ³΅μ§Β·λ°°ν¬κ΄λ¦¬) | μ΄μ κ΄λ¦¬ ν¨μ¨ | Feature Toggle, κ³΅μ§ λ°°λ, λ©λ΄ κ΄λ¦¬ UI | 2λ¨κ³ |
| λ©νλ°μ΄ν° ν νλ¦Ώ (λλ©μΈλ³ μμ) | νμ€ν | λ±λ‘ μ νλ³ ν νλ¦Ώ μ μ (ν μ΄λΈ/νμΌ/BI λ±) | 3λ¨κ³ | |
| 릴리μ€λ ΈνΈ / λ³κ²½μ΄λ ₯ 보기 | λ³κ²½ν¬λͺ μ± κ°ν | Diff UI + μΉμΈμΌμ/κ²°μ¬μ νμ | 3λ¨κ³ | |
| 9. μΈλΆ μ°κ³ | μ°κ³μμ€ν μλ¦Ό (Webhook, REST API) | λ³κ²½μ¬ν μ€μκ° μ ν | Flowable μΉμΈ μλ£ μ Webhook νΈμΆ | 1λ¨κ³ |
| API κ²μ΄νΈμ¨μ΄ μ°κ³ (Kong λ±) | API μ κ·Ό κ΄λ¦¬ | Flowable μΉμΈ β API Gateway μ μ± λ°μ | 3λ¨κ³ | |
| 10. λ²λ¬΄Β·μ»΄νλΌμ΄μΈμ€ | μ΄μ©μ½κ΄ λμ λ° λ‘κ·Έ | λ²μ λμ | λ€μ΄λ‘λ/API νΈμΆ μ μ΄μ©λμ κΈ°λ‘ | 2λ¨κ³ |
| λ°μ΄ν°μ 보쑴 μ μ± | λ°μ΄ν° μλͺ κ΄λ¦¬ | 보쑴기κ°Β·μλ λΉκ³΅κ°Β·νκΈ° νλ‘μΈμ€ | 3λ¨κ³ |
| λ¨κ³ | ν΅μ¬ λ΄μ© | λͺ©ν |
|---|---|---|
| 1λ¨κ³ (ν΅μ¬ ꡬμΆκΈ°) | κ²μ, λ©νλ°μ΄ν° λ³κ²½ λ° μΉμΈ(Flowable), 보μλ±κΈ κ²°μ¬, λ°μ΄ν° 미리보기, SSO, κ°μ¬λ‘κ·Έ, Webhook μλ¦Ό | DataHub + Flowable κΈ°λ³Έ ν΅ν© / κ²°μ¬ νλ‘μΈμ€ μμ± |
| 2λ¨κ³ (νμ₯κΈ°) | SLA λ³κ²½, λ€μ΄λ‘λ μΉμΈ, νΌλλ°±, ν΅κ³λμ보λ, 곡μ§/κ΄λ¦¬μ½μ, μ΄μ©μ½κ΄, 컬λ μ κΈ°λ₯ | μ΄μ/κ±°λ²λμ€ κ°ν λ° μ¬μ©μ μ°Έμ¬ νλ |
| 3λ¨κ³ (κ³ λνκΈ°) | API κ²μ΄νΈμ¨μ΄ μ°κ³, 릴리μ€λ ΈνΈ, λ²μ κ΄λ¦¬, 보쑴μ μ± , κ³ κΈ ν΅κ³ | μν°νλΌμ΄μ¦κΈ νμ₯ λ° κ·μ λμ μ²΄κ³ μμ± |
| κ΅¬λΆ | μ£Όμ κΈ°λ₯ | μΈλΆ μ€λͺ |
|---|---|---|
| 1. λ°μ΄ν° νμ λ° κ²μ | κ²μ κΈ°λ₯ | λ°μ΄ν°μ λͺ , λ©νλ°μ΄ν°, κΈ°κ΄λͺ , ν€μλ κΈ°λ°μ κ³ κΈ κ²μ μ 곡 |
| νν°λ§ λ° μ λ ¬ | μ£Όμ , κΈ°κ΄, ν¬λ§·, 곡κ°μΌ, νμ§ λ±μΌλ‘ νν°λ§ λ° μ λ ¬ κΈ°λ₯ μ 곡 | |
| μΉ΄ν κ³ λ¦¬ λΈλΌμ°μ§ | μ£Όμ λΆλ₯ μ²΄κ³ κΈ°λ°μ κ³μΈ΅μ νμ κΈ°λ₯ | |
| 2. λ°μ΄ν° μμΈ μ‘°ν | λ©νλ°μ΄ν° νμ | λ°μ΄ν° μ€λͺ , μμ±κΈ°κ΄, μμ§μ£ΌκΈ°, ν¬λ§·, κ°±μ μΌ λ± λ©νλ°μ΄ν° μ 곡 |
| μν λ°μ΄ν° 보기 | λ°μ΄ν°μ μΌλΆ μνμ μΉμμ 미리보기 | |
| API μ 보 μ 곡 | OpenAPI, REST API μ¬μ©λ² λ° νΈμΆ μμ νμ | |
| 3. λ°μ΄ν° λ€μ΄λ‘λ λ° μ΄μ© | νμΌ λ€μ΄λ‘λ | CSV, JSON, XML, Excel, ZIP λ± λ€μν νμ μ§μ |
| API νΈμΆ | μ€μκ° λ°μ΄ν° μ°κ³μ© API Endpoint μ 곡 | |
| ν¬λ§· λ³ν | μ¬μ©μκ° μνλ ν¬λ§·μΌλ‘ λ³ν λ€μ΄λ‘λ (μ: CSV β JSON) | |
| 4. λ°μ΄ν° νμ§ λ° κ΄λ¦¬ | νμ§ μ§λ¨ | λ°μ΄ν° νμ§μ§ν(μ ν©μ±, μ΅μ μ±, μμ μ± λ±) μλ κ²μ¦ |
| κ°±μ μ£ΌκΈ° κ΄λ¦¬ | λ°μ΄ν°μ μ κ°±μ μ£ΌκΈ° κ΄λ¦¬ λ° μλ κ°±μ μλ¦Ό | |
| λ²μ κ΄λ¦¬ | λ°μ΄ν°μ μ λ³κ²½ μ΄λ ₯ λ° μ΄μ λ²μ λ³΄κ΄ | |
| 5. μ¬μ©μ μ§μ λ° μ°Έμ¬ | μ¦κ²¨μ°ΎκΈ° / ꡬλ | κ΄μ¬ λ°μ΄ν°μ ꡬλ λ° λ³κ²½ μλ¦Ό κΈ°λ₯ |
| μ견 λ° μ κ³ | μ¬μ©μ νΌλλ°±, μ€λ₯ μ κ³ , νμ§ κ°μ μμ² μ μ | |
| λ€μ΄λ‘λ ν΅κ³ | μΈκΈ° λ°μ΄ν°, μ‘°νμ, λ€μ΄λ‘λ μ ν΅κ³ μ 곡 | |
| 6. μκ°ν λ° λΆμ κΈ°λ₯ | λμ보λ μκ°ν | μ£Όμ λ°μ΄ν°μ κ·Έλν, μ°¨νΈ, λ§΅ λ± μκ°ν μ 곡 |
| μ§λ κΈ°λ° λ°μ΄ν° νμ | 곡κ°λ°μ΄ν°λ₯Ό μ§λ κΈ°λ°μΌλ‘ νμ κ°λ₯ (GIS μ°λ) | |
| κ°λ¨ λΆμ λꡬ | ν¬νΈ λ΄μμ νν°λ§Β·μ§κ³Β·μ°¨νΈ μμ± κΈ°λ₯ μ 곡 | |
| 7. λ°μ΄ν° λ±λ‘ λ° κ΄λ¦¬ (κ΄λ¦¬μ κΈ°λ₯) | λ°μ΄ν° λ±λ‘/μΉμΈ | κ΄λ¦¬μκ° λ°μ΄ν°μ λ±λ‘, κ²μ, κ³΅κ° μ¬λΆ μΉμΈ |
| μ κ·ΌκΆν κ΄λ¦¬ | λ°μ΄ν° μ κ·Ό μ μ΄(곡κ°, μ ν, λ΄λΆ μ μ© λ±) | |
| λ©νλ°μ΄ν° νμ€ κ΄λ¦¬ | νμ€νλ λ©νλ°μ΄ν° μ€ν€λ§ κ΄λ¦¬ λ° κ²μ¦ | |
| 8. ν΅κ³ λ° λ‘κ·Έ κ΄λ¦¬ | μ΄μ© ν΅κ³ | λ€μ΄λ‘λ μ, API νΈμΆ μ, μ¬μ©μ νλ ν΅κ³ |
| λ‘κ·Έ μΆμ | λ°μ΄ν° μμ², μ€λ₯, μ μ μ΄λ ₯ λ± λ‘κ·Έ κ΄λ¦¬ | |
| 9. μμ€ν μ°κ³ λ° μΈν°νμ΄μ€ | μΈλΆ μ°κ³ | 곡곡λ°μ΄ν°, μ¬λ΄ μμ€ν , λ©νλ°μ΄ν° νλΈ(DataHub) μ°λ |
| SSO / μΈμ¦ μ°λ | μ‘°μ§μ μΈμ¦ μμ€ν (SSO, LDAP λ±)κ³Ό ν΅ν© | |
| API κ²μ΄νΈμ¨μ΄ | μΈμ¦, νΈλν½ μ μ΄, API μ¬μ©λ κ΄λ¦¬ |
| κ΅¬λΆ | μΌλ° λ°μ΄ν° ν¬νΈ κΈ°λ₯ | DataHub μ§μ μ¬λΆ | λΆμ‘±ν λΆλΆ / μ§μ ꡬν νμ μ¬ν |
|---|---|---|---|
| 1. λ°μ΄ν° κ²μ λ° νμ | ν€μλ, μ£Όμ , κΈ°κ΄, ν¬λ§· λ±μΌλ‘ κ³ κΈ κ²μ | β λΆλΆ μ§μ (Elastic κΈ°λ° κ²μ, Facet μ 곡) | β λ°μ΄ν°μ μ£Όμ λΆλ₯ 체κ³(Custom Taxonomy) λ° λ€κ΅μ΄ κ²μ κΈ°λ₯ λ―Έν‘ |
| μΉ΄ν κ³ λ¦¬ λΈλΌμ°μ§ | β Tag κΈ°λ° κ°λ₯ | β μ ννλ μ£Όμ λΆλ₯ 체κ³(UI κΈ°λ° κ³μΈ΅ λΈλΌμ°μ§) λΆμ¬ | |
| 2. λ°μ΄ν° μμΈ μ‘°ν | λ©νλ°μ΄ν°, 컬λΌ, μμ μ, μ΅μ μΌ λ± νμ | β μ§μ | β μ¬μ©μ μ μ λ©νλ°μ΄ν° UI νΈμ§ λΆκ° (Metadata Schema νμ₯μ μ½λ μμ νμ) |
| λ°μ΄ν° μν 보기 | β λ―Έμ§μ | β 미리보기 κΈ°λ₯ μ§μ ꡬν νμ (μ: Presto/Impala/Hive μ°λ) | |
| API μ 보 μ 곡 | β λΆλΆ (Metadata API μμ) | β λ°μ΄ν° μ 곡 API λͺ©λ‘ν, νΈμΆ μμ, API ν€ κ΄λ¦¬ λ±μ μ§μ ꡬν νμ | |
| 3. λ€μ΄λ‘λ λ° μ΄μ© κΈ°λ₯ | CSV, JSON λ± νμΌ λ€μ΄λ‘λ | β λ―Έμ§μ | β DataHubλ βλ©νλ°μ΄ν° κ΄λ¦¬β μ€μ¬, μ€λ°μ΄ν° λ€μ΄λ‘λ κΈ°λ₯ μμ |
| Open API / Data API μ 곡 | β λ―Έμ§μ | β λ°μ΄ν° μ κ³΅μ© API κ²μ΄νΈμ¨μ΄ λ³λ νμ (μ: Kong, Apigee, FastAPI λ± μ°κ³) | |
| 4. λ°μ΄ν° νμ§ κ΄λ¦¬ | λ°μ΄ν° νμ§μ§ν κ΄λ¦¬ | β λΆλΆ (Great Expectations Plugin) | β νμ§ κ²°κ³Όμ μκ°ν λ° ν¬νΈ UI ν΅ν©μ μ§μ ꡬν νμ |
| λ°μ΄ν° νλ‘νμΌλ§ | β μΌλΆ μ§μ (DataHub Actions, Profiling Job) | β λΉμ ν λ°μ΄ν°λ 컀μ€ν DB μ°λμ μμμ νμ | |
| 5. 보μ λ° μ κ·Ό μ μ΄ | κΆν/μν κ΄λ¦¬ | β μ§μ (Role/Policy κΈ°λ° Access Control) | β μΈλΆ μ»¬λΌ λ 벨 보μ, 보μλ±κΈ κΈ°λ° μ κ·Όμ μ΄ UIλ μ§μ ꡬν νμ |
| 보μλ±κΈ κ΄λ¦¬ | β λ―Έμ§μ | β β보μ λ±κΈβ λ©νλ°μ΄ν° νλ μ μ λ° κ²°μ¬ μ°λ νμ | |
| 6. μ¬μ©μ μ°Έμ¬ λ° νΌλλ°± | λκΈ, νμ , μ€λ₯ μ κ³ | β μΌλΆ (Comments, Ownership request) | β λ€μ΄λ‘λ ν΅κ³, μ κ³ /μ μ κΈ°λ₯ μμ |
| ꡬλ /μλ¦Ό | β μ§μ (Subscription/Notification) | ||
| 7. μκ°ν λ° λΆμ | λμ보λ μκ°ν | β (Superset, Looker λ± μ°λ κ°λ₯) | β ν¬νΈ λ΄ λ΄μ₯ μκ°ν μμ, μΈλΆ BI ν΅ν© νμ |
| μ§λκΈ°λ° λ°μ΄ν° νμ | β λ―Έμ§μ | β GeoData μκ°ν/νν°λ§ κΈ°λ₯ μ§μ ꡬν νμ | |
| 8. λ°μ΄ν° λ±λ‘ λ° μΉμΈ | λ±λ‘ β κ²μ β μΉμΈ νλ‘μΈμ€ | β λ―Έμ§μ | β Flowable/BPM λ±κ³Ό μ°κ³νμ¬ μΉμΈ νλ‘μΈμ€ ꡬν νμ |
| λ³κ²½μ΄λ ₯ λ° λ²μ κ΄λ¦¬ | β λ©νλ°μ΄ν° μ΄λ ₯ κ΄λ¦¬ μμ | ||
| 9. ν΅κ³ λ° λ‘κ·Έ | μ΄μ© ν΅κ³, λ€μ΄λ‘λ μ | β λΆλΆ (Usage Tracking) | β λ€μ΄λ‘λ, API νΈμΆ, μ¬μ©μ νλ λ‘κ·Έ UI μμ |
| API νΈμΆ ν΅κ³ | β λ―Έμ§μ | β λ³λ API Gateway μ°κ³ νμ | |
| 10. μμ€ν μ°κ³ λ° νμ₯μ± | μΈλΆ μμ€ν μ°λ | β μ§μ (Webhook, Kafka, REST API) | |
| μΈμ¦/SSO | β λΆλΆ (OIDC, LDAP) | ||
| 11. UI/UX λ° κ΄λ¦¬λꡬ | ν¬νΈ λ§μΆ€ UI | β React κΈ°λ° Custom κ°λ₯ | β κ΄λ¦¬ μ½μ(UI)μμ μ§μ μμ λΆκ°, μ½λ μμ λΉλ νμ |
| κ΄λ¦¬μ νμ΄μ§ | β μΌλΆ (Settings) | β μ΄μ/ν΅κ³ μ€μ¬μ κ΄λ¦¬μ λμ보λλ μμ |
| κΈ°λ₯ μμ | κΈ°λ₯λͺ | μ€λͺ | λΉκ³ / μ μμ¬ν |
|---|---|---|---|
| λ°μ΄ν° νμ & λ°κ²¬ (Discovery) | κ²μ(Search) | μ 체 λ°μ΄ν° μμ°(λ°μ΄ν°μ , λμ보λ, ML λͺ¨λΈ λ±)μ μ΄λ¦Β·μ€λͺ Β·μμ± κΈ°λ°μΌλ‘ κ²μ κ°λ₯. ([docs.datahub.com][1]) | λμ©λ νκ²½μμλ μμΈ κ΅¬μ‘°(Elasticsearch λ±)λ₯Ό νμ©ν λΉ λ₯Έ κ²μμ΄ νΉμ§. ([Medium][2]) |
| νμ(Browse) | κ³μΈ΅μ νμ μ§μ: μ컨λ λ°μ΄ν°λ² μ΄μ€ β μ€ν€λ§ β ν μ΄λΈ μμΌλ‘ νμ κ°λ₯. ([GitHub][3]) | UI μ λ°μ΄νΈκ° μ΄λ£¨μ΄μ§ λ²μ (v1.0)μμ κ°μ λ¨. ([GitHub][3]) | |
| λ©νλ°μ΄ν° μμ§ (Ingestion) | μλοΌμλ λ©νλ°μ΄ν° μμ§ | λ€μν λ°μ΄ν° μμ€(connector)λ₯Ό ν΅ν΄ λ©νλ°μ΄ν°λ₯Ό μμ§νκ±°λ μλ λ±λ‘ κ°λ₯. ([docs.datahub.com][4]) | μμ§ λμ λ° λ°©μμ νμ₯ κ°λ₯ν μν€ν μ²λ‘ μ€κ³λ¨. ([Medium][2]) |
| UI κΈ°λ° μμ§(ingestion) | UI ν΅ν΄ κ°λ¨ν μμ§ μ€μ κ°λ₯. ([docs.datahub.com][1]) | μ¬μ©μκ° κΈ°μ μ μΌλ‘ μ€μΉνκ±°λ κ°λ°νμ§ μκ³ λ λ©νλ°μ΄ν° μμ§ μ€μ κ°λ₯. | |
| λ°μ΄ν° κ³λ³΄(λ°μ΄ν° 리λμ§) (Lineage) | ν μ΄λΈ/μ»¬λΌ μμ€ λ¦¬λμ§ νμ | λ°μ΄ν° νλ¦(μ΄λμ μκ³ μ΄λλ‘ κ°λμ§) μκ°ν κ°λ₯. ([Atlan][5]) | μΌλΆ λ°μ΄ν° μμ€μμλ μ»¬λΌ μμ€ μ§μμ΄ μ νμ μΌ μ μμ. ([Atlan][5]) |
| μν₯ λΆμ(Impact Analysis) | νΉμ μμ°μ΄ λ³κ²½λμμ λ downstream/upstreamμ λ―ΈμΉλ μν₯ λΆμ κ°λ₯. ([Medium][6]) | 볡μ‘ν νμ΄νλΌμΈμμλ μ€μ /μμ§μ΄ μΆκ°λ‘ νμν μ μμ. | |
| λ°μ΄ν° κ±°λ²λμ€(Governance) | μμ μ λ° μ± μμ μ§μ (Ownership) | κ° μμ°μ λ°μ΄ν° μμ μ λλ μ± μμ(owner)λ₯Ό μ§μ ν μ μμ΄ κ΄λ¦¬ μ²΄κ³ κ°νλ¨. ([docs.datahub.com][1]) | μ‘°μ§ λ΄λΆ μν κ³Ό μ°κ³ν΄ μ¬μ©νλ©΄ ν¨κ³Όμ μ λλ€. |
| λ―Όκ° λ°μ΄ν° μλ³ λ° λΆλ₯(Sensitivity/PII) | λ―Όκ° λ°μ΄ν°(PII λ±)μ νκ·Έ/λΆλ₯λ₯Ό μ§μ ν μ μμ. ([docs.datahub.com][1]) | μλ μ€μΊλ κΈ°λ₯μ λ³λ ꡬνμ΄ νμν μ μμ. | |
| νκ·Έ λ° μ©μ΄μ¬μ (Business glossary & Tags) | λΉμ¦λμ€ μ©μ΄ μ μ, λ°μ΄ν° μμ°μ νκ·Έλ₯Ό λΆμ¬ λ§₯λ½ λΆμ¬ κ°λ₯. ([docs.datahub.com][4]) | μ‘°μ§ λ§μΆ€ μ©μ΄μ¬μ μ ꡬμΆνλ©΄ κ²μ/μ΄ν΄λκ° ν₯μλ¨. | |
| λ°μ΄ν° νμ§(Data Quality) | λ©νλ°μ΄ν° κΈ°λ° νμ§ μ§ν | λ©νλ°μ΄ν° μ 보(μ: μ΅κ·Ό μμ§μΌ, ν΅κ³ λ±)λ₯Ό ν΅ν΄ νμ§ μΈμ¬μ΄νΈ μ 곡. ([GitHub][3]) | μμ ν λ°μ΄ν° νμ§ μ²΄ν¬(assertions λ±)λ μ€νμμ€ λ²μ μμ μ νμ μΌ μ μμ. ([forum.datahubproject.io][7]) |
| API & SDK | νλ‘κ·Έλλ° λ°©μ μ κ·Ό | λ€μν μΈμ΄/SDK/APIλ₯Ό ν΅ν΄ λ©νλ°μ΄ν° μ‘°νΒ·λ±λ‘ κ°λ₯. ([docs.datahub.com][1]) | μλνλ 컀μ€ν μ²λ¦¬μ λ§€μ° μ μ©ν©λλ€. |
| νμ₯μ±(Extensibility) | 컀λ₯ν° λ° νλ¬κ·ΈμΈ νμ₯ | μλ‘μ΄ λ°μ΄ν° μμ€λ 컀μ€ν λ©νλ°μ΄ν° λͺ¨λΈμ μΆκ°ν μ μλ ꡬ쑰. ([Medium][2]) | μ‘°μ§ νΉμ±μ λ§μΆ° λ©νλ°μ΄ν° λͺ¨λΈμ μ€κ³ν μ μμ. |
| μ€μΌμΌοΌμ±λ₯(Scalability) | λκ·λͺ¨ λ©νλ°μ΄ν° μ²λ¦¬ | μμ² κ° μ΄μμ λ°μ΄ν°μ , 볡μ‘ν νμ΄νλΌμΈ μ²λ¦¬μ μ ν©. ([scalefree.com][8]) | μΈνλΌ(Elasticsearch, Kafka λ±) κ΅¬μ± κ³ λ € νμ. ([Reddit][9]) |
| μ¬μ©μ μΈν°νμ΄μ€(UI) | μ¬μ©μ μΉνμ UI μ 곡 | μ΅μ λ²μ μμ νμ, 리λμ§ μκ°ν, νν° κΈ°λ₯ λ±μ΄ κ°μ λ¨. ([GitHub][3]) | μ¬μ©μ± ν₯μμ μν΄ UI λ²μ μ΄λ μ€μ νμΈ νμ. |
| κΈ°λ₯ μμ | κΈ°λ₯λͺ | μ€λͺ |
|---|---|---|
| λ°μ΄ν° νμ & λ°κ²¬ | κ²μ (Search) | λ°μ΄ν°μ , ν μ΄λΈ, λ·°, λμ보λ, ML λͺ¨λΈ λ± λ€μν μμ°μ μ΄λ¦Β·μ€λͺ Β·λ©νλ°μ΄ν° κΈ°λ°μΌλ‘ κ²μ κ°λ₯. ([docs.datahub.com][1]) |
| νμ/λΈλΌμ°μ§ (Browse) | κ³μΈ΅ ꡬ쑰(μ: λ°μ΄ν°λ² μ΄μ€ β μ€ν€λ§ β ν μ΄λΈ)λ νκ·ΈΒ·λΆλ₯ κΈ°λ°μΌλ‘ νμ κ°λ₯. ([Medium][2]) | |
| λ©νλ°μ΄ν° μμ§ (Ingestion) | 컀λ₯ν° κΈ°λ° λ©νλ°μ΄ν° μμ§ | λ€μν λ°μ΄ν° μμ€(κ΄κ³ν DB, ν΄λΌμ°λ λ°μ΄ν°μ¨μ΄νμ°μ€, νμΌ, μ€ν λ¦¬μ§ λ±)λ‘λΆν° λ©νλ°μ΄ν° μμ§ κ°λ₯. ([docs.datahub.com][3]) |
| UI/CLI κΈ°λ° μμ§ μ€μ | UI λλ CLIλ₯Ό ν΅ν΄ λ©νλ°μ΄ν° μμ§ νμ΄νλΌμΈμ μ€μ ν μ μμ. ([docs.datahub.com][1]) | |
| λ©νλ°μ΄ν° λͺ¨λΈλ§ & κ΄λ¦¬ | νμ₯ κ°λ₯ν λ©νλ°μ΄ν° λͺ¨λΈ | 컀μ€ν μμ° μ ν(custom entity types), μλ‘μ΄ μμ±, νκ·Έ λ±μ μΆκ° κ°λ₯. ([Medium][2]) |
| λ°μ΄ν° κ³λ³΄ (Lineage) | ν μ΄λΈ/λ·°/μ»¬λΌ μμ€ λ¦¬λμ§ νμ | μμ° κ° μνκ΄κ³(lineage)λ₯Ό μκ°ννκ³ μΆμ ν μ μμ. ([Atlan][4]) |
| λ°μ΄ν° κ±°λ²λμ€ & κ΄λ¦¬ | μμ μ & μ± μμ μ§μ (Ownership) | κ° μμ°μ μμ μ(owner)Β·μ± μμ(responsible party) λ±μ λ©νλ°μ΄ν°λ₯Ό μ§μ κ°λ₯. ([Atlan][5]) |
| νκ·Έ/λΆλ₯(Taxonomy) λ° μ©μ΄μ¬μ (Business Glossary) | λ°μ΄ν° μμ°μ νκ·Έλ₯Ό λΆμ΄κ±°λ λΉμ¦λμ€ μ©μ΄μ¬μ μ ꡬμΆν΄ λ§₯λ½μ λΆμ¬ κ°λ₯. ([docs.datahub.com][3]) | |
| μ κ·Ό μ μ΄(Authorization / Policies) | λ©νλ°μ΄ν° νλ«νΌ μμ€μμ μμ° μ κ·Ό μ μ± μ μ€μ ν μ μλ κΈ°λ₯ μ 곡. ([datahub][6]) | |
| API & SDK | λ©νλ°μ΄ν° μ‘°ν/λ±λ‘ API λ° SDK | REST/GraphQL API λλ SDKλ₯Ό ν΅ν΄ λ©νλ°μ΄ν°λ₯Ό νλ‘κ·Έλ¨ λ°©μμΌλ‘ μ‘°νΒ·λ±λ‘ κ°λ₯. ([docs.datahub.com][1]) |
| νμ₯μ± & μ°κ³ | 컀λ₯ν°/νλ¬κ·ΈμΈ νμ₯ ꡬ쑰 | μλ‘μ΄ λ°μ΄ν°μμ€ μ»€λ₯ν°λ₯Ό μΆκ°νκ±°λ μ¬μ©μ μ μ λ‘μ§μ ꡬν κ°λ₯. ([Medium][2]) |
| λκ·λͺ¨ νκ²½ μ μ© κ°λ₯μ± | Elasticsearch κΈ°λ° μμΈ, Kafka κΈ°λ° λ©νλ°μ΄ν° μ€νΈλ¦¬λ° λ±μ ν΅ν νμ₯μ± μ§μ. ([Medium][2]) | |
| UI/UX | μΉ UI μ 곡 | μ¬μ©μ μΈν°νμ΄μ€λ‘ μμ° κ²μ, νμ, λ©νλ°μ΄ν° μ‘°ν, 리λμ§ μκ°ν λ±μ μ 곡. ([GitHub][7]) |
| κΈ°λ₯ | μ€λͺ |
|---|---|
| μμ μ/μ± μμ μ§μ (Ownership) | μμ°(λ°μ΄ν°μ , ν μ΄λΈ λ±)μ μμ μ(owner)λ μ± μμ(responsible party)λ₯Ό λ©νλ°μ΄ν°λ‘ μ§μ ν μ μμ. ([docs.datahub.com][1]) |
| νκ·Έ/λΉμ¦λμ€ μ©μ΄μ¬μ (Business Glossary) λ° λλ©μΈ(Domains) | μμ°μ νκ·Έ(tag)λ₯Ό λΆμ΄κ±°λ μ©μ΄μ¬μ (glossary) νλͺ©μ κ΄λ¦¬νκ³ , λλ©μΈ(Domain) κ°λ μ ν΅ν΄ μ‘°μ§ λ§₯λ½μ λΆμ¬ν μ μμ. ([Atlan][2]) |
| μ κ·Ό κ΄λ¦¬(Access Management) / μν κΈ°λ° μ μ΄(RBAC) | μΈλΆ μν (external roles) λλ μ¬μ©μ μν (user roles)μ μμ°μ λ§€ννκ³ , κΈ°λ³Έμ μΈ μ κ·Ό μ μ΄λ₯Ό μ€μ ν μ μλ κΈ°λ₯μ΄ μμ. ([datahub][3]) |
| λ°μ΄ν° 리λμ§(Lineage) λ° μν₯ λΆμ(Impact Analysis) | λ°μ΄ν° νλ¦μ νμ νκΈ° μν΄ ν μ΄λΈ μμ€ λλ μΌλΆ μ»¬λΌ μμ€ λ¦¬λμ§λ₯Ό μ§μνλ©°, μνκ΄κ³(upstream/downstream)λ₯Ό μκ°νν μ μμ. ([Atlan][4]) |
| λ©νλ°μ΄ν° κ²μ/νμ λ° κ±°λ²λμ€ λ§₯λ½ μ 곡 | κ±°λ²λμ€ νλμ μ§μνκΈ° μν λ©νλ°μ΄ν° κ²μ, νμ, νμλ μμ°μ λν λ¬Έλ§₯ μ 곡 κΈ°λ₯ λ±μ΄ μμ. ([Medium][5]) |
| κ±°λ²λμ€ κ΄μ | λΆμ‘±νκ±°λ μ νμ μΈ κΈ°λ₯ | μ€λͺ |
|---|---|---|
| μ μ± /νμ€μ μ€νΒ·μλν | κ±°λ²λμ€ μ μ± μ μλ κ°μ (enforcement)Β·μν¬νλ‘μ°(workflow)Β·μΉμΈ(workflow) κΈ°λ₯μ΄ μ νμ | μ컨λ λ³κ²½ μμ²(change requests), μμ° μΈμ¦(asset certification), μ€μ(compliance) νΌ λ° μλ μλ¦Ό λ±μ κ±°λ²λμ€ μ΄μ κΈ°λ₯μ΄ DataHub OSSμλ κΈ°λ³Έμ μΌλ‘ μ 곡λμ§ μμ΅λλ€. 곡μ λ¬Έμμμ βEnterprise Governance Mechanisms with dynamic compliance forms, certification & approval workflowsβλ **DataHub Cloud(κ΄λ¦¬ν μ ν)**μλ§ μ 곡λλ€κ³ λͺ μνκ³ μμ. ([docs.datahub.com][1]) |
| μμ± κΈ°λ°/λλ©μΈ κΈ°λ° μΈλΆ κΆν μ μ΄ | Attribute-based access control (ABAC) λλ λλ©μΈ/μμ± λ¨μ κΆν μΈλΆν κΈ°λ₯μ΄ λΉκ΅μ μ½ν¨ | DataHub Cloudμμλ βEnterprise RBAC support with additional permissions for declaring domain- or attribute-scoped personasβ κ°μ κΈ°λ₯μ΄ ν¬ν¨λμ΄ μμ. OSS λ²μ μμλ κΈ°λ³Έ RBACλ§ μ§μλλ μμ€μΌλ‘ 보μ. ([docs.datahub.com][1]) |
| κ°μ¬ λ‘κ·Έ(Audit Log) λ° κ±°λ²λμ€ λ¦¬ν¬ν | λ³κ²½ μ΄λ ₯ μΆμ , κ°μ¬ λ‘κ·Έ, κ±°λ²λμ€ μ§ν λμ보λ λ±μ΄ κΈ°λ³Έ κΈ°λ₯μΌλ‘ κ°νκ² μ 곡λμ§λ μμ | κ΄λ¦¬ν μ νμμλ βShared audit logsβ κ°μ κΈ°μ μ© κΈ°λ₯μ΄ μ 곡λ¨. ([docs.datahub.com][1]) |
| λ°μ΄ν° νμ§ λ° μ€μ ν΅ν© | κ±°λ²λμ€μ μ°κ³λ λ°μ΄ν° νμ§ λͺ¨λν°λ§, μ΄μ νμ§, μλνλ κ²μ¦(assertions) κΈ°λ₯μ΄ μ νμ | DataHub Cloudμμλ νμ§ λͺ¨λν°λ§, AI μ΄μ νμ§ λ±μ κΈ°λ₯μ΄ βobservability + governanceβ μμμμ μ 곡λλ€κ³ λμ μκ³ ([datahub][2]), OSS λ²μ μμλ μ΄ λΆλΆμ΄ νλ¬κ·ΈμΈ/μΈλΆ μ°κ³λ‘ ꡬνν΄μΌ νλ κ²½μ°κ° λ§μ. |
| κ±°λ²λμ€ μ€μ¬ μ¬μ©μ κ²½ν λ° ν μν¬νλ‘μ° | κ±°λ²λμ€Β·μ€μ λ΄λΉμ(CDO, Data Steward λ±)λ₯Ό μν λ§μΆ€ν UI, μλ΄/μμ νλ¦(workflow)μ΄ μλμ μΌλ‘ λΆμ‘± | μ컨λ βλ°μ΄ν° μμ°μ(data producers)κ° μ μ± Β·νμ€μ μ€μ νκ³ μμ° λ±λ‘ μ κ±°λ²λμ€λ₯Ό μ’μ°ν μ μλλ‘ νλ shift-left κ±°λ²λμ€β κ°μ κΈ°λ₯μ κ΄λ¦¬ν μ ν λ¬Έμμμ κ°μ‘°λκ³ μμ. ([datahub][3]) |
| μν°νλΌμ΄μ¦ SLA, 보μ, μ΄μ μμ€ | λκ·λͺ¨ μ‘°μ§ μ΄μμ νμν SLA 보μ₯, 보μ μΈμ¦(SOC2 λ±), VPC μ§μ, λκ·λͺ¨ λ‘€μμ μ§μ λꡬ λ±μ΄ μ체 μ€μΉ OSS λ²μ μμλ λ³λ κ΅¬μΆ νμ | 곡μ λΉκ΅μμ OSS λ²μ μ β99.5% Uptime SLAβ, βSOC-2β, βIn-VPC Remote Execution Agentβ λ±μ΄ μ§μλμ§ μλλ€κ³ λͺ μλμ΄ μμ. ([docs.datahub.com][1]) |
| ꡬμ±μμ | μ£Όμ μΈμ΄ | λ°νμ / μ€ν νκ²½ | μν |
|---|---|---|---|
| Metadata Service (GMS) | Java (Spring Boot) | JVM (Java 17+) | λ©νλ°μ΄ν° CRUD, GraphQL API, Kafka μ΄λ²€νΈ μ²λ¦¬ |
| Frontend (DataHub UI) | TypeScript + React | Node.js 18+ | μΉ UI, λ©νλ°μ΄ν° νμ, κΆν κ΄λ¦¬ |
| Ingestion Framework | Python (3.9+) | CLI λλ Docker | λ€μν μμ€(Hive, MySQL, Kafka, etc.)μμ λ©νλ°μ΄ν° μμ§ |
| Search Service | Java | Elasticsearch / OpenSearch λ°±μλ | λ©νλ°μ΄ν° μΈλ±μ± λ° κ²μ |
| MAE / MCE Consumer | Java | Kafka Streams / Confluent | λ©νλ°μ΄ν° λ³κ²½ μ΄λ²€νΈ μ²λ¦¬ |
| DataHub GraphQL Gateway | Java | Spring Boot + GraphQL Java | API κ²μ΄νΈμ¨μ΄ (UI λ° REST νΈν) |
| Docker Compose / Kubernetes λ°°ν¬ νκ²½ | YAML / Helm / Terraform | Docker, K8s | μ΄μ λ° λ°°ν¬ μλν |
| Metadata Model Definition | Avro + JSONSchema | Java/Python κ³΅μ© | λ°μ΄ν°μ , ν μ΄λΈ, νμ΄νλΌμΈ λ±μ νμ€ λ©νλͺ¨λΈ μ μ |
| κ΅¬λΆ | μꡬμ¬ν | μ€λͺ |
|---|---|---|
| OS | Linux / macOS / Windows (Docker κΈ°λ° κΆμ₯) | μλ² λλ λ‘컬 κ°λ° νκ²½ λͺ¨λ κ°λ₯ |
| Java νκ²½ | JDK 17 μ΄μ | Metadata Service λ° GraphQL Gatewayμ© |
| Python νκ²½ | Python 3.9+ | Ingestion λ° μ€ν¬λ¦½νΈ μ€νμ© |
| Node.js νκ²½ | Node.js 18 μ΄μ + Yarn | Frontend(UI) λΉλ λ° μ€νμ© |
| λ°μ΄ν° μ μ₯μ | MySQL / PostgreSQL / Neo4j (μ ν) | λ©νλ°μ΄ν° λ° κ΄κ³ κ·Έλν μ μ₯ |
| κ²μμμ§ | Elasticsearch 7.x / OpenSearch 2.x | λ©νλ°μ΄ν° κ²μμ© |
| λ©μμ§ μμ€ν | Apache Kafka | λ©νλ°μ΄ν° λ³κ²½ μ΄λ²€νΈ λ²μ€ |
| 컨ν μ΄λ | Docker / Kubernetes | λ°°ν¬ λ° μ΄μ νκ²½ |
| μΈμ¦/보μ | OAuth2 / OIDC / SSO | μ‘°μ§ μΈμ¦ μμ€ν κ³Ό μ°λ κ°λ₯ |
| κ΅¬λΆ | κΈ°λ₯ νλͺ© | μ€λͺ | μ 곡 μ¬λΆ |
|---|---|---|---|
| κΈ°λ³Έ κ΅¬μ± μμ | Flowable Engine | BPMN 2.0 νλ‘μΈμ€ μ μ μ€ν μμ§ | β |
| Flowable Task App | μ¬μ©μ ν λΉ μ 무(Task) μ²λ¦¬μ© μΉ UI | β | |
| Flowable IDM App | μ¬μ©μΒ·κ·Έλ£Ή κ΄λ¦¬, λ‘κ·ΈμΈ μΈμ¦ (κΈ°λ³Έ UI ν¬ν¨) | β | |
| Flowable Admin App | μ€ν μ€μΈ νλ‘μΈμ€, λ°°ν¬ κ΄λ¦¬, λͺ¨λν°λ§ UI | β | |
| Flowable REST API | REST κΈ°λ° νλ‘μΈμ€ λ°°ν¬Β·μ€νΒ·μ‘°ν API | β | |
| νλ‘μΈμ€ μ μ / μ€ν | BPMN 2.0 νμ€ μ§μ | StartEvent, Task, Gateway, SubProcess λ± μμ μ§μ | β |
| μ΄λ²€νΈ(Event) μ²λ¦¬ | Signal, Timer, Message μ΄λ²€νΈ μ§μ | β | |
| νλ‘μΈμ€ λ³μ κ΄λ¦¬ | Execution Variable, Local Variable κ΄λ¦¬ | β | |
| νλ‘μΈμ€ λ²μ κ΄λ¦¬ | λμΌ νλ‘μΈμ€μ λ€μ€ λ²μ κ΄λ¦¬ κ°λ₯ | β | |
| λΉλκΈ° Job Executor | νμ΄λ¨Έ, λΉλκΈ° μλΉμ€ Task μ²λ¦¬μ© Job Executor λ΄μ₯ | β | |
| μ 무(Task) μ²λ¦¬ | μ¬μ©μ ν λΉ (User Task) | νΉμ μ¬μ©μ λλ κ·Έλ£Ήμ Task ν λΉ κ°λ₯ | β |
| μλ Task (Service Task) | Java Delegate / Spring Bean κΈ°λ° μλ μ€ν | β | |
| νΌ(Form) κΈ°λ° Task μ²λ¦¬ | λ¨μ Form μμ± κΈ°λ° Task μ λ ₯/μΆλ ₯ μ§μ | βοΈ κΈ°λ³Έ μμ€ | |
| λͺ¨λΈ κ΄λ¦¬ | BPMN XML κΈ°λ° λͺ¨λΈ λ°°ν¬ | .bpmn20.xml νμΌμ REST λλ 리μμ€ ν΄λλ‘ λ°°ν¬ κ°λ₯ |
β |
| μΉ λͺ¨λΈλ¬ μ 곡 | λΈλΌμ°μ μμ BPMN λͺ¨λΈ μμ±/μ μ₯ | β (μν°νλΌμ΄μ¦ μ μ©) | |
| μΈλΆ λͺ¨λΈλ¬ μ°λ | bpmn.io, Camunda Modeler λ± μΈλΆ λꡬ μ¬μ© κ°λ₯ | β | |
| μμ¬κ²°μ (Decision) | DMN 1.1 κ·κ²© μ§μ | κ·μΉ κΈ°λ° μμ¬κ²°μ ν μ΄λΈ μ€ν μμ§ | β |
| DMN μΉ λͺ¨λΈλ¬ | μΉ μμμ DMN ν μ΄λΈ μμ± | β (μν°νλΌμ΄μ¦ μ μ©) | |
| μΌμ΄μ€ κ΄λ¦¬(CMMN) | CMMN 1.1 νμ€ μ§μ | λΉμ ν νλ‘μΈμ€(Case Model) μ€ν κ°λ₯ | β |
| μ΄λ²€νΈ μ²λ¦¬(EDA) | Event Registry | λ©μμ§ κΈ°λ° μ΄λ²€νΈ(AMQP, JMS, Kafka λ±) λ§€ν | β (κΈ°λ³Έ λͺ¨λ) |
| ν΅ν© / νμ₯μ± | Spring Boot ν΅ν© | flowable-spring-boot-starterλ‘ μμ¬μ΄ ν΅ν© κ°λ₯ |
β |
| REST API νμ₯ | 컀μ€ν REST Endpoint μΆκ° κ°λ₯ | β | |
| Java API | RuntimeService, TaskService λ± Java API μ§μ νΈμΆ κ°λ₯ | β | |
| Database λ λ¦½μ± | MySQL, PostgreSQL, Oracle λ± JDBC κΈ°λ° μ§μ | β | |
| κ΄λ¦¬ / λͺ¨λν°λ§ | Admin App | λ°°ν¬ νλ‘μΈμ€, μ€ν μΈμ€ν΄μ€, Job λͺ¨λν°λ§ | β |
| REST Query API | μ€ν μΈμ€ν΄μ€/νμ€ν 리 μ‘°ν API μ 곡 | β | |
| νμ€ν 리 λ°μ΄ν° κ΄λ¦¬ | νλ‘μΈμ€ μΈμ€ν΄μ€ μ€ν λ‘κ·Έ μ μ₯ | β | |
| 보μ / μΈμ¦ | κΈ°λ³Έ IDM λͺ¨λ | μ¬μ©μΒ·κ·Έλ£ΉΒ·κΆν κ΄λ¦¬ | β |
| μΈλΆ μΈμ¦ μ°λ | LDAP, SSO μ°λ κ°λ₯ (Spring Security κΈ°λ°) | βοΈ μ§μ μ€μ νμ | |
| λ°°ν¬ / μ΄μ | λ 립 μ€νν WAR λ°°ν¬ | Tomcat λ± μλΈλ¦Ώ 컨ν μ΄λμ λ°°ν¬ κ°λ₯ | β |
| Spring Boot λ΄μ₯ μλ² | λ΄μ₯ν Spring Boot κΈ°λ° μ€ν | β | |
| λ€μ€ λ°μ΄ν°μμ€ | κ° μμ§λ³ λΆλ¦¬ μ€μ κ°λ₯ (BPMN/DMN/CMMN/FORM) | β | |
| ν΄λ¬μ€ν°λ§ | DB κΈ°λ° Job LockingμΌλ‘ λ€μ€ λ Έλ μ€ν κ°λ₯ | β | |
| UI / ν¬νΈ | Task κ΄λ¦¬ UI | ν λΉλ μ 무(Task) μ²λ¦¬ UI | β |
| Process μμ/μ‘°ν UI | μ¬μ©μκ° νλ‘μΈμ€ μμ λ° μν νμΈ | β | |
| Web Modeler | κ·Έλν½ λͺ¨λΈλ§ UI | β | |
| Form Designer | μΉ νΌ μμ± UI | β (Enterprise μ μ©) | |
| λΌμ΄μ μ€ / λ°°ν¬ νν | λΌμ΄μ μ€ | Apache License 2.0 (μμ μ€νμμ€) | β |
| λ°°ν¬ νν | μμ€ μ½λ, WAR, Docker μ΄λ―Έμ§ | β |
| ꡬμ±μμ | μ£Όμ μΈμ΄ | λ°νμ / μ€ν νκ²½ | μν |
|---|---|---|---|
| Flowable Engine (Core) | Java (Spring Boot κΈ°λ°) | JVM (Java 17 μ΄μ) | BPMN, CMMN, DMN μ€νμμ§ (workflow μ€ν ν΅μ¬) |
| Flowable REST API | Java (Spring Boot) | JVM | REST APIλ‘ μμ§ κΈ°λ₯ λ ΈμΆ |
| Flowable UI Apps | Java + TypeScript (AngularJS) | JVM + Node.js | Web UI μ 곡 (Modeler, Admin, Task λ±) |
| Flowable Modeler | Java + AngularJS | JVM | BPMN/DMN/CMMN λͺ¨λΈ μμ±μ© UI |
| Flowable Task | Java + AngularJS | JVM | μ¬μ©μ μ 무(Task) μ²λ¦¬μ© UI |
| Flowable Admin | Java + AngularJS | JVM | λ°°ν¬/μ€ν μν λͺ¨λν°λ§ UI |
| Flowable IDM | Java + AngularJS | JVM | μ¬μ©μ/κ·Έλ£Ή/κΆν κ΄λ¦¬ |
| Flowable Spring Boot Starter | Java | Spring Boot | μμ§μ λ΄μ₯νμ¬ REST λλ λ΄μ₯νμΌλ‘ μ€ν κ°λ₯ |
| Database | SQL (MySQL, PostgreSQL, Oracle, H2 λ±) | JDBC | νλ‘μΈμ€ μ μ, μΈμ€ν΄μ€, νμ€ν 리 μ μ₯ |
| κ΅¬λΆ | μꡬμ¬ν | μ€λͺ |
|---|---|---|
| OS | Linux / Windows / macOS | Docker λλ λ 립ν μ€ν κ°λ₯ |
| Java νκ²½ | JDK 11 μ΄μ (κΆμ₯: JDK 17) | Core μμ§ λ° REST APIμ© |
| Application Server | λ΄μ₯ Tomcat (Spring Boot), λλ μΈλΆ Tomcat/WildFly | REST API λ° UI λ°°ν¬μ© |
| Database | H2 (ν μ€νΈμ©), MySQL, PostgreSQL, Oracle, MSSQL | λ©νλ°μ΄ν° λ° νμ€ν 리 μ μ₯ |
| Build System | Maven λλ Gradle | ν¨ν€μ§ λ° λ°°ν¬ |
| UI λ°νμ | Node.js + npm (AngularJS λΉλ μ) | Modeler λ° Admin UI λΉλμ© |
| Container μ§μ | Docker, Kubernetes | flowable/all-in-one μ΄λ―Έμ§ μ 곡 |
| Auth / SSO | Basic Auth, LDAP, OAuth2 | κΈ°μ μΈμ¦ μ°λ κ°λ₯ |
| ν΅ν© ν¬μΈνΈ | μ€λͺ |
|---|---|
| Trigger λ°©μ | DataHub Metadata Change Event β Flowable REST API νΈμΆ |
| νλ‘μΈμ€ μ€κ³ | μΉμΈ μμ², 보μ λ±κΈ λ³κ²½, lineage μ λ°μ΄νΈ λ± BPMNμΌλ‘ μ μ |
| API μ°κ³ λ°©μ | REST (Spring Boot Flowable + DataHub Event Hook) |
| μΈμ¦ μ²λ¦¬ | OAuth2 ν ν° λλ Basic Auth κΈ°λ° νΈμΆ |
| μΆμ² ꡬ쑰 | Flowable μμ§μ λ³λ Spring Boot μλΉμ€λ‘ μ΄μνκ³ , DataHubμμ HTTP νΈλ¦¬κ±° |