Сравнение платформ управления метаданными и предварительное исследование Atlas VS Datahub VS Openmetadata
Сравнение платформ управления метаданными и предварительное исследование Atlas VS Datahub VS Openmetadata

Привет всем, я Дугу Фэн. Платформы управления метаданными появляются бесконечно, но в настоящее время наиболее распространенными являются Atlas, Datahub и Openmetadata. Так как же нам выбрать?

В этой статье вы сможете сравнить преимущества и недостатки этих трех платформ. Чтобы понять платформу управления метаданными, мы должны сначала начать с архитектуры.

Архитектура управления метаданными и решения с открытым исходным кодом

Ниже представлена ​​реализация архитектуры управления метаданными. Различные архитектуры соответствуют различным реализациям с открытым исходным кодом.

На следующей диаграмме изображена архитектура метаданных первого поколения. Обычно это классический монолитный интерфейс (вероятно, приложение Flask), подключенный к основному хранилищу для запросов (обычно MySQL/Postgres), поисковому индексу для обслуживания поисковых запросов (обычно Elasticsearch) и для этого поколения 1.5 этой архитектуры, возможно, один раз. был достигнут предел «рекурсивных запросов» реляционных баз данных, использовались индексы графов, которые обрабатывали запросы графов происхождения (обычно Neo4j).

Вскоре появилась архитектура второго поколения. Монолитное приложение было разделено на службы, расположенные перед базой данных хранилища метаданных. Служба предоставляет API, который позволяет записывать метаданные в систему с использованием механизма push.

Архитектура третьего поколения представляет собой архитектуру управления метаданными на основе событий, в которой клиенты могут взаимодействовать с базой данных метаданных различными способами в зависимости от своих потребностей.

Поиск метаданных с малой задержкой, возможность выполнять полнотекстовый и ранжированный поиск по атрибутам метаданных, графические запросы по связям метаданных, а также возможности полного сканирования и анализа.

Datahub использует эту архитектуру.

Следующая диаграмма представляет собой простое визуальное представление современного ландшафта метаданных:

(Включая некоторые решения с закрытым исходным кодом)

Apache Atlas

Atlas — это платформа управления данными и метаданными Hadoop. Atlas начал инкубацию в Hortonworks в июле 2015 года.

Официальный адрес сайта: https://atlas.apache.org/.

Адрес исходного кода: https://github.com/apache/atlas.

На данный момент имеется 1,7 тыс. звезд, а последняя стабильная версия — 2.3.0.

Языком внутренней разработки в основном является Java, а функции внешнего интерфейса в основном реализованы на JS.

характеристика

  • Atlas поддерживает различные типы элементов Hadoop и не Hadoop.
  • Предоставляет богатый REST API для интеграции.
  • Отслеживание родословной данных достигло полевого уровня. Эта технология еще не была реализована в рамках аналогичной системы.
  • Также имеется хороший контроль над разрешениями.

Атлас включает в себя следующие компоненты:

  • Использование данных элемента хранилища Hbase
  • Использование Solr для реализации индексации
  • Компонент сбора и экспорта Ingest/Export. Type System. Система типов. Графический движок Graph Engine вместе составляет основной механизм Atlas.
  • Весь функционал доступен пользователям через API, а также может быть интегрирован через систему обмена сообщениями Kafka.
  • Atlas поддерживает получение элементов из различных источников: Hive, Sqoop, Storm. . .
  • Существует также отличная поддержка пользовательского интерфейса.

Atlas является прямым потомком экосистемы Hadoop и естественным образом интегрирован в Ambari (но версия ниже, поэтому рекомендуется установить ее самостоятельно).

Atlas имеет отличную поддержку Hive, а также определенную поддержку Spark.

Если вы знакомы с API Atlas, вы также можете его очень хорошо расширить.

Однако из-за средней активности сообщества обновления Атласа в поздний период были слабыми.

Страница осталась такой же, как и раньше. Новая версия страницы не идеальна, поэтому у нее все еще есть большие ограничения.

DataHub (LinkedIn)

Он был открыт LinkedIn и первоначально назывался WhereHows. После периода разработки исходный код datahub был открыт на Github в феврале 2020 года.

Официальный адрес сайта: https://datahubproject.io/.

Адрес исходного кода: https://github.com/linkedin/datahub.

Текущий звездный рейтинг — 8,8K, а последняя стабильная версия — 0.12.0.

Языки разработки — Java и Python.

