Повышаем качество данных с помощью контрактов данных
Данные – это базис успеха GoCardless: они определяют принимаемые нами решения, выявляют случаи мошенничества и служат основой наших интеллектуальных продуктов, таких как Success+.
Однако раскрыть весь потенциал данных можно только при условии, что это действительно качественные данные. Пользователи должны уметь находить надежные данные, понимать, что они несут в себе, и быть уверенными в том, что их можно использовать по назначению.
В компании GoCardless мы управляем качеством данных, используя контракты данных.
Текущее состояние данных GoCardless
Сегодня наиболее важные данные мы получаем непосредственно из баз данных наших подразделений с помощью собственной службы CDC. Безусловно, это достаточно эффективный способ собрать все наши данные в одном месте, но он подразумевает то, что все потребители данных в конечном итоге полагаются на внутреннюю модель данных наших служб. А она не предназначена для использования конечными пользователями. В ней отсутствует документация, для ее использования требуются специфические знания, да и для того, чтобы получить из нее действительно нужную информацию, придется изрядно попотеть. Более того, модель постоянно совершенствуется по мере развития компании, а это значит, что потребители должны постоянно адаптироваться к нововведениям, что подрывает их уверенность в имеющихся на сегодняшний момент данных.
Поэтому мы не можем сказать, что это действительно качественные данные.
Для поддержания высокого уровня используемых данных многие организации обращаются к таким инструментам, как каталоги данных и обнаружение аномалий и даже создают команды Data Engineering. Но все это не гарантирует того, что данные действительно будут качественными. Ведь для этого необходимо обратиться непосредственно к источнику данных. Кроме того, необходимо отказаться от использования внутренних моделей данных и создать интерфейс между производителями и потребителями данных – что-то вроде API.
В нашем случае это контракт данных.
Итак, контракт данных – что это такое?
Можно сказать, что это интерфейс, схема, способ описания и документирования данных. Но на самом деле это нечто большее. Это то, как мы решаем, какие данные мы будем предоставлять, кто и в каких целях будет использовать эти данные. Это также и то, как мы управляем нашими данными, и какие способы контроля применяем по отношению к ним. Таково видение контракта данных в GoCardless.
Все эти аспекты будут соблюдены благодаря использованию лучших в своем классе инструментов, созданных нашей собственной командой по инфраструктуре данных.
По сути, мы упрощаем задачу предоставления данных конечным потребителям. Мы предоставляем право производителям данных самостоятельно решать, какие данные предлагать, как их структурировать и управлять ими.
Мы также активно оказываем поддержку нашим потребителям данных, делая все возможное для того, чтобы они получали необходимые им данные в удобном для них формате. В определенный момент мы поняли, что наши потребители данных не всегда знают, как запрашивать нужные им данные, поэтому мы предоставили им шаблоны, призванные помочь им описать свои требования наилучшим способом.
Будущее контрактов данных в GoCardless
Контракты данных в GoCardless еще только появляются. Мы выпустили первую версию инструментария, который на данном этапе просто позволяет нашим пользователям определить нужный им контракт и упрощает предоставление данных через Pub/Sub и BigQuery, напрямую в Pub/Sub либо с помощью Outbox Pattern.
Пока все идет хорошо, сотрудники компании достаточно благосклонно отнеслись к этому нововведению. Несколько команд проверили контракты данных на практике, а некоторые команды уже даже внедрили их в производство.
Заглядывая в будущее, могу сказать, что планы на контракты данных у нас грандиозные. Все будущие инструменты для работы с данными будут построены на их основе. Постепенно мы отказываемся от сервиса CDC и централизованной платформы данных и переходим к децентрализованным наборам данных, которыми владеют и управляют производители данных, а также упрощаем поиск и использование данных в рамках всей организации.
В одной из следующих статей мы расскажем Вам о том, как мы внедрили контракты данных, а также об инструментах, которые мы создали для наших производителей и потребителей данных. Мы уверены в том, что не зря обратили свое внимание на контракты данных!







