Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Important
Вы ищете решение для баз данных для крупномасштабных сценариев с соглашением об уровне обслуживания (SLA) с доступностью 99,999%, мгновенным автомасштабированием и автоматическим переключением на резервные ресурсы в нескольких регионах? Рассмотрим Azure Cosmos DB для NoSQL.
Azure Cosmos DB поддерживает многие интерфейсы API, такие как SQL, MongoDB, Cassandra, Gremlin и Таблицы. У каждого API есть собственный набор операций базы данных, начиная от простого считывания и записи точек и заканчивая сложными запросами. Каждая операция базы данных потребляет системные ресурсы. Потребление зависит от сложности операции.
Стоимость всех операций базы данных нормализуется с помощью Azure Cosmos DB и выражается в единицах запроса (ЕЗ). Расходы на запросы выражаются в единицах запроса, потребленных всеми операциями базы данных. Вы можете рассматривать RU как единицу производительности, которая абстрагирует системные ресурсы, такие как ЦП, IOPS и память, необходимые для выполнения операций базы данных, поддерживаемых Azure Cosmos DB. Независимо от того, какой API вы используете для взаимодействия с контейнером Azure Cosmos DB, затраты всегда измеряются в единицах запросов (RU). Независимо от типа операции базы данных (запись, поочередное чтение или запрос), затраты всегда измеряются в RU. Дополнительные сведения см. в статье Единицы запросов и рекомендации.
В этой статье представлены различные способы поиска потребления единиц запросов (ЕЗ) для любой операции, выполняемой в контейнере в Azure Cosmos DB для таблицы.
Использование пакета SDK .NET
Единственный SDK, который сейчас возвращает данные о расходах в RU для операций с таблицами, — это SDK для .NET Standard. Объект TableResult предоставляет RequestCharge свойство, заполненное пакетом SDK при использовании его для работы с таблицами в Azure Cosmos DB.
CloudTable tableReference = client.GetTableReference("table");
TableResult tableResult = tableReference.Execute(TableOperation.Insert(new DynamicTableEntity("partitionKey", "rowKey")));
if (tableResult.RequestCharge.HasValue) // would be false when using Azure Storage Tables
{
double requestCharge = tableResult.RequestCharge.Value;
}
Для получения дополнительной информации см. Краткое руководство: создание API для приложения Table с использованием SDK для .NET и Azure Cosmos DB.
Дальнейшие действия
Чтобы узнать об оптимизации потребления ресурсных единиц, смотрите следующие статьи:
- Пропускная способность и единицы запросов в Azure Cosmos DB
- Optimize provisioned throughput cost in Azure Cosmos DB (Оптимизация стоимости подготовленной пропускной способности в Azure Cosmos DB)
- Optimize query cost in Azure Cosmos DB (Оптимизация затрат на отправку запросов в Azure Cosmos DB)