Варианты для больших данных на платформе Microsoft SQL Server

Область применения: SQL Server 2019 (15.x) и более поздних версий

SQL Server 2019 Big Clusters — это надстройка для платформы SQL Server, которая позволяет развертывать масштабируемые кластеры контейнеров SQL Server, Spark и HDFS, работающих на базе Kubernetes. Эти компоненты работают параллельно, позволяя считывать, записывать и обрабатывать большие данные с помощью библиотек Transact-SQL или Spark, благодаря чему вы можете с легкостью объединять и анализировать важные реляционные данные с нереляционными объемными большими данными. Кластеры больших данных также позволяют виртуализировать данные с помощью PolyBase, чтобы можно было запрашивать данные из внешних систем SQL Server, Oracle, Teradata, MongoDB и других источников данных, использующих внешние таблицы. Надстройка Microsoft SQL Server 2019 Big Clusters обеспечивает высокий уровень доступности для основного экземпляра SQL Server и всех баз данных с помощью технологии групп доступности Always On.

Надстройка Кластеры больших данных SQL Server 2019 запускается локально и в облаке с помощью платформы Kubernetes для любого стандартного развертывания Kubernetes. Кроме того, надстройка Кластеры больших данных SQL Server 2019 интегрируется с Active Directory и обеспечивает управление доступом на основе ролей для обеспечения требований предприятия в области обеспечения безопасности и соблюдения требований.

Прекращение поддержки надстройки Кластеры больших данных SQL Server 2019

28 февраля 2025 г. мы отставим от SQL Server 2019 Кластеры больших данных. Все существующие пользователи SQL Server 2019 с Software Assurance будут полностью поддерживаться на платформе, а программное обеспечение продолжит обслуживаться с помощью накопительных обновлений SQL Server до этого момента. Подробнее см. в записи блога с объявлением.

Изменения в поддержке PolyBase в SQL Server

Прекращение поддержки надстройки Кластеры больших данных SQL Server 2019 затронет ряд функций, связанных с запросами горизонтального масштабирования.

Функция PolyBase "Группа горизонтального увеличения масштаба" в Microsoft SQL Server больше не используется. Функции группы горизонтального масштабирования удаляются из продукта в SQL Server 2022 (16.x). В рыночных версиях SQL Server 2019, SQL Server 2017 и SQL Server 2016 по-прежнему поддерживают функциональность до конца жизни этих продуктов. Виртуализация данных PolyBase будет по-прежнему полностью поддерживаться как функция вертикального увеличения масштаба в SQL Server.

Облачные источники данных (CDP) и Hortonworks (HDP) Hadoop также будут прекращены для всех версий SQL Server на рынке и не включены в SQL Server 2022. Поддержка внешних источников данных ограничена версиями продуктов в основной поддержке соответствующим поставщиком. Рекомендуется использовать новую интеграцию хранилища объектов, доступную в SQL Server 2022 (16.x).

В SQL Server 2022 (16.x) и более поздних версиях пользователи должны настроить внешние источники данных для использования новых соединителей при подключении к служба хранилища Azure. В следующей таблице приводится сводка изменений:

Внешний источник данных С дт. По
Хранилище BLOB-объектов Azure wasb[s] abs
ADLS 2-го поколения abfs[s] adls

Примечание.

Хранилище BLOB-объектов Azure (abs) потребует использования подписанного URL-адреса (SAS) для секрета в учетных данных базы данных. В SQL Server 2019 и более ранних wasb[s] версиях соединитель использовал ключ учетной записи хранения с учетными данными, указанными в области базы данных при проверке подлинности в служба хранилища Azure учетной записи.

Общие сведения об архитектуре Кластеры больших данных для параметров замены и миграции

Чтобы создать решение на замену для хранилища больших данных и системы обработки, важно понимать, какие возможности предоставляет Кластеры больших данных SQL Server 2019, так как понимание архитектуры может помочь принять продуманное решение. Архитектура кластера больших данных выглядит следующим образом:

Схема, на которую показан обзор архитектуры SQL Server 2019 Кластеры больших данных.

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

Компонент Преимущества
Kubernetes Оркестратор с открытым кодом для развертывания приложений в большом масштабе на основе контейнеров и управления такими приложениями. Предоставляет декларативный метод создания и контроля устойчивости, избыточности и переносимости для всей среды с эластичным масштабированием.
Контроллер Кластеры больших данных Обеспечивает управление кластером и его безопасностью. Он включает службу контроля, хранилище конфигурации, а также другие службы уровня кластера, такие как Kibana, Grafana и Elastic Search.
Пул вычислений Предоставляет кластеру вычислительные ресурсы. Он содержит узлы с pod SQL Server на Linux. Pod в вычислительном пуле подразделяются на вычислительные экземпляры SQL для решения конкретных задач обработки. Этот компонент также обеспечивает виртуализацию данных с помощью PolyBase для запроса внешних источников данных без перемещения или копирования данных.
Пул данных Обеспечивает сохраняемость данных для кластера. Пул данных состоит из одного или нескольких pod с SQL Server на Linux. Он используется для приема данных из SQL-запросов или заданий Spark.
Пул носителей Пул носителей формируется из pod пула носителей, состоящих из SQL Server на Linux, Spark и HDFS. Все узлы хранилища в кластере больших данных входят в кластер HDFS.
Пул приложений Обеспечивает развертывание приложений в кластерах больших данных, предоставляя интерфейсы для создания, администрирования и запуска приложений.

Дополнительные сведения о б этих функциях см. в разделе Общие сведения о Кластерах больших данных SQL Server 2019.

Варианты замены функциональных возможностей для больших данных и SQL Server

Функция обработки операционных данных, на базе SQL Server в Кластерах больших данных, может быть заменена локальной средой SQL Server в гибридной конфигурации или с помощью платформы Microsoft Azure. Microsoft Azure предоставляет возможность выбора полностью управляемых реляционных баз данных, баз данных NoSQL и выполняющихся в памяти баз данных (как с частными ядрами, так и с ядрами с открытым кодом), что позволяет удовлетворить потребности разработчиков современных приложений. Управление инфраструктурой, включая масштабируемость, доступность и безопасность, осуществляется автоматически, что экономит время и деньги, а также позволяет сосредоточиться на создании приложений. При этом базы данных под управлением Azure упрощают работу, отображая полезные сведения о производительности благодаря внедренной аналитике, масштабированию без ограничений и управлению угрозами безопасности. Дополнительные сведения см. на странице Базы данных Azure.

Следующая точка принятия решений — это расположение вычислительных ресурсов и хранилища данных для аналитики. На выбор предлагается два варианта архитектуры: облачные и гибридные развертывания. Большинство аналитических рабочих нагрузок можно перенести на платформу Microsoft Azure. Порождаемые облаком данные (создаваемые в облачных приложениях) — основной кандидат для таких технологий. При этом службы перемещения данных также могут быстро и безопасно переносить большие объемы локальные данные. Дополнительные сведения о параметрах перемещения данных см. в статье Решения для передачи данных.

В Microsoft Azure есть системы и сертификаты, позволяющие защитить данные и обработку данных в различных средствах. Дополнительные сведения об этих сертификатах см. в центре управления безопасностью.

Примечание.

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

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

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

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

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

Дополнительные сведения о создании масштабируемых архитектур см. в статье Создание масштабируемой системы для больших объемов данных.

В облаке

Azure SQL с Synapse

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

Microsoft Azure Synapse — это корпоративная служба аналитики, которая ускоряет извлечение аналитических сведений в разных хранилищах данных и системах больших данных, используя распределенную обработку конструкций данных. Azure Synapse сочетает в себе технологии SQL, используемые в корпоративных хранилищах данных, технологии Spark, используемые при работе с большими данными, конвейеры для интеграции данных и их извлечения, преобразования и загрузки, а также возможности глубокой интеграции с другими службами Azure, такими как Power BI, Cosmos DB и Машинное обучение Azure.

Используйте Microsoft Azure Synapse в качестве замены Кластеров больших данных SQL Server 2019, если требуется:

  • Используйте бессерверные и выделенные модели ресурсов. Для прогнозируемой производительности и затрат можно создавать выделенные пулы SQL, чтобы резервировать вычислительные мощности для данных, хранящихся в таблицах SQL.
  • Требуется обработка незапланированных или "пакетных" рабочих нагрузок, постоянный доступ и бессерверная конечная точка SQL.
  • Используются встроенные возможности потоковой передачи для передачи данных из облачных источников данных в таблицы SQL.
  • Требуется объединить возможности искусственного интеллекта с SQL с помощью моделей машинного обучения для оценки данных с использованием функции T-SQL PREDICT.
  • Используйте модели машинного обучения с алгоритмами SparkML и интеграцию Машинное обучение Azure для Apache Spark 2.4, поддерживаемых для Linux Foundation Delta Lake.
  • Используется упрощенная модель ресурсов, которая освобождает вас от необходимости заниматься управлением кластерами.
  • Выполняется обработка данных, требующая быстрого запуска Spark и агрессивного автоматического масштабирования.
  • Обработка данных с помощью .NET для Spark, позволяющая использовать знание языка C# и существующий код .NET в приложении Spark.
  • Выполняется работа с таблицами, созданными на основе файлов в озере данных, которые прозрачно потребляются Spark или Hive.
  • Используется SQL со Spark для непосредственного изучения и анализа файлов Parquet, CSV, TSV и JSON, хранящихся в озере данных.
  • Включена быстрая масштабируемая передача данных между базами данных SQL и Spark.
  • Осуществляется прием данных из более чем 90 источников.
  • Включено извлечение, преобразование и загрузка без кода с помощью действий потока данных.
  • Осуществляется оркестрация записных книжек, заданий Spark, хранимых процедур, скриптов SQL и т. д.
  • Осуществляется мониторинг ресурсов, использования и пользователей в SQL и Spark.
  • Используется управлением доступом на основе ролей для упрощения доступа к ресурсам аналитики.
  • Требуется написать код SQL или Spark и интегрировать его с корпоративными процессами CI/CD.

Архитектура Microsoft Azure Synapse выглядит следующим образом:

Схема, демонстрирующая архитектуру Azure Synapse.

Дополнительную информацию о Microsoft Azure Synapse см. в статье Что такое Azure Synapse Analytics?.

Azure SQL и Машинное обучение Azure

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

Машинное обучение Azure — это облачная служба, которую можно использовать для машинного обучения любого вида: классического и глубокого, а также контролируемого и неконтролируемого. Если вы предпочитаете писать код Python или R, используя пакет SDK, или варианты без кода или с минимальным созданием кода, например в студии, вы можете создавать, изучать и отслеживать модели машинного обучения и глубокого обучения в рабочей области Машинного обучения Azure. Машинное обучение Azure позволяет начать обучение на локальном компьютере, а затем перенести его в облако. Служба также взаимодействует с популярными средствами для глубокого обучения с подкреплением с открытым кодом, такими как PyTorch, TensorFlow, scikit-learn и Ray RLlib.

Используйте Машинное обучение Microsoft Azure в качестве замены Кластеров больших данных SQL Server 2019, если требуется:

  • Веб-среда на базе конструктора Машинного обучения: перетащите модули, чтобы создать эксперименты, а затем разверните конвейеры в среде малокодовой разработки.
  • Записные книжки Jupyter: используйте наши примеры записных книжек или создайте собственные записные книжки, чтобы использовать наш пакет SDK для примеров Python для машинного обучения.
  • Скрипты R или записные книжки, в которых используется пакет SDK для R для написания собственного кода, или модули R в конструкторе.
  • Акселератор решений для многих моделей, основанный на службе Машинного обучения Azure, который позволяет обучать, использовать и обслуживать сотни и даже тысячи моделей машинного обучения.
  • Расширение Машинного обучения для Visual Studio Code, которое предоставляет полнофункциональную среду разработки для создания проектов машинного обучения и управления ими.
  • Интерфейс командной строки (CLI) Машинного обучения. Машинное обучение Azure содержит расширение, которое предоставляет команды для управления ресурсами Машинного обучения Azure из командной строки.
  • Интеграция с платформами с открытым кодом (PyTorch, TensorFlow, scikit-learn и многими другими) для обучения, развертывания и управления всеми этапами машинного обучения.
  • Обучение с подкреплением с помощью Ray RLlib.
  • MLflow для мониторинга метрик и развертывания моделей или Kubeflow для создания конвейеров сквозных рабочих процессов.

Архитектура развертывания Машинного обучения Microsoft Azure выглядит следующим образом:

Схема с Машинное обучение Azure архитектурой рабочей области и ее компонентами.

Дополнительные сведения о Машинном обучении Microsoft Azure см. в статье Машинное обучение Azure.

Azure SQL из Databricks

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

