Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описывается коллекция проверенных методик FinOps для служб баз данных. Он предоставляет стратегии оптимизации затрат, повышения эффективности и использования запросов Azure Resource Graph (ARG) для получения аналитических сведений о ресурсах базы данных. Следуя этим методикам, вы можете убедиться, что службы баз данных являются экономически эффективными и соответствуют финансовым целям вашей организации.
Cosmos DB
В следующих разделах приведены запросы ARG для Cosmos DB. Эти запросы помогают получить аналитические сведения об учетных записях Cosmos DB и убедиться, что они настроены с соответствующими Запросными Единицами (RU). Анализируя шаблоны использования и предоставленные рекомендации от Azure Advisor, вы можете оптимизировать RUs для повышения эффективности затрат.
Запрос на подтверждение единиц запросов в Cosmos DB
Этот запрос ARG анализирует учетные записи Cosmos DB в вашей среде Azure, чтобы убедиться, что они настроены с соответствующим количеством единиц запросов (RUs).
Описание
Этот запрос определяет учетные записи Cosmos DB с рекомендациями по оптимизации единиц запросов (RU) в зависимости от образца использования. Он отображает рекомендации от Azure Advisor по настройке единиц запросов (RUs) для повышения экономической эффективности.
Категория
Оптимизация
Запрос
advisorresources
| where type =~ 'microsoft.advisor/recommendations'
| where properties.impactedField == 'microsoft.documentdb/databaseaccounts'
and properties.recommendationTypeId == '8b993855-1b3f-4392-8860-6ed4f5afd8a7'
| order by id asc
| project
id, subscriptionId, resourceGroup,
CosmosDBAccountName = properties.extendedProperties.GlobalDatabaseAccountName,
DatabaseName = properties.extendedProperties.DatabaseName,
CollectionName = properties.extendedProperties.CollectionName,
EstimatedAnnualSavings = bin(toreal(properties.extendedProperties.annualSavingsAmount), 1),
SavingsCurrency = properties.extendedProperties.savingsCurrency
Запрос: коллекции Cosmos DB, которые могут воспользоваться переходом на другой режим пропускной способности
Этот запрос ARG определяет коллекции Cosmos DB в вашей среде Azure, которым рекомендуется переключить режим пропускной способности на основе рекомендаций Azure Advisor.
Описание
Этот запрос выводит коллекции Cosmos DB, которые имеют рекомендации по переключению режима пропускной способности (например, от ручного к автоматическому масштабированию или наоборот) для оптимизации затрат и производительности. В нем используются рекомендации Помощника по Azure для выделения потенциальных улучшений.
Категория
Оптимизация
Льготы
- Оптимизация затрат: определяет коллекции Cosmos DB, которые могут сэкономить затраты, переключившись на более подходящий режим пропускной способности на основе шаблонов использования и рекомендаций.
- Управление производительностью: Гарантирует, что коллекции Cosmos DB используют оптимальный режим использования пропускной способности, повышая производительность и избегая чрезмерного или недостаточного выделения ресурсов.
Запрос
advisorresources
| where type =~ 'microsoft.advisor/recommendations'
| where properties.impactedField == 'microsoft.documentdb/databaseaccounts'
and properties.recommendationTypeId in (
' cdf51428-a41b-4735-ba23-39f3b7cde20c',
' 6aa7a0df-192f-4dfa-bd61-f43db4843e7d'
)
| order by id asc
| project
id, subscriptionId, resourceGroup,
CosmosDBAccountName = properties.extendedProperties.GlobalDatabaseAccountName,
DatabaseName = properties.extendedProperties.DatabaseName,
CollectionName = properties.extendedProperties.CollectionName,
EstimatedAnnualSavings = bin(toreal(properties.extendedProperties.annualSavingsAmount), 1),
SavingsCurrency = properties.extendedProperties.savingsCurrency
Запрос: сведения о режиме резервного копирования Cosmos DB
Этот запрос ARG анализирует учетные записи Cosmos DB, которые используют политику периодического резервного копирования и не имеют включенной функции нескольких расположений записи.
Категория
Оптимизация
Запрос
resources
| where type == "microsoft.documentdb/databaseaccounts"
| where resourceGroup in ({ResourceGroup})
| where properties.backupPolicy.type == 'Periodic'
and tobool(properties.enableMultipleWriteLocations) == false
| extend BackupCopies = toreal(properties.backupPolicy.periodicModeProperties.backupRetentionIntervalInHours)
/ (toreal(properties.backupPolicy.periodicModeProperties.backupIntervalInMinutes) / real(60))
| where BackupCopies >= 10
or (BackupCopies > 2
and toint(properties.backupPolicy.periodicModeProperties.backupRetentionIntervalInHours) <= 168)
| order by id asc
| project id, CosmosDBAccountName=name, resourceGroup, subscriptionId, BackupCopies
Базы данных SQL
В следующих разделах приведены запросы ARG для База данных SQL. Эти запросы помогают определить базы данных SQL, которые могут быть бездействующими, старыми, в разработке или используемыми для тестирования. Анализируя эти базы данных, вы можете оптимизировать затраты и повысить эффективность путем вывода из эксплуатации или повторного использования неиспользуемых ресурсов.
Запрос: бездействие базы данных SQL
Этот запрос ARG определяет базы данных SQL с именами, указывающими, что они могут быть старыми, в разработке или используются для тестирования.
Категория
Оптимизация
Запрос
resources
| where type == "microsoft.sql/servers/databases"
| where name contains "old" or name contains "Dev"or name contains "test"
| where resourceGroup in ({ResourceGroup})
| extend SQLDBName = name, Type = sku.name, Tier = sku.tier, Location = location
| order by id asc
| project id, SQLDBName, Type, Tier, resourceGroup, Location, subscriptionId
Запрос: анализ неиспользуемых эластичных пулов
Этот запрос ARG определяет потенциально неактивные эластичные пулы в среде SQL Azure, анализируя количество баз данных, связанных с каждым эластичным пулом.
Категория
Оптимизация
Запрос
resources
| where type == "microsoft.sql/servers/elasticpools"
| extend elasticPoolId = tolower(tostring(id))
| extend elasticPoolName = name
| extend elasticPoolRG = resourceGroup
| extend skuName = tostring(sku.name)
| extend skuTier = tostring(sku.tier)
| extend skuCapacity = tostring(sku.capacity)
| join kind=leftouter (
resources
| where type == "microsoft.sql/servers/databases"
| extend elasticPoolId = tolower(tostring(properties.elasticPoolId))
) on elasticPoolId
| summarize databaseCount = countif(isnotempty(elasticPoolId1)) by
elasticPoolId,
elasticPoolName,
serverResourceGroup = resourceGroup,
name,
skuName,
skuTier,
skuCapacity,
elasticPoolRG
| where databaseCount == 0
| project elasticPoolId,
elasticPoolName,
databaseCount,
elasticPoolRG,
skuName,
skuTier,
skuCapacity
Оставить отзыв
Сообщите нам ваше мнение о нашей работе, оставив краткий отзыв. Эти отзывы используются для улучшения и расширения средств и ресурсов FinOps.
Если вы ищете что-то конкретное, проголосуйте за существующую или создайте новую идею. Поделитесь идеями с другими пользователями, чтобы получить больше голосов. Мы сосредоточимся на идеях с большинством голосов.
Связанный контент
Связанные ресурсы:
Связанные решения: