diff --git a/docs-website/src/pages/docs/_components/FeatureCard/featurecard.module.scss b/docs-website/src/pages/docs/_components/FeatureCard/featurecard.module.scss new file mode 100644 index 00000000000000..61739d5b6922cb --- /dev/null +++ b/docs-website/src/pages/docs/_components/FeatureCard/featurecard.module.scss @@ -0,0 +1,38 @@ +.feature { + flex-direction: row; + padding: 1.75rem; + color: var(--ifm-hero-text-color); + margin: 0rem 2rem 1rem 0rem; + min-height: 14rem; + max-height: 15rem; + overflow: hidden; + text-decoration: none !important; + + img { + width: 1.5rem; + height: 1.5rem; + margin-right: 0.75rem; + } + svg { + width: 1.5rem; + height: 1.5rem; + margin-right: 0.75rem; + } + strong, + span { + display: block; + margin-bottom: 0.75rem; + } + strong { + font-weight: 600; + font-size: 1.1rem; + } + + span { + font-size: 1rem; + line-height: 1.25em; + } + &:hover { + border-color: var(--ifm-color-primary); + } +} diff --git a/docs-website/src/pages/docs/_components/FeatureCard/index.jsx b/docs-website/src/pages/docs/_components/FeatureCard/index.jsx new file mode 100644 index 00000000000000..407e8eb4019878 --- /dev/null +++ b/docs-website/src/pages/docs/_components/FeatureCard/index.jsx @@ -0,0 +1,21 @@ +import React from "react"; +import clsx from "clsx"; +import styles from "./featurecard.module.scss"; +import useBaseUrl from "@docusaurus/useBaseUrl"; +import Link from "@docusaurus/Link"; + +const FeatureCard = ({icon, title, description, to}) => { +return ( +
+ +
+ {icon} + {title} → + {description} +
+ +
+ ); +}; + +export default FeatureCard; diff --git a/docs-website/src/pages/docs/_components/FeatureCardSection/featurecardsection.module.scss b/docs-website/src/pages/docs/_components/FeatureCardSection/featurecardsection.module.scss new file mode 100644 index 00000000000000..9e08c789c9068b --- /dev/null +++ b/docs-website/src/pages/docs/_components/FeatureCardSection/featurecardsection.module.scss @@ -0,0 +1,36 @@ + + +.feature { + flex-direction: row; + padding: 0.675rem; + color: var(--ifm-text-color); + margin: 0.5rem; + min-height: calc(100% - 1rem); + text-decoration: none !important; + img { + width: 1.5rem; + height: 1.5rem; + margin-right: 0.75rem; + } + svg { + width: 1.5rem; + height: 1.5rem; + margin-right: 0.75rem; + } + strong, + span { + display: block; + margin-bottom: 0.25rem; + } + strong { + font-weight: 600; + } + + span { + font-size: 0.875rem; + line-height: 1.25em; + } + &:hover { + border-color: var(--ifm-color-primary); + } +} diff --git a/docs-website/src/pages/docs/_components/FeatureCardSection/index.jsx b/docs-website/src/pages/docs/_components/FeatureCardSection/index.jsx new file mode 100644 index 00000000000000..bac97a805d2d7f --- /dev/null +++ b/docs-website/src/pages/docs/_components/FeatureCardSection/index.jsx @@ -0,0 +1,65 @@ +import React from "react"; +import FeatureCard from '../FeatureCard' +import { + EyeTwoTone, + HeartTwoTone, + ApiTwoTone, + AlertTwoTone, + CompassTwoTone, + ProfileTwoTone, +} from "@ant-design/icons"; + +const featureCardContent = [ +{ + title: "Data Discovery", + description: "Search your entire data ecosystem, including dashboards, datasets, ML models, and raw files.", + to: "docs/how/search", + icon: + }, +{ + title: "Data Governance", + description: "Define ownership and track PII.", + to: "https://www.acryldata.io/blog/the-3-must-haves-of-metadata-management-part-2?utm_source=datahub&utm_medium=referral&utm_content=blog", + icon: + }, +{ + title: "Data Quality Control", + description: "Improve data quality through metadata tests, assertions, data freshness checks, and data contracts.", + to: "https://www.acryldata.io/blog/data-contracts-in-datahub-combining-verifiability-with-holistic-data-management?utm_source=datahub&utm_medium=referral&utm_content=blog", + icon: + }, +{ + title: "UI-based Ingestion", + description: "Easily set up integrations in minutes using DataHub's intuitive UI-based ingestion feature.", + to: "docs/ui-ingestion", + icon: +}, +{ + title: "APIs and SDKs", + description: "For users who prefer programmatic control, DataHub offers a comprehensive set of APIs and SDKs.", + to: "docs/api/datahub-apis", + icon: +}, +{ + title: "Vibrant Community", + description: "Our community provides support through office hours, workshops, and a Slack channel.", + to: "docs/slack", + icon: +} +] + +const FeatureCards = () => { +return ( +
+
+
+ {featureCardContent.map((props, idx) => ( + + ))} +
+
+
+ ); +}; + +export default FeatureCards; diff --git a/docs-website/src/pages/docs/_components/QuickstartCard/index.jsx b/docs-website/src/pages/docs/_components/QuickstartCard/index.jsx new file mode 100644 index 00000000000000..b4e3895fa40e77 --- /dev/null +++ b/docs-website/src/pages/docs/_components/QuickstartCard/index.jsx @@ -0,0 +1,22 @@ +import React from "react"; +import clsx from "clsx"; +import styles from "./quickstartcard.module.scss"; +import Link from "@docusaurus/Link"; +import useBaseUrl from "@docusaurus/useBaseUrl"; + + +const QuickstartCard = ({ icon, title, to, color, fontColor }) => { + return ( +
+ + +
+ {title} → +
+ +
+ ); +}; + + +export default QuickstartCard; diff --git a/docs-website/src/pages/docs/_components/QuickstartCard/quickstartcard.module.scss b/docs-website/src/pages/docs/_components/QuickstartCard/quickstartcard.module.scss new file mode 100644 index 00000000000000..fd35a4b777c99c --- /dev/null +++ b/docs-website/src/pages/docs/_components/QuickstartCard/quickstartcard.module.scss @@ -0,0 +1,48 @@ +.feature { + flex-direction: row; + height: 10rem; + flex-shrink: 0; + padding: 3rem; + color: var(--ifm-text-color); + margin: 0rem 2rem 1rem 0rem; + min-height: calc(100% - 1rem); + text-decoration: none !important; + + + img { + width: 3rem; + height: 3rem; + margin: auto 1rem; + } + svg { + width: 1.5rem; + height: 1.5rem; + margin-right: 0.75rem; + } + strong, + span { + display: block; + margin-bottom: 0.25rem; + } + strong { + font-weight: 600; + padding: auto 0; + } + + span { + font-size: 0.875rem; + line-height: 1.25em; + } + &:hover { + border-color: var(--ifm-color-primary); + } + + .quickstart-text { + margin: auto 0; + } + +} + +.quickstart-text { + margin: auto 0; +} \ No newline at end of file diff --git a/docs-website/src/pages/docs/_components/QuickstartCards/index.jsx b/docs-website/src/pages/docs/_components/QuickstartCards/index.jsx new file mode 100644 index 00000000000000..bcb77c043f1d0b --- /dev/null +++ b/docs-website/src/pages/docs/_components/QuickstartCards/index.jsx @@ -0,0 +1,35 @@ +import React from "react"; +import QuickstartCard from '../QuickstartCard' + +const quickstartContent = [ +{ + title: "Quickstart with DataHub", + icon: "datahub-logo-color-mark", + to: "quickstart", + color: '#FFF', + fontColor: '#091013', + }, +{ + title: "Learn about Managed DataHub", + icon: "acryl-logo-transparent-mark", + to: "managed-datahub/managed-datahub-overview", + color: '#091013', + fontColor: '#FFF', +} +] + +const QuickstartCards = () => { +return ( +
+
+
+ {quickstartContent.map((props, idx) => ( + + ))} +
+
+
+ ); +}; + +export default QuickstartCards; diff --git a/docs-website/src/pages/docs/_components/QuickstartCards/quickstartcards.module.scss b/docs-website/src/pages/docs/_components/QuickstartCards/quickstartcards.module.scss new file mode 100644 index 00000000000000..4fbbc4583d6629 --- /dev/null +++ b/docs-website/src/pages/docs/_components/QuickstartCards/quickstartcards.module.scss @@ -0,0 +1,34 @@ +.feature { + flex-direction: row; + padding: 0.675rem; + color: var(--ifm-text-color); + margin: 0.5rem; + min-height: calc(100% - 1rem); + text-decoration: none !important; + img { + width: 1.5rem; + height: 1.5rem; + margin-right: 0.75rem; + } + svg { + width: 1.5rem; + height: 1.5rem; + margin-right: 0.75rem; + } + strong, + span { + display: block; + margin-bottom: 0.25rem; + } + strong { + font-weight: 600; + } + + span { + font-size: 0.875rem; + line-height: 1.25em; + } + &:hover { + border-color: var(--ifm-color-primary); + } +} diff --git a/docs/features.md b/docs/features.md index a06789f28f82bd..9ce85d83ee54a2 100644 --- a/docs/features.md +++ b/docs/features.md @@ -1,118 +1,41 @@ ---- -title: "Features" ---- +import QuickstartCards from '@site/src/pages/docs/_components/QuickstartCards'; +import FeatureCardSection from '@site/src/pages/docs/_components/FeatureCardSection'; -# DataHub Features Overview +# What is DataHub? -DataHub is a modern data catalog built to enable end-to-end data discovery, data observability, and data governance. This extensible metadata platform is built for developers to tame the complexity of their rapidly evolving data ecosystems and for data practitioners to leverage the total value of data within their organization. +DataHub is a modern data catalog built to enable end-to-end data discovery, data observability, and data governance. +This extensible metadata platform is built for developers to tame the complexity of their rapidly evolving data ecosystems and for data practitioners to leverage the total value of data within their organization. -Here’s an overview of DataHub’s current functionality. Check out our [roadmap](https://feature-requests.datahubproject.io/roadmap) to see what's to come. +## Quickstart ---- + -## Search and Discovery +## Key Features -### **Search All Corners of Your Data Stack** + -DataHub's unified search experience surfaces results across databases, data lakes, BI platforms, ML feature stores, orchestration tools, and more. +## Get Started -

- -

+### Deployment -### **Trace End-to-End Lineage** +To get started with DataHub, you can use a simple CLI command. Alternatively, you can deploy the instance to production using Docker or Helm charts. -Quickly understand the end-to-end journey of data by tracing lineage across platforms, datasets, ETL/ELT pipelines, charts, dashboards, and beyond. +- [Quickstart](quickstart.md) +- [Self-hosted DataHub](deploy/kubernetes.md) +- [Managed DataHub](managed-datahub/managed-datahub-overview.md) -

- -

+### Ingestion -### **Understand the Impact of Breaking Changes on Downstream Dependencies** +DataHub supports ingestion by UI and CLI. -Proactively identify which entities may be impacted by a breaking change using Impact Analysis. +- [UI-based Ingestion](ui-ingestion.md) +- [CLI-based Ingestion](../metadata-ingestion/cli-ingestion.md) -

- -

+## Join the Community -### **View Metadata 360 at a Glance** +For additional information and assistance, feel free to visit one of these channels! -Combine *technical* and *logical* metadata to provide a 360º view of your data entities. - -Generate **Dataset Stats** to understand the shape & distribution of the data - -

- -

- -Capture historical **Data Validation Outcomes** from tools like Great Expectations - -

- -

- -Leverage DataHub's **Schema Version History** to track changes to the physical structure of data over time - -

