datagero / demo-data-platform

Building a flexible, scalable data platform while documenting each step to serve as an educational resource for data/platform engineers.
Other
0 stars 0 forks source link

Define Data Catalogue Initial Requirements and Initial Tool #24

Open datagero opened 5 days ago

datagero commented 5 days ago

Objective:
Develop a centralized Data Catalogue to manage simple, non-evolving schemas, along with other metadata and data quality metrics. The solution should provide basic versioning, efficient retrieval, and seamless integration with existing tools, while maintaining open-source compatibility and usability.

Questions to Explore:

  1. What key features are needed for managing schemas, metadata, and data quality metrics, including versioning and easy access?
  2. Which open-source tools (e.g., OpenMetadata, Amundsen, DataHub) align best with our focus on simple schema management and comprehensive metadata handling?
  3. How do we ensure the solution is efficient, scalable, and integrates smoothly with our data ingestion and quality control processes?
datagero commented 5 days ago
Tool Created by Description Unique Features Integration OpenLineage Integration
Amundsen Lyft An open-source data discovery and metadata engine for data-driven companies. Automated metadata collection, integration with Apache Airflow, user-friendly UI, support for data lineage. Integrates well with databases, data warehouses (e.g., BigQuery, Snowflake), Airflow, and other orchestration tools. Can be integrated with OpenLineage via metadata APIs or custom connectors.
DataHub LinkedIn A metadata platform for data discovery, governance, and data lineage, designed to be scalable and robust. Real-time data ingestion, metadata versioning, and strong integration with various data ecosystems. Works with popular data platforms, orchestration tools (e.g., Airflow), and supports metadata standards. Supports OpenLineage for lineage tracking and metadata collection, and integrates directly with its ecosystem.
Apache Atlas Apache Software Foundation An open-source metadata management and data governance framework. Rich data classification, data governance, security, and integration with Hadoop ecosystem tools. Strong integration with Hadoop, Hive, Kafka, and other Apache tools, as well as customizable via REST APIs. Limited direct support; may require custom connectors or integration efforts for OpenLineage compatibility.
OpenLineage OpenLineage Community An open standard for metadata and lineage collection across various data tools. Standardized data lineage tracking, flexible integration with multiple platforms, and broad community support. Natively integrates with DBT, Apache Airflow, Apache Spark, and other data processing tools. N/A (It is the lineage standard itself, meant to be integrated by other tools like DataHub).
Metacat Netflix A unified data catalog that provides data discovery, lineage, and metadata management. Supports federated metadata management, lineage, and unified API for different data sources. Integrates with various databases, data warehouses (e.g., Hive, Presto, RDS), and data lake storage solutions. No direct OpenLineage integration; may require custom connectors for compatibility with OpenLineage.
OpenMetadata OpenMetadata Community An open-source metadata management tool for data discovery, governance, and quality. Advanced metadata management, schema versioning, flexible access control, and strong lineage capabilities. Integrates with modern data stacks, including databases, data lakes, orchestration tools (e.g., Airflow), and BI tools. Direct integration with OpenLineage for lineage tracking and metadata management, supports seamless data discovery.
datagero commented 5 days ago
  1. Key Features Needed for Managing Schemas, Metadata, and Data Quality Metrics:

    • Schema Management: Basic schema storage, versioning support, easy updates, and retrieval, with metadata and annotations. Focus on handling multiple data types/formats.
    • Metadata Handling: Centralized repository for metadata, support for custom fields, search and discovery functionalities, and basic access controls.
    • Data Quality Metrics: Ability to define and store data quality metrics simply, and provide basic data validation checks.
    • Simplicity and Open Standards: Favor open standards for metadata and data lineage (e.g., OpenLineage compatibility), with minimal complexity in setup and maintenance.
    • Integration: Seamless integration with existing data tools (Python, dbt, Airflow) and compatibility with both cloud and on-premises systems.
  2. Open-Source Tools that Align Best with Our Needs:

    • OpenMetadata: Best aligned due to its simplicity, adherence to open standards, support for schema and metadata management, and compatibility with OpenLineage. It integrates well with popular data tools and provides straightforward deployment options.
    • Amundsen: Suitable for simple schema and metadata management needs, with a focus on easy integration and user-friendly UI. It supports metadata discovery and integrates well with data platforms but may lack advanced data quality features.
    • DataHub: Provides a robust solution for metadata management with real-time ingestion and open standards support. However, it may involve more complexity than necessary for simpler schema management.
  3. Ensuring Efficient Integration with Data Ingestion and Quality Control:

    • Select Lightweight Tools: Use tools like OpenMetadata or Amundsen for minimal setup complexity, open standards support, and built-in integrations.
    • Leverage Built-In Integrations: Opt for tools that integrate seamlessly with Python, dbt, and Airflow to streamline data flow.
    • Focus on Simplicity: Choose solutions with straightforward deployment and minimal maintenance to ensure efficient operations.
    • Embed in Workflows: Integrate metadata and data quality checks directly into ingestion processes to maintain efficiency.
datagero commented 5 days ago

Given our requirements and priorities, we should start with OpenMetadata as our initial integration.

Why OpenMetadata?

We aim to keep the initial setup simple and efficient while maintaining flexibility for future growth and experimentation.