Сборник схем по POC в Synapse. Исследование озера данных с помощью бессерверного пула SQL в Azure Synapse Analytics

В этой статье описана общая методика подготовки и запуска эффективного проекта по подтверждению концепции (POC) Azure Synapse Analytics для бессерверного пула SQL.

Примечание.

Эта статья является частью серии статей Сборник схем по подтверждению концепции в Azure Synapse. Общие сведения о серии см. в статье Сборник схем по подтверждению концепции в Azure Synapse.

Подготовка к POC

Проект POC поможет вам принять обоснованное бизнес-решение о реализации больших данных и расширенной аналитической среды на облачной платформе, которая использует бессерверный пул SQL в Azure Synapse. Если вам нужно исследовать данные в озере данных, получить на их основе ценную информацию или оптимизировать существующий конвейер преобразования данных, вы можете с пользой применить бессерверный пул SQL. Эта служба полезна в следующих случаях:

  • Простое обнаружение и исследование. Позволяет быстро принимать решения, которые касаются данных, хранящихся в разных форматах (Parquet, CSV, JSON) в озере данных, чтобы можно было спланировать получение аналитических сведений на их основе.
  • Логическое хранилище данных. Позволяет реализовать реляционную абстракцию для необработанных или разнородных данных, не требуя их перемещения или преобразования, что обеспечивает актуальность представления данных.
  • Преобразование данных. Выполнение простых, масштабируемых и высокопроизводительных запросов к озеру данных с помощью T-SQL. Вы можете передавать результаты запросов в средства бизнес-аналитики или загружать в реляционную базу данных. Целевыми системы могут включать выделенные пулы SQL Azure Synapse или Базу данных SQL Azure.

Бессерверный пул SQL обеспечивает преимущества различным специалистам.

  • Инженеры данных могут с помощью бессерверного пула SQL исследовать озера данных, преобразовывать и подготавливать данные, а также упрощать конвейеры преобразования данных.
  • Специалисты по обработке и анализу данных могут быстро определить содержимое и структуру данных, хранящихся в озере данных, с помощью функции T-SQL OPENROWSET и автоматического вывода схем.
  • Аналитики данных могут писать запросы T-SQL в предпочитаемых средствах запросов, которые поддерживают подключение к бессерверному пулу SQL. Они могут исследовать данные во внешних таблицах Spark, созданных специалистами по обработке и анализу данных или инженерами данных.
  • Специалисты по бизнес-аналитике могут быстро создавать отчеты Power BI, которые подключаются к озерам данных или таблицам Spark.

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

Прежде чем приступить к планированию проекта POC бессерверного пула SQL, сделайте следующее:

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

Прежде чем приступить к подготовке к проекту POC, ознакомьтесь с документацией по бессерверному пулу SQL.

Совет

Если вы не знакомы с бессерверными пулами SQL, рекомендуется проработать схему обученияСоздание решений для аналитики данных с помощью бессерверных пулов SQL в Azure Synapse.

Установка целей

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

  • Что вы хотите в качестве выходных данных проекта POC?
  • Что вы будете делать с этими выходными данными?
  • Кто будет использовать выходные данные?
  • Какие критерии будут определять успешную реализацию проекта POC?

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

При выборе целей POC задайте себе следующие вопросы, которые помогут сформировать цели:

  • Выполняется ли миграция с существующей платформы больших данных и расширенной аналитики (локальной или облачной)?
  • Вы выполняете миграцию, но хотите внести как можно меньше изменений в существующие процессы приема и обработки данных?
  • Вы осуществляете миграцию, но хотите одновременно с этим провести масштабные улучшения?
  • Создаете ли вы совершенно новую платформу больших данных и расширенной аналитики (проект, создаваемый с нуля)?
  • Каковы ваши текущие проблемные точки? Например, масштабируемость, производительность или гибкость.
  • Какие новые бизнес-требования необходимо удовлетворить?
  • Каковы соглашения об уровне обслуживания, которые необходимо удовлетворять?
  • Какими будут рабочие нагрузки? Например, исследование данных в различных форматах, базовое исследование, логическое хранилище данных, подготовка и (или) преобразование данных, интерактивный анализ T-SQL, запросы T-SQL к таблицам Spark или запрашивание отчетов по озеру данных.
  • Каковы навыки пользователей, которым будет принадлежать проект (должно ли быть реализовано подтверждение концепции)?

