Руководство по архитектуре данных в Azure

В этом руководстве представлен структурированный подход к разработке решений для обработки данных в Microsoft Azure. Подход основан на проверенных методах, которые мы узнали от клиентов.

Примечание

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

Введение

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

Структура руководства

В этом руководстве рассматриваются две основные категории решений для работы с данными — рабочие нагрузки традиционных реляционных СУБД и решения для больших данных.

Рабочие нагрузки традиционных реляционных СУБД. Эти рабочие нагрузки включают обработку транзакций в сети (OLTP) и интерактивную аналитическую обработку (OLAP). Как правило, данные в системах OLTP — это реляционные данные с предварительно определенной схемой, а также ряд ограничений для поддержания целостности данных. Часто данные из нескольких источников в организации могут быть объединены в хранилище данных с помощью процесса ETL для перемещения и преобразования исходных данных.

Traditional RDBMS workloads

Решения для обработки больших данных. Архитектура больших данных предназначена для обработки приема, обработки и анализа данных, слишком больших или сложных для традиционных систем баз данных. Данные могут обрабатываться в пакете или в режиме реального времени. Решения для больших данных обычно включают большое количество нереляционных данных, таких как данные "ключ —значение", документы JSON или данные временных рядов. Часто традиционные реляционные СУБД не подходят для хранения данных этого типа. Термин NoSQL обозначает семейство баз данных, которые предназначены для хранения нереляционных данных. Этот термин не является точным, так как многие нереляционные хранилища данных поддерживают SQL-совместимые запросы. Термин NoSQL означает "не только SQL".

Big data solutions

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

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

Дальнейшие действия