EntityStore system limits

更新时间:
复制 MD 格式

Overview

EntityStore is the data storage engine for UModel. It has capacity and performance limits that you must understand to avoid performance issues or data loss.

Capacity limits

Capacity limits determine the scale of data that EntityStore can hold. The system enforces specific policies when these limits are exceeded.

Limit item

Upper limit

Overflow behavior

Adjustable

Recommendation

Total number of entities

1 million

Cannot add new entities.

Not supported

Design EntitySets carefully to avoid too many entities of a single type. For frequently changing entities, consider using dynamic entities or not modeling them as entities.

Total number of edges

10 million

Cannot add new edges.

Not supported

Design a reasonable relationship structure to avoid redundant edges. For frequently changing relationships, consider using dynamic relationships or not modeling them as edges.

Total number of entities of a single type

100,000

Cannot add new entities.

Not supported

Limit the number of entities per type to prevent exceeding this threshold.

Total number of edges of a single type

1 million

Cannot add entities

Not supported

Avoid creating too many relationships of the same type.

Size of a single entity

64 KB

Data is automatically truncated.

Not supported

Avoid storing large text data, such as Markdown or HTML files.

Performance limits

Performance limits affect the throughput and response time of read and write operations.

Limit item

Limit value

Behavior when exceeded

Adjustable

Recommendation

Write QPS

10,000 QPS

Handled on a best-effort basis. Exceeding this limit delays entity index creation and affects real-time queries.

No

Use incremental writes. The write interval should be at least 10 minutes.

Query concurrency

10 concurrent queries

The query fails.

No

Narrow the query time range and use precise filter conditions with the Limit parameter. EntityStore is a metadata system and is not designed for high-frequency query scenarios such as alerting.

Entity query scan limit

1 million items

The scan stops and results are calculated based on the items scanned so far. A PartialSuccess message is returned.

No

Use the Limit parameter to restrict the number of output items.

Entity query output limit

100,000 items

Only the first 100,000 items are returned, along with a PartialSuccess message.

No

Use the Limit parameter to restrict the number of output items.

Relationship query scan limit

1 million items

The scan stops and results are calculated based on the items scanned so far. A PartialSuccess message is returned.

No

Use the Limit parameter to restrict the number of output items.

Relationship query output limit

10,000 items

Only the first 10,000 items are returned, along with a PartialSuccess message.

No

Use the Limit parameter to restrict the number of output items.

Query output bandwidth

About 20 MB/s

Handled on a best-effort basis.

No

Avoid large data transfers. Do not use EntityStore for data exporting.

Best practices

Capacity management

  1. Monitor capacity usage: Regularly check the number of entities and edges to detect issues early.

  2. Data cleanup policy: Periodically delete historical data to free capacity.

  3. Classification design: Design entity types carefully to avoid an excessive number of entities per type.

Performance optimization

  1. Batch operations: Use batch writes whenever possible to reduce request frequency.

  2. Distribute requests: Avoid sending requests at concentrated times, such as on the hour.

  3. Query optimization: Use appropriate filter conditions and the Limit parameter.

  4. Incremental updates: Use incremental writes instead of full updates.

Error handling

  1. Limit monitoring: Monitor for capacity and performance limit violations.

  2. Degradation policy: Design a service degradation plan for when limits are reached.

  3. Data backup: Back up important data to other storage systems.

FAQ

Q: How can I improve query QPS?

A: Cache query results, reduce query frequency, narrow the query time range, and use precise filter conditions and the Limit parameter.

Q: What data is included in the entity size limit?

A: The limit covers all field data of an entity, including the sum of property values and metadata. Relational data is not included.