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

Завершено

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

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

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

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

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

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

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

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

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 отлично подходит для анализа данных и преобразования их в ценные аналитические сведения. Но эта служба используется, в первую очередь, при передаче потоковых данных в реальном времени. В этом сценарии бизнес-аналитики будут изучать данные только за прошлые периоды.