Skip to content

Latest commit

 

History

History
50 lines (36 loc) · 2.21 KB

dx-024.md

File metadata and controls

50 lines (36 loc) · 2.21 KB

DX-024: Indexing cost risk

Catalog | Access and sign-in

Data and scope

The all-container inventory pass evaluates NoSQL containers independently of throughput offers, including dedicated, shared-database and serverless containers. It reads the latest non-null IndexUsage and DataUsage samples in a six-hour window at five-minute grain, scoped by database and collection. ARM supplies indexing mode and excluded paths. No Log Analytics is required.

Detection and severity

Configuration Default
low_ratio 0.3
medium_ratio 1.0

Divide index bytes by data bytes. A ratio strictly above 0.3 is Low; strictly above 1.0 is Medium. Exactly 0.3 is not detected; exactly 1.0 is Low. There is no High band. An explicit indexing mode of none is not detected.

Missing, negative or non-finite sizes, or zero data size, are insufficient data. A real zero index size with positive data is a valid zero ratio. User-authored exclusions do not suppress a finding: their count is evidence. /_etag/? and /"_etag"/? are the two default exclusions excluded from that count.

Evidence and limits

With 100 GiB of data, 30 GiB of index is not detected, 31 and 100 GiB are Low, and 101 GiB is Medium. A null newest bucket uses the latest populated sample rather than converting null to zero.

This is a storage-footprint warning, not proof of unused indexed paths, query-scan inefficiency, vector usage, or a measured write-RU saving. Composite, spatial and vector indexes may legitimately be large. Independently selected latest samples need not share a timestamp. Failed reads are errors.

Fresh live acceptance of the container-level CollectionName dimension on IndexUsage remains pending; offline behavior and a threshold label do not close that limitation.

Remediation and references

Use index-exclude-unused to review actual filter/sort requirements before changing the indexing policy. Do not exclude paths solely because the ratio is large. CODA does not change indexes.

Detector.