DataHub — это инструмент с открытым исходным кодом, предоставленный командой данных LinkedIn, который обеспечивает поиск и обнаружение метаданных.

Когда дело доходит до LinkedIn, мы должны вспомнить знаменитую Kafka, исходный код которой открыт LinkedIn. Kafka с открытым исходным кодом LinkedIn напрямую повлияла на развитие всей области вычислений в реальном времени, а команда данных LinkedIn также изучает вопросы управления данными и постоянно работает над расширением своей инфраструктуры для удовлетворения потребностей растущей экосистемы больших данных. По мере роста объема и богатства данных ученым и инженерам, работающим с данными, становится все сложнее обнаруживать доступные активы данных, понимать их происхождение и предпринимать соответствующие действия на основе полученной информации. Чтобы способствовать росту и одновременно продолжать повышать производительность и инновации в области данных, был создан DataHub, универсальный инструмент поиска и обнаружения метаданных.

Благодаря плану коммерциализации и активному сообществу Datahub в последние два года чрезвычайно активно выпускал обновления. Он также позиционирует себя как платформа метаданных, основанная на современном стеке данных. DataHub обеспечивает сквозное обнаружение данных, их наблюдение и управление данными. И он предоставляет разработчикам богатые интерфейсы расширений, цель которых — справиться с постоянно меняющейся экологией данных. Факты доказали, что управление метаданными должно быть построено таким образом. DataHub предоставляет возможности поиска и обнаружения в базах данных, хранилищах данных, озерах данных и инструментах визуализации данных. Реализуйте построение сквозной передачи данных полного процесса. DataHub — это платформа сбора метаданных в реальном времени, которая может обнаруживать изменения метаданных в реальном времени. Он также поддерживает управление метаданными, такими как теги, глоссарии и бизнес-домены. DataHub также обеспечивает широкую поддержку разрешений. В последней версии DataHub метаданные можно получить на странице. DataHub поддерживает широкий спектр источников данных, таких как Tableai, PowerBI, Superset и другие инструменты визуализации данных. Он также поддерживает сбор метаданных компонентов больших данных, таких как Airflow, Spark, ES, Kafka, Hive, Mysql, Oracle и т. д.

Страница Datahub претерпела последнюю доработку, ее макет стал более разумным и красивым.

Openmatadata

OpenMetadata — это интегрированная платформа для управления данными, которая помогает нам правильно находить, сотрудничать и получать данные.

OpenMetadata предоставляет интегрированную платформу для обнаружения данных, определения происхождения данных, качества данных, исследования данных, управления данными и совместной работы в команде. Это один из наиболее быстрорастущих проектов с открытым исходным кодом с активным сообществом, который используется многочисленными компаниями в различных отраслях промышленности. OpenMetadata опирается на централизованное хранилище метаданных, основанное на открытых стандартах метаданных и API-интерфейсах, поддерживающее коннекторы для различных служб данных, обеспечивающее сквозное управление метаданными и предоставляющее вам свободу раскрыть ценность ваших активов данных.

Официальный адрес сайта: https://open-metadata.org/.

Адрес исходного кода: https://github.com/open-metadata/OpenMetadata.

Текущий звездный рейтинг — 3,4К, а последняя версия — 1.2.3.

Основным языком разработки является Java для внутренней части и TS для внешней части.

Его пользовательский интерфейс очень красив, а его логика работы и использования также соответствует привычкам делового персонала.

Сравнение преимуществ и недостатков

Datahub:

Преимущества:

Мощные функции обнаружения и поиска данных позволяют пользователям быстро находить нужные им данные.

Предоставляйте метаданные о качестве данных, чтобы помочь пользователям понимать данные и доверять им.

Поддерживает несколько источников данных, включая традиционные реляционные базы данных и современные озера данных.

Сообщество активно, и постоянно добавляются новые функции и улучшения.

Недостатки: новичкам интерфейс и конфигурация могут показаться относительно сложными.

В некоторых случаях интеграция новых источников данных может потребовать дополнительных разработок.

Atlas:

Преимущества:

Глубокая интеграция с экосистемой Apache Hadoop, особенно для пользователей Hadoop.

Предоставляет мощные функции определения происхождения и классификации данных для облегчения управления данными.

Поддерживает пользовательские типы и модели метаданных.

Открытый исходный код, с большей поддержкой и вкладом сообщества.

Недостатки:

В основном ориентирован на экосистему Hadoop и может не подходить для сред, отличных от Hadoop.

Пользовательский интерфейс и пользовательский опыт не так хороши, как у некоторых коммерческих продуктов.

OpenMetadata:

Преимущества:

Дизайн современный и удобный, что делает его простым в использовании.

Особое внимание уделяется управлению социальными метаданными, такими как рейтинги пользователей, комментарии и обсуждения.

Предоставляет богатый API для облегчения интеграции с другими системами.

Постоянно обновляется и совершенствуется, чтобы отражать последние тенденции в области управления данными.

Недостатки:

По сравнению с Datahub и Atlas сообщество относительно небольшое и может иметь ограниченную поддержку некоторых конкретных функций.

Поскольку это новая платформа, ей может потребоваться время для доработки некоторых аспектов.

Как выбрать?

Нет сомнений в том, что Datahub на данный момент является самой популярной платформой управления метаданными с точки зрения активности и тенденций развития. Openmatadata больше похожа на платформу управления данными и активами данных. Atlas и Hadoop тесно связаны и имеют свои преимущества.

Так как же нам выбирать? Сначала следует уточнить потребности.

Я считаю, что большинство людей, читающих эту статью, по-прежнему хотят создать платформу управления метаданными для выполнения работы по управлению корпоративными данными. Если мы изучили систему управления данными DAMA, мы должны знать, что управление метаданными требует выяснения того, где находятся источники данных, и максимально возможного управления полными данными компании.

Что касается функций, необходимо изучить, нужны ли функции происхождения данных, глоссарии, теги и другие функции. Тогда давайте разберем это шаг за шагом.

1. Сортируйте источники данных

Хранилище данных и BI необходимы большинству предприятий, а также являются важными источниками метаданных. У разных компаний разные методы построения. За последние несколько лет, возможно, появилось больше автономных хранилищ данных, которые в основном создавались с использованием технологий больших данных, таких как Hive и Spark. В последние годы появились технологии озера данных и технологии хранилищ данных в реальном времени. Все больше компаний будут выбирать такие технологии, как Hudi и Iceberg. Хранилища данных в реальном времени в основном используют такие технологии, как Doris и Paimon. При обработке в реальном времени Flink Real. Также необходимо учитывать расчеты времени.

Некоторые компании также надеются собирать метаданные из бизнес-систем, таких как Oracle, Mysql и других баз данных.

Кроме того, существуют некоторые бизнес-метаданные, в которых также необходимо разобраться, которыми обычно можно управлять через интерфейсы и страницы.

Не существует платформы управления метаданными, которая изначально поддерживала бы все компоненты.。Но, к счастью, Юаньданные Платформа управления предоставляет множествоAPIинтерфейс,является масштабируемым.

Итак, разобравшись с источниками данных,И в сочетании с приведенным выше элементом характеристики платформы управления данными,Можно сделать базовый выбор.

Если источники данных, которыми предприятию необходимо управлять, в основном представляют собой компоненты больших данных, в основном Hive и Spark, вы можете использовать Atlas для быстрого создания платформы управления метаданными. Благодаря встроенной поддержке практически нет необходимости выполнять большую адаптацию. , если он установлен и настроен.

Однако, если сбор метаданных предприятия этим не ограничивается, рекомендуется выбирать более гибкие Datahub и Openmetadata. В любом случае, им придется заняться адаптацией и вторичной разработкой. Лучше сразу выбрать более гибкий.

2. Уточните потребности

Давайте сначала взглянем на особенности трех платформ.

Altas имеет поиск, происхождение данных, теги, глоссарий и другие функции.

Datahub имеет такие функции, как поиск, происхождение данных, анализ данных, теги, глоссарии и т. д., а также может интегрировать системы качества данных, такие как GreatExceptions.

Openmetadata имеет функции поиска, происхождения данных, качества данных, анализа данных, маркировки, глоссария и функций групповой совместной работы.

Если они могут удовлетворить потребности компании, их можно выбрать. Если нет, то избыточные функции потребуют дополнительной разработки.

Во-вторых, позвольте мне кратко рассказать здесь. Если это комбинация платформы управления метаданными и инструментов управления данными, рекомендуется выбрать Datahub, который в основном может охватывать все функции управления метаданными и имеет хорошую масштабируемость.

Если вы хотите выбрать большую и комплексную платформу, вы можете рассмотреть возможность ее открытия на основе Openmetadata. Ведь она поддерживает больше функций.

3. Технико-экономическое обоснование

