Глава 1. Метаданные
Метаданные соединяют исходные данные, хранилища данных и приложения данных и записывают весь процесс обработки данных от создания до потребления. Метаданные в основном записывают определение модели в хранилище данных, сопоставление отношений между различными уровнями, мониторинг состояния данных хранилища данных и состояние выполнения задач ETL.
Метаданные делятся на две категории в зависимости от их использования: технические метаданные и бизнес-метаданные.
Метаданные имеют важное прикладное значение и являются основой для управления данными, содержания данных и приложений данных;
Качество метаданных напрямую влияет на точность управления данными. То, как правильно создавать метаданные, будет играть жизненно важную роль. Цель создания метаданных — открыть всю связь от доступа к данным до обработки и потребления данных, стандартизировать систему и модель метаданных, предоставить единый сервис метаданных и обеспечить стабильность и качество вывода метаданных.
Ценность: принятие решений на основе данных, цифровые операции.
Основная идея: создать четкую карту происхождения сложных данных. С помощью таких технологий, как графовые вычисления и алгоритмы распространения меток, данные на вычислительных платформах и платформах хранения систематически и автоматически маркируются, организуются и архивируются. Фактическая задача состоит в том, чтобы «портретировать» метаданные, и были разработаны четыре типа меток:
Посредством анализа связей приложений определяются родство на уровне таблиц, родство полей и родство приложений таблиц. Существует два основных способа расчета родства на уровне таблицы:
Общие приложения для анализа ссылок приложений в основном включают анализ воздействия, анализ важности, автономный анализ, анализ ссылок, отслеживание корня, устранение неполадок и т. д.
Построение модели хранилища данных на основе метаданных может в определенной степени решить эту проблему, улучшить руководство на основе данных для моделирования хранилища данных и повысить эффективность моделирования.
При проектировании звездной модели используется следующая метаданная:
(Оптимизатор на основе истории, оптимизатор на основе истории)
Когда задача стабильна, можно рассмотреть оценку ресурсов на основе исторического выполнения задачи, то есть с использованием HBO.
В ответ на такие сценарии, как «большие продажи», когда объем данных стремительно растет, HBO также добавил функцию динамической корректировки количества экземпляров в зависимости от объема данных, в основном на основе роста объема данных карты.
Оптимизатор на основе затрат вычисляет стоимость каждого метода выполнения на основе собранной статистической информации, а затем выбирает оптимальный метод выполнения.
Введены правила оптимизации Reordering Join (JoinReorder) и автоматического MapJoin (AutoMapJoin). При этом оптимизатор на основе модели Volcano будет использовать максимальную ширину поиска для получения оптимального плана.
Вы можете настроить белый список правил (какие правила оптимизации использовать) и черный список (какие правила оптимизации отключить).
Оптимизатор обеспечит оптимизацию предикатов (PredicatePushDown). Основная цель — выполнить фильтрацию предикатов как можно раньше, чтобы уменьшить объем данных в последующих операциях и повысить производительность. Но что необходимо отметить:
При чтении данных на стороне карты из-за неравномерного распределения размера файла считываемых данных некоторые экземпляры MapInstance будут считывать и обрабатывать большой объем данных, в то время как некоторые экземпляры Map будут обрабатывать очень мало данных, что приводит к образованию длинного хвоста на стороне карты. Сторона карты;
Размер файлов восходящих таблиц особенно неравномерен, и в них много маленьких файлов. Это приводит к неравномерному распределению данных, считываемых со стороны карты текущей таблицы, что приводит к появлению длинного хвоста. Есть два метода:
Основная причина длинного хвоста на стороне карты заключается в том, что распределение данных прочитанных блоков файлов неравномерно в сочетании с производительностью функций UDF, объединением, операциями агрегации и т. д., что приводит к длительному и трудоемкому чтению экземпляра карты. с большим объемом данных. Если в процессе разработки вы столкнулись с ситуацией «длинного хвоста» на стороне карты, сначала подумайте, как сделать объем данных, считываемых экземпляром карты, достаточным, затем определите, какие операции приводят к замедлению работы экземпляра карты, и, наконец, подумайте, являются ли эти операции должны быть завершены на стороне Карты. Будет ли это лучше сделано на других этапах?
Явление «длинного хвоста», вызванное асимметрией данных, является относительно распространенным, что серьезно влияет на время выполнения задач. Особенно во время крупномасштабных действий, таких как «Двойной L&L», степень «длинного хвоста» более серьезна, чем обычно. Например, PV некоторых крупных магазинов намного превышает PV обычных магазинов. Когда данные журнала просмотра связаны с таблицей измерений продавца, они будут распределяться в соответствии с идентификатором продавца.
Основная причина длинного хвоста на стороне сокращения заключается в том, что ключевые данные распределены неравномерно.
Схема сжатия на 3 копии: архивный метод сжатия, коэффициент хранения увеличен примерно с 1:3 до 1:1,5.
Фундаментальная цель управления жизненным циклом — использовать минимальные затраты на хранение для удовлетворения наибольших потребностей бизнеса и максимизировать ценность данных.
Определение стоимости данных как трех частей: стоимости хранения, стоимости вычислений и стоимости сканирования может хорошо отражать восходящие и нисходящие зависимости данных в канале обработки.
В отрасли существуют разные стандарты оценки качества данных. Alibaba в основном оценивает их по четырем аспектам: полнота, точность, последовательность и своевременность;
1. Полнота
Целостность данных является основной гарантией данных;
2. Точность
3. Последовательность
4. Своевременность
Система построения качества данных Alibaba:
В основном выполняет проверку точки застревания данных в двух частях: проверка точки застревания во всех аспектах производства и обработки данных в онлайн-системе и автономной системе;
Мониторинг точек риска: в основном отслеживается такие проблемы, как качество и своевременность данных, которые могут возникнуть во время работы с данными;
В основном отслеживают точки риска в двух аспектах:
Предыстория: Для огромного хранилища данных Alibaba масштаб данных достиг уровня EB. Для такого большого объема данных, если мы обобщаем, это неизбежно приведет к тому, что энергия не сможет сконцентрироваться, а гарантия будет неточной.
Пять уровней данных, важность разных свойств снижается сразу:
То есть, если данные неверны, это приведет к крупным потерям активов, значительным потерям выгод и серьезным общественным рискам;
То есть данные используются прямо или косвенно для оценки бизнеса и результатов группы, эксплуатации и обслуживания важных платформ, раскрытия внешних информационных продуктов, влияния на поведение пользователей на веб-сайтах Alibaba и т. д.;
То есть данные используются прямо или косвенно для внутренних общих информационных продуктов или операционной/продуктовой отчетности, и в случае возникновения проблемы это повлияет на подразделение или направление деятельности или приведет к потере эффективности работы;
То есть данные в основном используются официантом для ежедневного анализа данных, и проблемы окажут незначительное или незначительное влияние;
Если сценарий применения данных не может быть четко указан, он помечается как неизвестный;
Разрушительный характер: А1 оценка; Глобальные свойства: A2 оценка; Местная недвижимость: A3 оценка; Общие свойства: А4 оценка; Неизвестные свойства: A5 оценка; Важность: А1 > A2 > A3 > A4 > A5;
Если часть данных появляется в нескольких сценариях применения, следуйте принципу «выше»;
Проблемы, которые необходимо решить: как при таком огромном объеме данных поставить метку уровня на каждом фрагменте данных?
Методы/шаги реализации уровня информационных активов:
Процесс передачи данных
Данные из бизнес-систем в хранилища данных и продукты данных отражаются в виде таблиц. Процесс потока выглядит следующим образом:
С хранилищем данных (соответствующим Alibaba является платформа MaxCompute) синхронизируются исходные таблицы бизнес-базы данных, которые в основном используются для удовлетворения бизнес-потребностей и часто не могут быть напрямую использованы для продуктов данных (обычно полные данные); слой ОРВ)
Все выходные таблицы, используемые в продуктах данных, обрабатываются хранилищем данных (обрабатываются в соответствии с требованиями/отчетами);
1. Разделите уровни информационных ресурсов 2. Согласно процессу передачи данных, устанавливать Метаданные, фиксировать соответствующие отношения между таблицей данных и продуктами или приложениями данных; 3. Классифицировать активы данных для информационных продуктов и приложений по степени воздействия; 4. Маркировка. Опираясь на восходящие и нисходящие метаданные, маркируйте всю ссылку потребления определенным типом данных (т. е. маркируйте данные связи потребления); Связь: относится к процессу потока данных из бизнес-систем в продукты данных;
Подведите итог:
Посредством вышеуказанных шагов завершается подтверждение уровня активов данных и определяются различные уровни важности для разных данных, что требует поддержки метаданных;
Цель: обеспечить точность и согласованность данных с автономными данными;
Платформа публикации: Отправка уведомлений об основных изменениях; Содержание уведомления: причина изменения, логика изменения, отчет о тестировании изменений, время изменения и т. д.; Платформа базы данных: отправлять уведомление об изменении таблицы базы данных; Содержание уведомления: причина изменения, логика изменения, отчет о тестировании изменений, время изменения и т. д.;
Функция: когда компания вносит серьезные изменения, подпишитесь на процесс публикации, а затем передайте его офлайн-разработчикам, чтобы они знали о содержании изменения; Примечание. Бизнес-система загружена, и ежедневно вносится бесчисленное количество изменений. Не каждое бизнес-изменение необходимо вносить только в офлайн-режиме, что приведет к ненужным тратам и повлияет на эффективность онлайн-бизнес-итераций;
Содержание подписки: для важных активов данных высокого уровня всей группы выясните, какие изменения повлияют на обработку данных, а затем подпишитесь на это содержимое; Например, финансовые отчеты, естественно, являются активами уровня А1. Если трансформация бизнес-системы повлияет на расчет финансовых отчетов и если согласованный уровень расчета будет изменен в результате изменений, выпущенных бизнес-системой, то офлайн-бизнес должен быть проинформирован. Как оффлайн-разработчик, вы также должны активно обращать внимание на такую информацию об изменениях выпуска;
Затруднительное положение: платформа выпуска включает функцию уведомления, которую можно использовать для проверки важных конференций на сцене. Выпуск можно завершить только после подтверждения уведомления;
Независимо от того, идет ли речь о расширении базы данных или изменении DDL таблиц по мере развития бизнеса, офлайн-разработчики должны быть уведомлены;
DDL (язык определения данных): язык определения схемы базы данных; язык, используемый для описания объектов реального мира, которые будут храниться в базе данных.
Язык определения схемы базы данных DDL является неотъемлемой частью языка SQL (язык структурированных запросов);
Пример: CREATE DATABASE (создать базу данных), CREATE TABLE (создать таблицу);
DML (язык манипулирования данными): команда языка манипулирования данными позволяет пользователям выполнять запросы к базам данных и манипулировать данными в существующих базах данных;
Например: вставка, удаление, обновление, выбор и т. д. — все это DML;
Предыстория/проблема: когда хранилище данных извлекает данные, оно использует инструмент DataX, который может ограничить определенную таблицу базы данных. Если произойдет расширение или миграция базы данных, инструмент DataX не узнает об этом, и результат может привести к извлечению данных. ошибки и упущения, влияющие на ряд последующих приложений;
Решение: Отправьте уведомление об изменении таблицы базы данных через платформу базы данных;
Чтобы соединить восходящий и нисходящий уровни активов данных, этот процесс также должен быть передан онлайн-разработчикам, чтобы они знали, какие из них являются важными основными активами данных, а какие в настоящее время используются только в качестве данных внутреннего анализа;
Необходимо повысить осведомленность онлайн-разработчиков и посредством обучения информировать разработчиков онлайн-бизнеса о требованиях к автономным данным, обработке автономных данных и методах применения продуктов данных, чтобы они осознали важность данных и понимать ценность данных. Он также сообщает о последствиях ошибок, поэтому при достижении бизнес-целей онлайн-разработчики также должны обращать внимание на цели данных и обеспечивать согласованность бизнес-целей и данных;
Предыстория/проблема: В процессе передачи данных из онлайн-бизнес-системы в хранилище данных и в продукты данных очистка и обработка данных должны выполняться на уровне хранилища данных, именно при обработке данных создаются модель хранилища данных и данные; построение кода хранилища; как обеспечить качество при обработке данных — важное звено обеспечения качества данных в автономных хранилищах данных;
Цель: Обеспечить качество процесса обработки данных (в основном относится к точности данных);
Проведите верификацию карты в два этапа:
Предыстория/причина: персонал, занимающийся исследованиями и разработкой данных, обладает разными качествами и возможностями кодирования, что затрудняет эффективную гарантию качества кода;
Решение: Разработать инструмент сканирования кода SQLSCAN для сканирования каждого кода, представленного онлайн, для выявления точек риска;
Метод застрявших точек: используйте инструмент сканирования кода SQLSCAN для сканирования кода и выявления точек риска;
Чтобы обеспечить точность онлайн-данных, каждое изменение необходимо протестировать в автономном режиме перед публикацией в онлайн-среде. Релиз считается успешным только после прохождения онлайн-тестирования;
Метод тупиковой точки: протестируйте задачу (с учетом изменившегося бизнеса) до и после ее публикации в сети;
Цель регрессионного тестирования: Обеспечить корректность новой логики; Гарантируется, что это не повлияет на логику, отличную от этого изменения;
Примечание. Для выпуска изменений задач с более высокими уровнями активов применяется строгая блокировка, и выпуск должен быть завершен после завершения регрессионного тестирования на другой стороне;
Не выполняйте код, а запускайте только план выполнения, чтобы избежать синтаксических ошибок, вызванных несогласованностью между онлайн- и оффлайн-средами;
Используйте реальные данные для тестирования;
Содержание уведомления: причина изменения, логика изменения, отчет о тестировании изменений, время изменения и т. д.; процесс: Используйте центр уведомлений для автоматического уведомления нижестоящих пользователей о причине изменения, логике изменения, отчете о тестировании изменения, времени изменения и т. д. После того, как у нижестоящих пользователей не возникнет возражений против изменения, они опубликуют изменение в соответствии с согласованным временем, чтобы свести к минимуму влияние изменения на последующих пользователей;
Мониторинг точек риска: в основном относится к мониторингу рисков, которые могут возникнуть при ежедневной работе с данными, и настройке механизма сигнализации; В основном включает в себя онлайн-данные и офлайн-мониторинг точек риска при работе с данными;
Цель: Обеспечить точность данных;
1. Онлайн-мониторинг точек риска данных
Настройка сигналов тревоги: настройка различных форм сигналов тревоги для разных правил;
Примечание. Из-за высокой стоимости настройки и эксплуатации BCP мониторинг в основном основан на уровне активов данных;
Автономный мониторинг точек риска данных в основном включает в себя контроль точности данных и своевременности вывода данных;
Точность данных является ключом к качеству данных, поэтому точность данных стала главным приоритетом качества данных и первым гарантийным фактором для всей обработки в автономной системе;
Методы: Мониторинг точности данных посредством DQC;
DQC (Центр качества данных): в основном ориентирован на качество данных и автоматически контролирует качество данных во время задач обработки данных, настраивая правила проверки качества данных;
Примечание. При мониторинге качества данных и тревогах сами выходные данные не обрабатываются. Получателю тревоги необходимо принять решение о том, как их обрабатывать.
Метод мониторинга: автоматический мониторинг во время задачи обработки данных путем настройки правил проверки качества данных;
Правила мониторинга:
Строгие правила: будет блокировать выполнение заданий;
Установите задачу в состояние сбоя, и ее последующие задачи не будут выполняться;
Слабые правила: только предупреждать, но не блокировать выполнение задачи;
общий DQC Правила мониторинга:первичный ключмонитор、Таблица данных объема и колебаний монитора、Важные поля непустого монитора、Важные поля перечисления из дискретных значений монитора、Колебания значений индикаторов монитор、бизнесправиломониторждать;
Конфигурация правил: определение правил мониторинга на основе уровня активов данных;
Проверка DQC на самом деле также запускает задачу SQL, но эта задача вложена в основную задачу. Если контрольных точек становится слишком много, это естественным образом влияет на общую производительность, поэтому уровень ресурсов данных по-прежнему используется для определения конфигурации; правила;
Примечание. Различные предприятия будут ограничены бизнес-правилами. Эти правила основаны на данных продуктов или бизнес-требованиях потребления. Они настраиваются узлами потребления, а затем передаются в начальную точку автономной системы для мониторинга, чтобы минимизировать влияние правил. ;
На основе обеспечения точности данных необходимо дополнительно обеспечить возможность своевременного предоставления услуг, в противном случае ценность данных будет значительно снижена или даже не будет иметь никакой ценности;
Большинство оффлайн задач Али:
Обычно дни используются в качестве временных интервалов, которые называются «дневными задачами». Для ежедневных задач продукты данных или отчеты о принятии решений обычно должны создаваться в 9:00 или раньше каждый день;
Чтобы гарантировать полноту данных за предыдущий день, ежедневные задачи выполняются с нуля. Поскольку все задачи вычислений и обработки выполняются в ночное время, чтобы обеспечить своевременное получение ежедневных данных, подается серия сигналов тревоги. и необходимы настройки приоритетов, чтобы важные задачи были расставлены по приоритетам и выполнялись правильно;
Важные задачи: предприятия с более высоким уровнем активов;
Для задач «Карта» и «Сокращение» планирование представляет собой древовидную структуру (дерево RelNode). Когда приоритет конечного узла (узла RelNode) настроен, этот приоритет будет передан всем вышестоящим узлам, поэтому параметр приоритета — «Перейти к». конечный узел, а конечный узел часто является узлом потребления сервисного бизнеса;
Установите приоритет: сначала определите уровень активов бизнеса. Узлам потребления, соответствующим предприятиям высокого уровня, естественно, будет присвоен высокий приоритет, в то время как общим предприятиям будет присвоен низкий приоритет, чтобы гарантировать, что предприятия высокого уровня производятся вовремя;
Сигналы задач аналогичны приоритетам и также передаются через конечные узлы;
Во время выполнения задач неизбежно возникают ошибки. Поэтому для обеспечения эффективного и бесперебойного выполнения задач требуется система мониторинга и сигнализации. Для задач с высоким приоритетом при обнаружении ошибки задания или задержки вывода должен подавать сигнал тревоги. быть дано задание и владелец бизнеса;
Моссад: система мониторинга и сигнализации, независимо разработанная Alibaba;
Моссад: система мониторинга и сигнализации для офлайн-задач, незаменимый гарантийный инструмент для работы и обслуживания данных;
Принимайте решения в режиме реального времени на основе текущего состояния автономных задач: следует ли предупреждать, когда предупреждать, как предупреждать, кого предупреждать и т. д.;
Две основные функции: надежный мониторинг и индивидуальные сигналы тревоги;
Строгий мониторинг безопасности
Строгий мониторинг безопасностида Моссадиз Основные функции,Он разработан только для целей эксплуатации и технического обслуживания, то есть бизнес-гарантий.,Пока существование бизнеса из времени предупреждения находится под угрозой,Моссад обязательно предупредит соответствующий персонал;
Строгий мониторинг безопасности В основном включают:
Объем мониторинга: будет контролироваться задача создания надежного страхового бизнеса и все его исходные задачи;
Отслеживаемые аномалии: ошибки выполнения задач, замедление выполнения задач, задержки обслуживания раннего предупреждения;
Объект тревоги: по умолчанию является владельцем задачи, вы также можете установить список обязанностей для определенного человека;
Когда подавать сигнал тревоги: Определите, когда подавать сигнал тревоги, исходя из времени предупреждения, установленного предприятием;
Предупреждение о деловой задержке и предупреждение об ошибке оцениваются на основе «времени выхода предупреждения»;
Время выходного предупреждения: Моссад оценивает приблизительное время, необходимое для текущего бизнеса, на основе среднего времени выполнения всех задач в текущем бизнесе за последние 7 дней как время выходного предупреждения;
Метод сигнализации: в зависимости от важности и срочности бизнеса поддержка по телефону, SMS, «Хочу хочу» и по электронной почте;
Пример: Торговый консалтинг (раннее предупреждение о задержке в бизнесе)
Уровень активов и требования: Определенный уровень активов — A2, который требует, чтобы выходные данные были помещены на полку в 9:00 утра;
настраивать:бизнес-консультантубизнесопределить Строгий мониторинг Безопасность, время вывода бизнеса 9:00, время делового предупреждения 7:00;
Время раннего предупреждения здесь означает, что как только Моссад увидит, что время вывода текущих дел превышает время раннего предупреждения, он позвонит дежурному, чтобы дать раннее предупреждение;
Например, Моссад предполагает, что время выхода бизнес-консультанта будет до 7:30, затем прозвучит телефонный будильник, и дежурный решит, как ускорить оценку времени выхода (то есть раннее предупреждение); оценка задержки вывода): Моссад рассчитывается на основе среднего времени выполнения всех задач текущего бизнеса за последние 7 дней, хотя существует вероятность ошибочной оценки, в целом это очень точное и приемлемое значение;
Пользовательский мониторинг — это относительно легкая функция мониторинга Моссада. Пользователи могут настроить ее в соответствии со своими потребностями, которая в основном включает в себя:
В зависимости от функционирования бизнеса Моссад предоставит однодневный критический путь, который является самой медленной диаграммой связей задач для завершения бизнеса, поскольку каждое предприятие может иметь тысячи исходных задач, этот критический путь важен для оптимизации бизнес-связи; очень важно;
Существует множество решений для обеспечения качества данных хранилищ данных. Чтобы оценить преимущества и недостатки этих решений, необходим набор показателей измерения:
Как правило, операции с хранилищем данных выполняются ночью. При возникновении проблемы дежурному персоналу приходится вставать ночью, чтобы справиться с ней;
Частота пробуждений: используйте количество пробуждений в месяц в качестве индикатора для измерения полноты построения качественных данных;
События качества данных: записывайте все проблемы с качеством данных;
Для каждой проблемы с качеством данных регистрируется событие качества данных:
Функция: используется не только для измерения качества самих данных, но также для измерения качества восходящих и нисходящих каналов передачи данных. Это важный показатель измерения качества данных;
В случае серьезных инцидентов с качеством данных они будут повышены до уровня сбоев;
Неудача: относится к проблеме, которая имеет относительно серьезные последствия и привела к потерям активов или рискам для связей с общественностью компании;
Предыстория: Весь путь от сбора данных до конечного потребления должен пройти через десятки систем. Проблемы в любом звене повлияют на вывод данных. Поэтому для формирования совместной цели необходим механизм. сила, в этом контексте возникла система разломов;
В системе неисправностей, как только возникает неисправность, она проходит через систему неисправностей и требует от соответствующей группы принять меры и решить проблему как можно скорее, чтобы устранить воздействие;
Во-первых, определите важные бизнес-данные, зарегистрируйте их в системе и заполните соответствующие бизнес-ситуации, такие как ответственное техническое лицо, ответственное деловое лицо, сценарии применения данных, влияние задержек или ошибок, произойдет ли потеря активов и т. д. ., после завершения задачи для этой части данных будут привязаны к базовой линии платформы. При возникновении задержки или ошибки автоматически генерируется сообщение о неисправности и возникает ошибка;
После возникновения неисправности уровень неисправности будет оцениваться на основе определенных стандартов, таких как продолжительность неисправности, количество жалоб клиентов, финансовые потери и т. д., и каждой команде присваивается класс от P1 до P4. иметь концепцию точек неисправности и будут разделены в зависимости от ситуации с неисправностями в конце года, чтобы оценить эффект эксплуатации и технического обслуживания в этом году;
После возникновения неисправности необходимо быстро выявить причину неисправности и оперативно устранить ее последствия;
В процессе обработки ошибок мы сделаем все возможное, чтобы уведомить соответствующие стороны о ходе обработки ошибок, чтобы минимизировать влияние на бизнес;
Обзор неисправности: это означает анализ причины неисправности, анализ процесса обработки и формирование последующих решений. Действия будут подробно записаны в виде текста, и будет указана ответственность за неисправность. Как правило, ответственность будет указана. закреплен за лицом;
Примечание. Определение ответственности за вину заключается не в наказании отдельных лиц, а в формулировании решений путем анализа вины, чтобы избежать повторения проблемы;