Что касается систем управления метаданными, в отрасли появляются различные решения с открытым исходным кодом. В этой статье будут перечислены и сравнены несколько популярных в отрасли компонентов управления метаданными:
Apache AtlasдляЭкосистема больших данных Hadoop предоставляет базовые функции управления метаданными.,Ключевые особенности включают в себя:Классификация данных:Теги бизнес-метаданных、определение、Аннотации; поиск и происхождение метаданных; централизованный операционный аудит безопасности и политики; Структура модуля системы следующая:
Atlas поддерживает несколько типов доступа к метаданным.,Имеет хорошую масштабируемость,Поддерживаемые в настоящее время источники данных:HBase、Hive、Sqoop、Storm、Kafka。существоватьAtlasсерединаопределение Понятносистема типов(Type System),для управления метамоделью,И каждая сущность представляет собой запись метаданных, соответствующую да,DataдаMaster информация о данных в рамках конкретных метаданных,связь Как показано ниже:
Atlasподдерживатьна основеjsonдокументопределениетип,Путь к исходному коду встроенного определения модели: atlas/addons/models.,jsonопределениетиппереписыватьсяAtlasTypesDef(AtlasОни будут зарегистрированы при запускеметамодельтип),Типы АтласаDefопределениеосновная метамодельAtlasEntityDefнаследоватьсвязьследующее:
кИмя типа в AtlasEntityDef — hive_tables.дляобразцовыйтипопределениеследующее:
Name: hive_table
TypeCategory: Entity
SuperTypes: DataSet
Attributes:
name: string
db: hive_db
owner: string
createTime: date
lastAccessTime: date
comment: string
retention: int
sd: hive_storagedesc
partitionKeys: array<hive_column>
aliases: array<string>
columns: array<hive_column>
parameters: map<string>
viewOriginalText: string
viewExpandedText: string
tableType: string
temporary: boolean
AtlasBaseTypeDef Абстрактный класс базовой метамодели Typeопределениесвойство,используется для Собратьметамодельопределение(Прямо сейчасAtlasTypesDef)。
AtlasType даAtlasтипопределениеизабстрактный класс,наиболее часто используемыйдаAtlasEntityType определениесущность(Entity)метамодельтип。
И конкретныйОбъекты определения метамодели сущности определяются классом AtlasEntity.,Наследовать общий класс определения структурированных данных Atlas AtlasStruct.,в
Atlas отправляет сообщения на основе промежуточного программного обеспечения сообщений (Kafka) для реализации уведомлений об изменении метаданных (новое/обновление/удаление).,Отправленное сообщениеопределениедляATLAS_ENTITIES,сосредоточиться на Системы, меняющие метаданные, могут прослушивать это сообщение.TopicИзмените функцию реализации сопределение。
Используя Notifications V2 в Atlas V1.0 и более поздних версиях, следующие операции изменения метаданных инициируют отправку сообщений метаданных:
ENTITY_CREATE: sent when an entity instance is created
ENTITY_UPDATE: sent when an entity instance is updated
ENTITY_DELETE: sent when an entity instance is deleted
CLASSIFICATION_ADD: sent when classifications are added to an entity instance
CLASSIFICATION_UPDATE: sent when classifications of an entity instance are updated
CLASSIFICATION_DELETE: sent when classifications are removed from an entity instance
Формат сообщения следующий: включая объект метаданных, тип операции, операцию классификации метаданных;
AtlasEntity entity;
OperationType operationType;
List<AtlasClassification> classifications;
Операции с метаданнымитипOperationTypeвключать:ENTITY_CREATE, ENTITY_UPDATE, ENTITY_DELETE,CLASSIFICATION_ADD, CLASSIFICATION_DELETE, CLASSIFICATION_UPDATE, RELATIONSHIP_CREATE, RELATIONSHIP_UPDATE, RELATIONSHIP_DELETE。
NotificationHookConsumerопределение Понятно元данные变更из消息Потребление,Запустите поток Thread, чтобы использовать сообщения Kafka и обрабатывать сохранение сообщений одно за другим.,Общий процесс добавления метаданных выглядит следующим образом:
NotificationInterface Уведомление о сообщенииинтерфейс:определениеAtlasсередина Согласно уведомлениютип(NotificationType)Создание общего сообщенияи Потребление,NotificationTypeвключать:HookиENTITIES,Десериализация типа выполнения (MessageDeserializer) может выполняться на основе данных JSON.,финальныйJSONопределениеиз消息反序列化дляHookNotificationиEntityNotificationобъект。
на основеLineageRESTкласс обеспечиваетсущностьобъект Родословнаясвязь ЗапросREST APIинтерфейс,на основеинтерфейсAtlasLineageService#getAtlasLineageInfo Реализация операций просмотра метаданных,
Возьмем, к примеру, производство родословной Улья.,информация о родословнойAtlasEntityDefгороднаследоватьProcess(Пожалуйста, обратитесь к вышеизложенному),на основеCreateHiveProcess#getNotificationMessagesинкапсуляцияHive产生из Родословная信息并финальныйотправить в сообщениесерединапромежуточное программное обеспечение,на основеHiveроднойHookContextсередина获取Родословная信息,Тип Hive SQL, поддерживающий разрешение происхождения:
Связанные данные в Atlas хранятся в виде графиков.,в настоящий моментдаJanusgraphвыполнить。Atlasиз所иметьданныефинальныйгород转换成图хранилищесерединаизЕсть три элемента: вершина, ребро и свойство.。
Linkedin DataHubдаоткрытый исходный код元данные管理平台,раньшеLinkedin Проект WhereHows реконструирован и трансформирован. Проект в основном разделен на три основных модуля:
вModeling:Определить универсальную метамодель:сущность、связь、свойство。
Интеграция метаданных(Ingestion)да Гибкая архитектура сервиса,поддерживать:PUSH、PULL、асинхронный/Синхронизировать модель данных(Нижний слой реализован на базе Python):
в,MCEсерединаизИсточник изменения метаданныхКатегории в основном включают в себя:hook(двигательHook),lineage (происхождение SQL), операторы (процесс DAG задач, реализованный на основе фреймворка airflow);
DataHub Serving,также известный какдляУровень обслуживания (подсервис),В основном обеспечивает сохранение метаданных и возможности извлечения запросов.,То есть он предоставляет возможности управления метаданными. Ядро предоставляет услуги gms и предоставляет внешний интерфейс операций CRUD с метаданными.
Уровень обслуживания: обеспечивает различные уровни поддержки запросов, в том числе: хранение текста KV, извлечение на основе индекса ES и запрос взаимосвязей графовой базы данных.
Разрешение родословной SQL не реализовано в LinkedIn DataHub,даJob родословная на основе Airflow,Можно ссылатьсяlineage-backend,на основеairflow.lineage#prepare_lineage Разобрать информацию о родословной.
Netflix Metacat да Netflix 研发из统一из元данные探索Служить。проходитьОтдельные механизмы вычислений из конкретных источников данных,Решение проблемы огромной и разнообразной экосистемы данных Netflix,Проблемы совместимости метаданных между различными системами хранения данных。Предоставить единый интерфейс REST/Thrift.для доступа к метаданным из различных хранилищ данных。Объединенные представления в реальном времени благодаря управлению источниками данных с прямым подключением.。
Общий архитектурный проект:
Lyft Amundsen Да Lyft Проект обнаружения данных с открытым исходным кодом и механизма метаданных для решения проблемы исследования данных
Проблемы и трудности в ходе реализации:
Система каталогов данных, используемая PayPal внутри компании для единообразного управления и организации внутреннего каталога данных компании. В основном он включает в себя три модуля:
AWS Glue да Полностью управляемый ETL (Извлечение, Transform, Load), который может автоматически обнаруживать данные, хранящиеся на AWS, и сохранять их в AWS. Glue Data Каталог — это центральное хранилище метаданных, которое может служить основой озера данных или хранилища данных. АВС Glue Основная функциональность включает в себя две части:
AWS Glue каталог данныхпоставлятьупорство Хранение метаданных,Это полностью управляемый сервис,МожетсуществоватьAWS Храните, комментируйте и делитесь метаданными в облаке, как в Apache Hive То же, что и в метасторе.
каталог данных поддерживает многопользовательскую аренду:каждыйAWSСчетсуществоватькаждыйAWSВ этом районе есть AWS Glue каталог данных Он предоставляет единый репозиторий, в котором разрозненные системы могут хранить и находить метаданные для отслеживания данных в хранилищах данных, а также использовать эти метаданные для запроса и преобразования данных.
AWS Lake Formation да Услуга хостинга Data Lake, предоставляемая Amazon,Goalda позволяет пользователям легко настроить озеро данных,И обеспечить необходимую безопасность и управление разрешениями.,Чтобы пользователи могли безопасно хранить, классифицировать и искать свои данные.
Возможности управления метаданными, предоставляемые AWS Lake Formation:
Интеллектуальный анализ данных в широком смысле в основном включает в себя две части: индексацию и обслуживание. Выполните обучение модели и интеллектуальный анализ данных на основе данных управления данными.
Архитектура построения метаданных включает снизу вверх:
Система управления данными представлена на рисунке.:сконец Вверх по главнойвключатьБазовые услуги данных, модели управления данными, приложения для управления даннымиждать 3 слой
Основные услуги управления данными:
Модель управления данными:Автоматизированное управление ссылками на производство данных,Интегрируйте управление данными с управлением ресурсами
Основываясь на исследованиях отраслевых решений, вы можете Подвести Итог Найдены следующие правила:
Единая архитектура метаданных Tencent Cloud Data Lake:Поддержка онлайн-каталога данныеи Унификация автономного управления данными, помимо совершенных возможностей автономного управления данными, также обеспечивает онлайн-каталог вычислительных механизмов. данных Функция。
В таблице ниже показаны различные системы. с открытым исходным кодом与腾讯云данные治理Функцияиз对比,Среди них услуги по управлению данными Tencent в основном предоставляются WeData.,Сравнение показывает, что Tencent Cloud Data Governance обладает богатыми и полными возможностями автономного управления.
Согласно прошлому опыту,Помимо функциональной целостности системы,Системы управления данными с открытым исходным кодом сложно использовать непосредственно в реальном бизнесе.потому чтодляданные治理даи бизнес-направленияи Морфология тесно связана с,В целях обеспечения универсальности проекты с открытым исходным кодом,Оно будет максимально оторвано от конкретного бизнеса. поэтому,Непосредственно используйте несколько абстрактную и общую систему с открытым исходным кодом., можно получить только относительно базовые возможности управления данными, и трудно получить ценность данных, связанных с бизнесом. Если совмещать с бизнесом, то нужна система с открытым исходным кодом Провести глубокую вторичную разработку,потому что此我们существоватьМодуль управления даннымивыбирать Понятно完全с研。