A unified data governance solution that helps manage, protect, and discover data across your organization
Hi @Mofei Zhuang
Thanks for your questions.
- Write limits and HTTP 408 errors
There isn't a publicly documented per-account write throughput limit or maximum concurrent write limit for a single Microsoft Purview account. The effective throughput depends on several factors, such as the API being used, request size, entity complexity (attributes, classifications, relationships), and the current service load.
An HTTP 408 (Request Timeout) generally indicates that the service could not complete processing within the allowed time window. This may occur when:
- Processing very large payloads or batches
- Entities contain a large number of relationships or complex metadata structures
- Multiple concurrent write operations create contention
- The service is under temporary load or throttling conditions
For sustained high-volume workloads, Microsoft recommends implementing retry logic with exponential backoff.
- Purview internal architecture
Microsoft doesn't publicly disclose the underlying implementation details or guarantee which Azure services are used internally (for example, whether specific indexing or storage layers are backed by Azure AI Search or Azure Cosmos DB). Since these implementation details may change over time, they shouldn't be relied upon for application design or performance expectations.
- Why entities with many relationships are slower to query
The behavior you're observing is expected.
Even when ignoreRelationship=true is specified, the service may still need to process relationship metadata internally during entity retrieval. Relationships are deeply integrated into Purview's graph-based metadata model and can impact:
- Entity graph traversal and validation
- Authorization and access checks
- Internal joins and metadata aggregation
- Response construction and filtering
As a result, entities with a large number of relationships can experience higher query latency compared to entities without relationships, even when relationships are excluded from the final response payload.
If you're encountering significant performance degradation at scale, it would be helpful to share:
- Approximate number of relationships per entity
- Total number of entities in the catalog
- API being used (Atlas APIs, Data Map APIs, etc.)
- Whether the issue occurs consistently or only during peak ingestion activity
For deeper insights into service behavior or undocumented limits, we recommend opening a support request, as those details are not publicly documented and may require investigation by the product engineering team.