Рассмотрите первые шаги компании Adevinta в разработке нашего каталога данных. Узнайте об основных проблемах и технологиях, которые помогают на этом пути.

Автор: Оскар Омпре, менеджер по продукту

Экосистема данных Adevinta

В моей роли менеджера по продукту в Adevinta DataHub я являюсь частью команды, создающей наш каталог данных. Это ключевое мероприятие для Адевинта, поэтому я хочу поделиться нашим опытом в этом процессе и тем, как мы решаем различные проблемы, связанные с обнаружением данных.

Прежде чем я опишу первый этап нашего путешествия, я приведу некоторый контекст на тот случай, если вы не знакомы с Адевинтой.

Кто мы

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

Что мы предлагаем

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

Автономность наших торговых площадок

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

Глобальные команды

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

Локальный и глобальный

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

Ландшафт данных

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

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

Обнаружение данных

Ранее мы упоминали термин «обнаружение данных». Мы используем этот термин для обозначения постоянно развивающегося процесса, в котором специалистам по профилированию данных необходимо понимать, где находится необходимая информация и как получить доступ и подключиться к этим источникам данных для изучения данных. Давайте представим специалиста по данным, который намерен создать модель машинного обучения (МО) для определенного рынка. Они должны иметь возможность получить набор данных, полезный для этой цели. В нынешних условиях сложно найти такие данные, что затрудняет процесс обнаружения данных.

Каталог данных

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

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

Как мы уже разработали каталог данных?

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

Для этого мы использовали проект с открытым исходным кодом, предлагаемый Acryl Data в бэкэнде. Эта система предоставляет множество коннекторов для различных источников данных, таких как Kafka, S3, Athena, Glue, Hive, Databricks, BigQuery, Redshift, dbt, Snowflake, Looker, Tableau и Datadog, среди многих других. Вклад команды в этот проект с открытым исходным кодом был многочисленным в течение года.

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

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

Что такое метаданные?

Метаданные — это информация о конкретном объекте. В каталоге мы не используем информацию, хранящуюся в разных базах данных, но собираем информацию, которая позволяет нам узнать, что база данных существует, что она была создана и обновлена ​​в определенную дату и что она содержит таблицы и столбцы. Это информация, которая позволяет нам идентифицировать каждый объект в каталоге.

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

Сделать рынок данных более удобным для потребителей

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

Но наши усилия сосредоточены не только на создании этих соединителей. Если информация представлена ​​потребителям некорректно, логично предположить, что они не смогут точно идентифицировать всех присутствующих сущностей. На данный момент в каталоге доступно более 65 000 объектов — количество меняется ежедневно. Чтобы облегчить жизнь нашим потребителям, мы разработали пользовательский интерфейс с различными возможностями поиска. Он предлагает компонент поиска с различными фильтрами, который позволяет пользователям выполнять текстовый поиск на основе имени и описания объектов.

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

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

Простой доступ к данным — мы работаем над этим

Наконец, функциональность, на которой мы в настоящее время сосредоточены, заключается в предоставлении системы доступа к данным. Наша цель — дать потребителям возможность находить нужную им информацию, легко запрашивать разрешение у производителей на доступ и иметь возможность использовать доступные данные. Для этого нам нужно управлять системой запросов, чтобы производители знали, что пользователь запросил доступ к их данным, и могли управлять запросом. В настоящее время у нас есть определенные платформы, в которых эта система уже реализована. В других мы итерации каждую неделю, чтобы обеспечить этот тип функциональности.

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

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