хотя все готово,Но возможно ли это реализовать?,На самом деле не обязательно。РеальностьУправление метаданными теперь чрезвычайно сложно

Перед началом проекта необходимо учитывать сложность реализации. Если нет необходимости во вторичной установке, для ее установки может потребоваться только опытный технический персонал или персонал по эксплуатации и техническому обслуживанию.

Но если вам нужна вторая версия, вы должны учитывать сложность разработки.

Серверная часть Atlas в основном представляет собой Java, для изучения которой требуются опытные разработчики Java. Если страницу необходимо изменить, также требуется сотрудничество внешнего персонала.

Серверная часть Datahub доступна как на Java, так и на Python, а основная часть приема данных в основном основана на Python. Студентам, знакомым с платформой Python, будет легче приступить к работе. Если страницу необходимо изменить, также требуется сотрудничество внешнего персонала.

Бэкэнд Openmetadata — Java, а интерфейс — TS. Для участия также требуются люди с соответствующим опытом.

Управление метаданными — дело непростое. Я также столкнулся с большими трудностями в процессе создания вторичной среды. Однако знание исходного кода проектов с открытым исходным кодом также очень полезно для проектов самоисследования. труднее, урожай будет больше.

Добро пожаловать, присоединяйтесь к потоку больших данных и вместе изучайте управление метаданными. Продолжение следует~.

boy illustration
Преобразование Java-объекта в json string_complex json-строки в объект
boy illustration
Примените сегментацию слов jieba (версия Java) и предоставьте пакет jar
boy illustration
matinal: Самый подробный анализ управления разрешениями во всей сети SAP. Все управление разрешениями находится здесь.
boy illustration
Коротко расскажу обо всем процессе работы алгоритма сборки мусора G1 --- Теоретическая часть -- Часть 1
boy illustration
[Спецификация] Результаты и исключения возврата интерфейса SpringBoot обрабатываются единообразно, поэтому инкапсуляция является элегантной.
boy illustration
Интерпретация каталога веб-проекта Flask
boy illustration
Что такое подробное объяснение файла WSDL_wsdl
boy illustration
Как запустить большую модель ИИ локально
boy illustration
Подведение итогов десяти самых популярных веб-фреймворков для Go
boy illustration
5 рекомендуемых проектов CMS с открытым исходным кодом на базе .Net Core
boy illustration
Java использует httpclient для отправки запросов HttpPost (отправка формы, загрузка файлов и передача данных Json)
boy illustration
Руководство по развертыванию Nginx в Linux (Centos)
boy illustration
Интервью с Alibaba по Java: можно ли использовать @Transactional и @Async вместе?
boy illustration
Облачный шлюз Spring реализует примеры балансировки нагрузки и проверки входа в систему.
boy illustration
Используйте Nginx для решения междоменных проблем
boy illustration
Произошла ошибка, когда сервер веб-сайта установил соединение с базой данных. WordPress предложил решение проблемы с установкой соединения с базой данных... [Легко понять]
boy illustration
Новый адрес java-библиотеки_16 топовых Java-проектов с открытым исходным кодом, достойных вашего внимания! Обязательно к просмотру новичкам
boy illustration
Лучшие практики Kubernetes для устранения несоответствий часовых поясов внутри контейнеров
boy illustration
Введение в проект удаления водяных знаков из коротких видео на GitHub Douyin_TikTok_Download_API
boy illustration
Весенние аннотации: подробное объяснение @Service!
boy illustration
Пожалуйста, не используйте foreach для пакетной вставки в MyBatis. Для 5000 фрагментов данных потребовалось 14 минут. .
boy illustration
Как создать проект Node.js с помощью npm?
boy illustration
Mybatis-plus использует typeHandler для преобразования объединенных строк String в списки списков.
boy illustration
Не удалось установить программное обеспечение Mitsubishi. Возможно, возникла проблема с реестром.
boy illustration
Разрешение ошибок проекта SpringBoot 3 mybatis-plus: org.apache.ibatis.binding.BindingException: неверный оператор привязки
boy illustration
Более краткая проверка параметров. Для проверки параметров используйте SpringBoot Validation.
boy illustration
Поиграйтесь с интеграцией Spring Boot (платформа запланированных задач Quartz)
boy illustration
Несколько популярных режимов интерфейса API: RESTful, GraphQL, gRPC, WebSocket, Webhook.
boy illustration
Redis: практика публикации (pub) и подписки (sub)
boy illustration
Подробное объяснение пакета Golang Context