Выбор решения для хранения в Azure

Завершено

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

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

Каталог продукции

Классификация данных: частично структурированные, так как нужно расширить или изменить схему для новых продуктов.

Операции:

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

Задержка и пропускная способность. высокая пропускная способность и низкая задержка.

Поддержка транзакций. Так как данные о продукте привязаны к оплате и инвентаризации, требуется поддержка транзакций.

Azure Cosmos DB поддерживает частично структурированные данные (NoSQL). В Azure Cosmos DB также реализована поддержка добавления новых полей, например для сведений о поддержке Bluetooth или любых других полей, которые вам понадобятся в будущем.

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

Azure Cosmos DB также поддерживает ACID, поэтому все транзакции будут завершаться в полном соответствии с этими строгими требованиями. Соединитель OLTP доступен для Cosmos Azure DB.

Кроме того, вы также сможете использовать Azure Cosmos DB для простой и удобной репликации данных в любой точке мира. Таким образом, если пользователи вашего веб-сайта электронной коммерции находятся в основном в США, Франции и Великобритании, можно реплицировать свои данные в ЦОД в этих регионах. Задержка будет уменьшена, так как вы физически переместили данные ближе к пользователям.

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

Почему не подходят другие службы Azure?

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

Другие службы Azure, такие как хранилище таблиц Azure, Apache HBase в Azure HDInsight и Кэш Azure для Redis, также могут хранить данные NoSQL. В этом сценарии пользователи создают запросы по нескольким полям, поэтому Azure Cosmos DB будет лучшим вариантом. Azure Cosmos DB индексирует каждое поле по умолчанию, в то время как остальные службы Azure ограничены в плане объема индексируемых данных. Отправка запросов к неиндексированных полям приводит к снижению производительности.

Фотографии и видео

Классификация данных: неструктурированные.

Операции:

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

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

Поддержка транзакций: необязательно.

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

В Хранилище BLOB-объектов Azure можно также перемещать изображения с горячего уровня хранилища на холодный уровень хранилища или архивный уровень хранилища, чтобы сократить затраты и сосредоточиться на наиболее часто просматриваемых изображениях и видео.

Почему не подходят другие службы Azure?

Вы можете передать изображения в Службу приложений Azure, чтобы они обслуживались на том же сервере, где выполняется приложение. Такое решение подойдет, если у вас немного изображений. Но если у вас много файлов и глобальной аудитории, вы получите более высокую производительность с помощью Хранилище BLOB-объектов Azure с Azure сеть доставки содержимого.

Данные о бизнесе

Классификация данных: структурированные.

Операции: сложные аналитические запросы к нескольким базам данных с доступом только для чтения.

Задержка и пропускная способность: некоторая задержка при получении результатов вполне допустима с учетом сложного характера запросов.

Поддержка транзакций: необязательно.

Данные о бизнесе чаще всего нужны бизнес-аналитикам, которые из всех языков запросов обычно лучше всего знакомы с языком SQL. Базу данных SQL Azure можно использовать в качестве самостоятельного решения, но вместе со службами Azure Analysis Services она позволяет специалистам по анализу данных создать семантическую модель на основе данных в базе данных SQL Azure. Они могут использовать модель совместно с бизнес-пользователями — достаточно подключиться к модели с помощью любого инструмента бизнес-аналитики, чтобы моментально изучить данные и получить аналитические сведения по ним. Azure Analysis Services поддерживает OLAP.

Почему не подходят другие службы Azure?

Azure Synapse Analytics поддерживает решения OLAP и запросы SQL, но бизнес-аналитики должны выполнять межбазовые запросы, которые Azure Synapse Analytics не поддерживают.

Azure Stream Analytics отлично подходит для анализа данных и преобразования их в ценные аналитические сведения. Но эта служба используется, в первую очередь, при передаче потоковых данных в реальном времени. В этом сценарии бизнес-аналитики будут изучать данные только за прошлые периоды.