Azure Databricks — это платформа аналитики данных, оптимизированная для платформы облачных служб Microsoft Azure. Azure Databricks предлагает две среды для разработки приложений с интенсивными данными: Аналитика SQL Azure Databricks и рабочая область Azure Databricks.

Аналитика SQL в Azure Databricks предоставляет простую в использовании платформу для аналитиков, которым нужно выполнять SQL-запросы к озеру данных, создавать разные типы визуализации для просмотра результатов запросов в разных контекстах, а также создавать и совместно использовать панели мониторинга.

Рабочая область Azure Databricks предоставляет интерактивную рабочую область, которая предоставляет возможности совместной работы специалистов по инжинирингу данных, специалистов по обработке и анализу данных и специалистов по машинному обучению. В конвейере больших данных эти данные (необработанные или структурированные) принимаются в Azure через Фабрику данных Azure в виде пакетов или передаются в рамках потоковой передачи практически в реальном времени с помощи Apache Kafka, концентраторов событий или Центра Интернета вещей. Эти данные попадают в озеро данных для долгосрочного хранения в хранилище BLOB-объектов Azure или Azure Data Lake Storage. В рамках рабочего процесса аналитики вы можете использовать Azure Databricks для считывания данных из множества источников данных и получения полезных сведений с помощью Spark.

Используйте Microsoft Azure Databricks в качестве замены Кластеров больших данных SQL Server 2019, если требуется:

  • Полностью управляемые кластеры Spark со Spark SQL и элементами DataFrame.
  • Потоковая передача для обработки и анализа данных в режиме реального времени для аналитических и интерактивных приложений, интеграции с HDFS, Flume и Kafka.
  • Доступ к библиотеке MLlib, состоящей из распространенных алгоритмов обучения и служебных программ, включая классификацию, регрессию, кластеризацию, совместную фильтрацию, уменьшение размерности и примитивы базовой оптимизации.
  • Документация хода выполнения в записных книжках в R, Python, Scala или SQL.
  • Визуализация данных за несколько шагов с помощью таких привычных средств, как Matplotlib, ggplot или d3.
  • Интерактивные панели мониторинга для создания динамических отчетов.
  • GraphX для графов и их вычисления для широкой области вариантов использования, начиная с когнитивной аналитики и заканчивая исследованием данных.
  • Создание кластера за считанные секунды с помощью динамических кластеров с авто масштабированием и их совместное использование в разных командах.
  • Программный доступ к кластеру с помощью интерфейсов REST API.
  • Мгновенный доступ к последним функциям Apache Spark с каждым выпуском.
  • API ядра Spark, включая поддержку для R, SQL, Python, Scala и Java.
  • Интерактивная рабочая область для исследования и визуализации.
  • Полностью управляемые конечные точки SQL в облаке.
  • Запросы SQL, выполняемые на полностью управляемых конечных точках SQL, размер которых соответствует требованиям к задержке запросов и числу одновременно работающих пользователей.
  • Интеграция с идентификатором Microsoft Entra (ранее — Azure Active Directory).
  • Доступ на основе ролей для точного определения разрешений пользователя для записных книжек, кластеров, заданий и данных.
  • Соглашения об уровне обслуживания корпоративного уровня.
  • Панели мониторинга для обмена аналитическими сведениями, объединяющие визуализации и текст для обмена аналитическими сведениями, полученными из запросов.
  • Оповещения, которые помогают с отслеживанием и интеграцией, а также уведомления о том, что поле, возвращаемое запросом, соответствует пороговому значению. Используйте оповещения, чтобы отслеживать бизнес-операции, или интегрируйте их с другими инструментами для обслуживания таких процессов, как регистрация пользователей или обработка запросов в службу поддержки.
  • Корпоративная безопасность, включая интеграцию идентификатора Microsoft Entra, элементы управления на основе ролей и соглашения об уровне обслуживания, которые защищают данные и бизнес.
  • Интеграция с такими службами, базами данных и службами хранения Azure, как Synapse Analytics, Cosmos DB, Data Lake Store и Хранилище BLOB-объектов.
  • Интеграция с Power BI и другими средствами бизнес-аналитики, такими как Tableau Software.

Архитектура развертывания Microsoft Azure Databricks выглядит следующим образом:

Схема: архитектура рабочей области Azure Databricks и ее компонентов и потоков данных от людей к приложениям.

