Поделиться через


Azure Cosmos DB как хранилище пар "ключ-значение". Общие сведения о стоимости

ОБЛАСТЬ ПРИМЕНЕНИЯ: NoSQL

Azure Cosmos DB — это глобально распределенная многомодельная служба базы данных, предназначенная для быстрого создания высокодоступных крупномасштабных приложений. По умолчанию Azure Cosmos DB автоматически и эффективно индексирует все принимаемые данные. Это гарантирует быстрое и согласованное выполнение запросов SQL и JavaScript по таким данным.

В этой статье рассматриваются затраты на использование среды Azure Cosmos DB для простых операций записи и чтения, если она используется как хранилище пар "ключ —значение". К операциям записи относятся операции вставки, замены, удаления и операции upsert с документами. Помимо соглашения об уровне обслуживания с уровнем доступности 99,999 % для всех учетных записей с поддержкой нескольких регионов, Azure Cosmos DB гарантирует задержку < 10 мс для операций чтения и индексированной записи на уровне 99-го процентиля.

Для чего используются единицы запроса (ЕЗ)

Производительность Azure Cosmos DB зависит от объема подготовленных единиц запроса (ЕЗ). Пропускная способность подготавливается с точностью до секунд и приобретается в ЕЗ/с (не следует путать с почасовой оплатой). ЕЗ можно рассматривать как абстрактную логическую валюту, которая упрощает подготовку требуемой пропускной способности для приложения. Нашим клиентам не приходится отдельно оценивать пропускную способность для операций чтения и записи. Одновалютная модель ЕЗ повышает эффективность, позволяя разделять подготовленную емкость между операциями чтения и записи. Эта модель подготовленной емкости позволяет службе обеспечивать предсказуемую и согласованную пропускную способность, гарантированную низкую задержку и высокий уровень доступности. Наконец, даже при использовании модели ЕЗ для обозначения пропускной способности каждая подготовленная ЕЗ соответствует определенному объему ресурсов (память, ядра, ЦП и операции ввода-вывода).

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

В приведенной ниже таблице показано число ЕЗ, необходимое для выполнения операций чтения и записи для элементов данных размером 1 КБ и 100 КБ при отключенном автоматическом индексировании (которое включено по умолчанию).

Размер элемента 1 операция чтения Запись
1 КБ 1 ЕЗ 5 ЕЗ
100 КБ 10 ЕЗ 50 ЕЗ

Стоимость операций чтения и записи

Подготовленные 1000 ЕЗ/с эквивалентны 3,6 млн ЕЗ/ч и будут стоить 0,08 долл. США в час (в США и Европе). Это означает, что для элементов данных размером 1 КБ вы сможете с этой подготовленной пропускной способностью выполнить 3,6 млн операций чтения или 0,72 млн операций записи (3,6 млн ЕЗ / 5). Если нормализовать затраты до миллиона операций чтения и записи, то они составят 0,022 долл. США за 1 млн операций чтения (0,08 долл. США / 3,6) и 0,111 долл. США за 1 млн операций записи (0,08 долл. США / 0,72). Стоимость 1 млн операций становится минимальной, как показано в следующей таблице.

Размер элемента Стоимость 1 000 000 операций чтения Стоимость 1 000 000 операций записи
1 КБ 0,022 долл. США 0,111 долл. США
100 КБ 0,222 долл. США 1,111 долл. США

Большинство базовых хранилищ BLOB-объектов или объектов, обойдутся в 0,40 долл. США за 1 миллион транзакций чтения и 5 долл. США за 1 миллион транзакций записи. При оптимальном использовании Azure Cosmos DB может быть до 98 % дешевле, чем эти другие решения (для транзакций в 1 КБ).

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