Limits and permissions
The Data Hub roles, plan limits and the default limits an Orchestrator enforces.
Beta
Data Hub is in Beta. It is off by default; an administrator turns it on per tenant.
Roles#
Data Hub uses workspace roles. A Workspace Administrator holds all three.
| Role | Can |
|---|---|
| Data Hub Designer | Design entities and choice sets, and work with their records |
| Data Hub Editor | Read entity schemas, and create, edit, import and delete records |
| Data Hub Reader | Read entity schemas and records, and export records |
- A job on a Robot acts with the Robot's run permissions.
- A design-time run (F5 in Studio, or
velophex run --orchestrator) acts as the user who started it. - An agent run cannot use Data Hub yet (
dh_access_denied). - Access policies per entity, field or record are not available yet. Rights come from the workspace roles only.
See Manage access.
Plans#
Data Hub is included in Cloud Enterprise and Unlimited. Community and Standard do not include it.
| Plan | Records per organization |
|---|---|
| Cloud Enterprise | 1,000,000 |
| Unlimited | No limit |
When the organization holds as many records as its plan allows, a create is refused with 409 plan_limit_reached. The count is checked against a short cache, so it is a soft limit.
Limits#
An Orchestrator administrator can change some limits with the configuration key DataHub:<Key> (environment variable DataHub__<Key>). A value outside the range stops the Orchestrator from starting. Fixed limits cannot be changed.
| Limit | Key | Default | Range |
|---|---|---|---|
| Entities per tenant | MaxEntitiesPerTenant |
200 | 1 to 2,000 |
| Choice sets per tenant | MaxChoiceSetsPerTenant |
100 | 1 to 2,000 |
| Fields per entity (removed fields count until purged) | MaxFieldsPerEntity |
200 | fixed |
| Indexed fields per entity | MaxIndexedFields |
20 | 1 to 30 |
| Records an unindexed filter may scan | UnindexedScanMaxRecords |
50,000 | 10,000 to 500,000 |
| Query time limit (seconds) | QueryTimeoutSeconds |
5 | 1 to 30 |
| Schema change time limit (seconds) | SchemaChangeTimeoutSeconds |
30 | 5 to 300 |
| Writer wait for a schema change (seconds) | WriteLockTimeoutSeconds |
3 | 1 to 30 |
| Record size | MaxRecordBytes |
64 KiB | fixed |
| Import file size | MaxImportBytes |
20 MB | 1 KB to 100 MB |
| Import rows | MaxImportRows |
100,000 | 1 to 1,000,000 |
| Import rows per transaction | ImportChunkRows |
500 | 50 to 5,000 |
| Export rows | MaxExportRows |
100,000 | 1 to 1,000,000 |
| Imports and exports running per tenant (one per entity) | MaxConcurrentJobsPerTenant |
5 | 1 to 50 |
| Operations per batch | MaxBatchOps |
1,000 | 1 to 1,000 |
| Page size in bytes | MaxPageBytes |
8 MiB | 1 to 8 MiB |
| Days before deleted records, entities and removed fields are purged | PurgeAfterDays |
30 | 1 to 365 |
| Days a finished export file is kept | ExportKeepDays |
1 | 1 to 30 |
Fixed request limits:
- Page size: 1 to 1,000 records (default 100).
- Filters: 3 levels, 20 leaves, 100 values in
in, strings up to 1,000 characters, 16 KiB per query. - Sort: 3 keys. Selected fields: 100.
- Batch: 16 MiB. Idempotency key: 100 characters.
- Totals are capped at 10,000. Fetch all stops at 10,000 records or 64 MiB.
Roles
Plans
Limits