Дополнительные сведения о Microsoft Azure Databricks см. в статье Что такое Databricks для обработки, анализа и инжиниринга данных.

Гибридный трафик

Зеркальная база данных Fabric

В качестве интерфейса репликации данных зеркальное отображение базы данных в Fabric (предварительная версия) — это решение с низкой стоимостью и низкой задержкой для передачи данных из различных систем в одну платформу аналитики. Вы можете непрерывно реплицировать существующий объект данных непосредственно в OneLake Fabric, включая данные из База данных SQL Azure, Snowflake и Cosmos DB.

Используя самые актуальные данные в запрашиваемом формате в OneLake, теперь можно использовать все различные службы в Fabric, такие как выполнение аналитики с помощью Spark, выполнение записных книжек, проектирование данных, визуализация с помощью отчетов Power BI и многое другое.

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

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

Дополнительные сведения см. в разделе:

SQL Server 2022 (16.x) содержит новую функцию, которая позволяет подключаться между таблицами SQL Server и платформой Microsoft Azure Synapse, Azure Synapse Link для SQL. Azure Synapse Link для SQL Server 2022 (16.x) предоставляет автоматические каналы изменений, которые фиксируют изменения в SQL Server и загружают их в Azure Synapse Analytics. Это решение обеспечивает анализ практически в реальном времени и гибридную транзакционную и аналитическую обработку с минимальным влиянием на операционные системы. После того как данные поступают в Synapse, их можно объединить с множеством различных источников данных независимо от их размера, масштаба или формата, а также запустить для них эффективные аналитические средства, используя Машинное обучение Azure, Spark или Power BI. Так как веб-каналы автоматических изменений передают только новые или разные возможности, передача данных выполняется гораздо быстрее, и теперь позволяет практически в реальном времени получать аналитические сведения с минимальным воздействием на производительность исходной базы данных в SQL Server 2022 (16.x).

Для операционных и даже многих аналитических рабочих нагрузок SQL Server может обрабатывать больше объемы баз данных. Дополнительные сведения о требованиях к максимальной емкости для SQL Server см. в статье Ограничения вычислительной емкости для разных выпусков SQL Server Использование нескольких экземпляров SQL Server на отдельных компьютерах с секционированными запросами T-SQL позволяет горизонтально увеличивать масштаб среды для приложений.

Использование PolyBase позволяет вашему экземпляру SQL Server запрашивать данные с помощью T-SQL непосредственно из SQL Server, Oracle, Teradata, MongoDB и Cosmos DB без необходимости устанавливать клиентское программное обеспечение для подключения. Вы также можете использовать универсальный соединитель ODBC в экземпляре на основе Microsoft Windows для подключения к дополнительным поставщикам с помощью сторонних драйверов ODBC. PolyBase позволяет с помощью запросов T-SQL объединить данные из внешних источников с данными из реляционных таблиц в экземпляре SQL Server. Это позволяет сохранить данные в исходном расположении и формате. Вы можете виртуализировать внешние данные в экземпляре и запрашивать их на месте так же, как любую другую таблицу в SQL Server. SQL Server 2022 (16.x) также позволяет выполнять нерегламентированные запросы и резервное копирование и восстановление через Object-Store (с помощью аппаратного или программного хранилища S3-API).

Существует две общие эталонные архитектуры. Одна из них предполагает использование SQL Server на изолированном сервере для структурированных запросов данных и в отдельно установленной нереляционной системе с горизонтальным увеличением масштаба (например, Apache Hadoop или Apache Spark) для локальной связи с Synapse. Другой вариант — использовать набор контейнеров в кластере Kubernetes со всеми компонентами для вашего решения.

Microsoft SQL Server в Windows, Apache Spark и локальном хранилище объектов

Вы можете установить SQL Server в Windows или Linux и увеличить масштаб архитектуры оборудования, используя возможность запроса хранилища объектов SQL Server 2022 (16.x) и функцию PolyBase, чтобы включить запросы ко всем данным в вашей системе.

Установка и настройка платформы с горизонтальным увеличением масштаба, например Apache Hadoop или Apache Spark, позволяет выполнять запросы нереляционных данных в большом масштабе. Использование центрального набора систем Object-Storage, поддерживающих S3-API, позволяет SQL Server 2022 (16.x) и Spark получать доступ к одному набору данных во всех системах.