Ниже приведено несколько примеров целей POC:

  • Почему мы подтверждаем концепцию?
    • Нам нужно знать, можно ли изучить все форматы хранимых необработанных файлов с помощью бессерверного пула SQL.
    • Нам нужно знать, могут ли наши инженеры данных быстро оценить новые веб-каналы данных.
    • Нам нужно знать, соответствует ли производительность запросов к озеру данных с использованием бессерверного пула SQL требованиям к изучению данных.
    • Нам нужно знать, является ли бессерверный пул SQL хорошим вариантом для некоторых наших визуализаций и требований к отчетам.
    • Нам нужно знать, является ли бессерверный пул SQL хорошим вариантом для некоторых наших требований к приему и обработке данных.
    • Нам нужно знать, будет ли переход на Azure Synapse соответствовать нашему бюджету.
  • В заключение этого PoC:
    • У нас будут данные, которые помогут определить преобразования данных, хорошо подходящие для бессерверного пула SQL.
    • У нас будут данные, которые помогут определить, в каких случаях лучше всего использовать бессерверный пул SQL при визуализации данных.
    • У нас будут данные, которые помогут оценить, насколько просто нашим инженерам данных и специалистам по обработке и анализу данных будет внедрить новую платформу.
    • Мы получим аналитические сведения, которые помогут более точно оценить усилия, необходимые для выполнения проекта реализации или миграции.
    • У нас будет список элементов, для которых может потребоваться дополнительное тестирование.
    • Проверка POC будет успешной, если у нас есть необходимые данные и выполнено тестирование для определения того, как бессерверный пул SQL будет поддерживать нашу облачную платформу больших данных и расширенной аналитики.
    • Мы определим, можно ли перейти к следующему этапу или для завершения нашего решения потребуются дополнительные проверки POC.
    • Мы сможем принимать обоснованные бизнес-решения, поддерживаемые конкретными точками данных.

Планирование проекта

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

Вот пример необходимого уровня специфики планирования:

  • Цель. Нам нужно узнать, могут ли инженеры данных обеспечить эквивалентную обработку существующего процесса извлечения, преобразования и загрузки с именем Daily Batch Raw File Validation в рамках требуемого соглашения об уровне обслуживания.
  • Выходные данные. У нас будут данные, которые помогут определить, можно ли использовать запросы T-SQL для выполнения процесса извлечения, преобразования и загрузки Daily Batch Raw File Validation в рамках требуемого соглашения об уровне обслуживания.
  • Тест. Запросы проверки A, B и C определяются инжинирингом данных и представляют общие потребности в обработке данных. Сравните производительность этих запросов с эталоном, полученным из существующей системы.

Оценка набора данных POC

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

Важно!

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

Создание высокоуровневой архитектуры

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

Если вы уже используете Azure, определите все ресурсы, которые у вас уже есть (Идентификатор Microsoft Entra, ExpressRoute и другие), которые можно использовать во время POC. Также определите регионы Azure, которые использует ваша организация. Теперь самое время определить пропускную способность подключения ExpressRoute и проверить, что ваш проект POC может использовать часть этой пропускной способности без негативного влияния на системы в рабочей среде.

Определение ресурсов POC

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

  • Представитель компании для надзора за соблюдением требований и достижением результатов.
  • Специалист по обработке данных приложения, который получит данные для проекта POC и предоставит знания о существующих процессах и логике.
  • Специалист по бессерверному пулу SQL.
  • Советник для оптимизации тестов POC.
  • Специалисты, которые будут необходимы для определенных компонентов проекта POC, но не обязательно потребуются в течение срока действия POC. К таким специалистам могут относиться администраторы сети, администраторы Azure, администраторы Active Directory, администраторы портала Azure и другие.
  • Убедитесь, что подготовлены все необходимые ресурсы служб Azure и предоставлен требуемый уровень доступа, включая доступ к учетным записям хранения.
  • Убедитесь, что у вас есть учетная запись с необходимыми разрешениями на доступ к данным для получения данных из всех источников данных в области проекта POC.

Совет

Рекомендуется пригласить эксперта, который поможет вам реализовать проект POC. В сообщество партнеров Майкрософт входят эксперты-консультанты, которые могут помочь вам оценить или внедрить Azure Synapse.

Определение сроков

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

Применение POC на практике

Рекомендуем выполнить проект POC с присущей любому производственному проекту дисциплиной и строгостью. Запустите проект в соответствии с планом и управляйте процессом запросов на изменение, чтобы предотвратить неконтролируемое увеличение области POC.

Вот некоторые примеры высокоуровневых задач:

  1. Создайте рабочую область Synapse, учетные записи хранения и ресурсы Azure, определенные в плане POC.
  2. Настройте сеть и систему безопасности в соответствии со своими требованиями.
  3. Предоставьте участникам команды POC соответствующие права доступа. Сведения о разрешениях на доступ к файлам непосредственно из Службы хранилища Azure см. в этой статье.
  4. Загрузите набор данных POC.
  5. Реализуйте и настройте тесты и (или) перенесите существующий код в скрипты и представления бессерверного пула SQL.
  6. Выполните тесты:
    • Многие тесты можно выполнять параллельно.
    • Запишите результаты в удобном и понятном формате.
  7. Отслеживайте состояние системы с точки зрения производительности и неполадок.
  8. Оцените результаты и представьте полученные данные.
  9. Обратитесь к заинтересованным лицам в технической области и бизнес-специалистам, чтобы спланировать следующий этап проекта. Следующим этапом может быть дальнейшая проверка POC или реализация в рабочей среде.

Интерпретация результатов POC

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

Следующие шаги