- -

- ---- - -## Modern Data Governance - -### **Govern in Real Time** - -[The Actions Framework](./actions/README.md) powers the following real-time use cases: - -* **Notifications:** Generate organization-specific notifications when a change is made on DataHub. For example, send an email to the governance team when a "PII" tag is added to any data asset. -* **Workflow Integration:** Integrate DataHub into your organization's internal workflows. For example, create a Jira ticket when specific Tags or Terms are proposed on a Dataset. -* **Synchronization:** Sync changes made in DataHub into a 3rd party system. For example, reflect Tag additions in DataHub into Snowflake. -* **Auditing:** Audit who is making what changes on DataHub through time. - -

- -

- -### **Manage Entity Ownership** -Quickly and easily assign entity ownership to users and user groups. - -

- -

- -### **Govern with Tags, Glossary Terms, and Domains** -Empower data owners to govern their data entities with: - -1. **Tags:** Informal, loosely controlled labels that serve as a tool for search & discovery. No formal, central management. -2. **Glossary Terms:** A controlled vocabulary with optional hierarchy, commonly used to describe core business concepts and measurements. -3. **Domains:** Curated, top-level folders or categories, widely used in Data Mesh to organize entities by department (i.e., Finance, Marketing) or Data Products. - -

- -

- ---- -## DataHub Administration - -### **Create Users, Groups, & Access Policies** - -DataHub admins can create Policies to define who can perform what action against which resource(s). When you create a new Policy, you will be able to define the following: - -* **Policy Type** - Platform (top-level DataHub Platform privileges, i.e., managing users, groups, and policies) or Metadata (ability to manipulate ownership, tags, documentation, and more) -* **Resource Type** - Specify the type of resources, such as Datasets, Dashboards, Pipelines, and beyond -* **Privileges** - Choose the set of permissions, such as Edit Owners, Edit Documentation, Edit Links -* **Users and/or Groups** - Assign relevant Users and Groups; you can also assign the Policy to Resource Owners, regardless of which Group they belong - -

- -

- -### **Ingest Metadata from the UI** - -Create, configure, schedule, & execute batch metadata ingestion using the DataHub user interface. This makes getting metadata into DataHub easier by minimizing the overhead required to operate custom integration pipelines. - -

- -

\ No newline at end of file +- [Slack](https://datahubspace.slack.com) +- [Blog](https://blog.datahubproject.io/) +- [LinkedIn](https://www.linkedin.com/company/acryl-data/) +- Our champions - [Data Practitioners Guild](https://datahubproject.io/guild/?_gl=1*11cd6n0*_gcl_au*ODQyMTk0NTI5LjE2OTQ2NjI1MjM.)