Соединитель Microsoft Apache Spark для SQL Server и Azure SQL также имеет возможность запрашивать данные непосредственно из SQL Server с помощью заданий Spark. Дополнительные сведения о соединителе Apache Spark для SQL Server и Azure SQL см. в статье Соединитель Apache Spark: SQL Server и Azure SQL.

Для развертывания можно также использовать систему оркестрации контейнеров Kubernetes. Это позволит использовать декларативную архитектуру, которая может работать в локальной среде или в любом облаке, поддерживающем Kubernetes или платформу Red Hat OpenShift. Дополнительные сведения о развертывании SQL Server в среде Kubernetes см. в статье "Развертывание кластера контейнеров SQL Server в Azure " или просмотр развертывания SQL Server 2019 в Kubernetes.

Используйте SQL Server и Hadoop/Spark локально в качестве замены Кластера больших данных SQL Server 2019, если требуется:

  • Требуется локальное хранение всего решения.
  • Для всех частей решения используется выделенное оборудование.
  • Нужен доступ к реляционным и нереляционным данным из одной и той же архитектуры в обоих направлениях.
  • Требуется совместное использование одного набора нереляционных данных в SQL Server и нереляционной системе с горизонтальным увеличением масштаба.

Выполнение миграции

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

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

Если планируется перенос текущей системы с минимальным изменением кода, при планировании следует уделить основное внимание совместимости языков.

Перенос кода

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

При переносе кода необходимо учитывать два основных вектора:

  1. Источники и приемники
  2. Миграция функций

Источники и приемники

Первая задача при переносе кода заключается в определении методов подключения к источникам данных, строк или интерфейсов API, используемых кодом для доступа к импортируемым данным, пути к ним и конечному месту назначения. Задокументируйте эти источники и создайте карту расположений новой архитектуры.

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

Миграция функций

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

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

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

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

Параметры миграции данных

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

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

Перенос текущих данных из Кластера больших данных SQL Server 2019 в другую систему в значительной степени зависит от двух факторов: расположения текущих данных и их места назначения: локально или в облаке.

Миграция локальных данных

Для миграции между локальными средами можно перенести данные SQL Server с помощью стратегии резервного копирования и восстановления. Кроме того, можно настроить репликацию для перемещения некоторых или всех реляционных данных. Для копирования данных из SQL Server в другое расположение можно также использовать SQL Server Integration Services. Дополнительные сведения о перемещении данных с помощью SQL Server Integration Services см. в статье SQL Server Integration Services.

Для данных HDFS в текущей среде кластера больших данных SQL Server стандартный подход заключается в подключении данных к автономному кластеру Spark, а также использовать процесс хранилища объектов для перемещения данных, чтобы экземпляр SQL Server 2022 (16.x) смог получить доступ к нему или оставить его как есть и продолжать обрабатывать их с помощью заданий Spark.

Миграция данных в облаке

Для данных, расположенных в облачном хранилище или локально, можно использовать Фабрику данных Azure, которая содержит более 90 соединителей для полного конвейера передачи, с возможностями планирования, мониторинга, оповещения и другими службами. Дополнительные сведения о Фабрике данных Azure см. в статье Что такое фабрика данных Azure?.

Чтобы быстро и безопасно переместить большие объемы данных из локальной среды данных в Microsoft Azure, можно воспользоваться службой "Импорт и экспорт Azure". Служба "Импорт и экспорт Azure" используется для безопасного импорта больших объемов данных в Хранилище BLOB-объектов Azure и службу "Файлы Azure" путем отправки дисков в центр обработки данных Azure. Кроме того, эту службу можно использовать, чтобы переносить данные из хранилища BLOB-объектов Azure на диски и передавать на локальные сайты. Данные с одного или нескольких дисков можно импортировать в хранилище BLOB-объектов Azure или службу файлов Azure. Использование этой службы может оказаться самым быстрым путем для очень больших объемов данных.

Если вам нужно передать данные с помощью дисков, предоставленных корпорацией Майкрософт, для импорта данных в Azure можно использовать диск Azure Data Box. Дополнительные сведения см. в статье Что такое служба "Импорт и экспорт Azure"?.

Дополнительные сведения об этих вариантах и связанных с ними решениях см. в разделе Использование Data Lake Storage 1-го поколения для обеспечения соответствия требованиям больших данных.