Osvědčené postupy FinOps pro databáze
Tento článek popisuje kolekci osvědčených postupů FinOps pro databázové služby. Poskytuje strategie pro optimalizaci nákladů, zlepšení efektivity a použití dotazů Azure Resource Graphu (ARG) k získání přehledu o vašich databázových prostředcích. Podle těchto postupů můžete zajistit, aby vaše databázové služby byly nákladově efektivní a v souladu s finančními cíli vaší organizace.
Cosmos DB
Následující části obsahují dotazy ARG pro Službu Cosmos DB. Tyto dotazy vám pomůžou získat přehled o účtech Cosmos DB a zajistit, aby byly nakonfigurované s příslušnými jednotkami žádostí (RU). Díky analýze vzorů využití a zpřístupnění doporučení z Azure Advisoru můžete optimalizovat jednotky RU pro nákladovou efektivitu.
Dotaz: Potvrzení jednotek žádostí Cosmos DB
Tento dotaz ARG analyzuje účty Cosmos DB ve vašem prostředí Azure, aby se zajistilo, že jsou nakonfigurované s příslušnými RU.
Popis
Tento dotaz identifikuje účty Cosmos DB s doporučeními pro optimalizaci jejich RU na základě vzorů využití. Nabízí doporučení od Azure Advisoru k úpravě RU pro nákladovou efektivitu.
Kategorie
Optimalizace
Dotaz
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
Dotaz: Kolekce Cosmos DB, pro které by bylo výhodné přepnout do jiného režimu propustnosti
Tento dotaz ARG identifikuje kolekce Cosmos DB ve vašem prostředí Azure, které by mohly těžit z přepnutí režimu propustnosti na základě doporučení Azure Advisoru.
Popis
Tento dotaz zobrazí kolekce Cosmos DB s doporučeními k přepnutí jejich režimu propustnosti (například z ručního škálování na automatické škálování nebo naopak) za účelem optimalizace výkonu a nákladů. Využívá doporučení Azure Advisoru ke zvýraznění potenciálních vylepšení.
Kategorie
Optimalizace
Benefity
- Optimalizace nákladů: Identifikuje kolekce Cosmos DB, které můžou ušetřit náklady přepnutím do vhodnějšího režimu propustnosti na základě vzorů využití a doporučení.
- Správa výkonu: Zajišťuje, aby kolekce Cosmos DB používaly optimální režim propustnosti, zvýšily výkon a zabránily nadměrnému zřizování nebo nedostatečnému zřizování.
Dotaz
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
Dotaz: Podrobnosti o režimu zálohování služby Cosmos DB
Tento dotaz ARG analyzuje účty Cosmos DB, které používají zásady pravidelného zálohování a nemají povolené více umístění zápisu.
Kategorie
Optimalizace
Dotaz
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
Databáze SQL
Následující části obsahují dotazy ARG pro databáze SQL. Tyto dotazy vám pomůžou identifikovat databáze SQL, které můžou být nečinné, staré, ve vývoji nebo používané pro účely testování. Analýzou těchto databází můžete optimalizovat náklady a zvýšit efektivitu vyřazením z provozu nebo opětovným použitím nevyužitých prostředků.
Dotaz: Nečinná databáze SQL
Tento dotaz ARG identifikuje databáze SQL s názvy, které můžou být staré, ve vývoji nebo používané pro účely testování.
Kategorie
Optimalizace
Dotaz
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
Dotaz: Analýza nepoužívaných elastických fondů
Tento dotaz ARG identifikuje potenciálně nečinné elastické fondy ve vašem prostředí Azure SQL analýzou počtu databází přidružených k jednotlivým elastickým fondům.
Kategorie
Optimalizace
Dotaz
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
Hledáte další?
Chyběli jsme něco? Chcete vidět něco přidaného? Rádi bychom se dozvěděli o jakýchkoli otázkách, problémech nebo řešeních, které byste zde rádi probrali. Vytvořte nový problém s podrobnostmi, které byste chtěli vidět v obou těchto tématech.
Související obsah
Související zdroje:
Související řešení: