Skip to main content

Administration overview

AdministratorsIT and OT operationsProject sponsors
In one minute

Running DataHub is mostly four recurring jobs: keeping it available, managing who can see what, controlling how much data is kept, and onboarding new sources.

Three decisions are hard to reverse and worth getting right early: tenant boundaries, data set boundaries, and external id conventions. Everything else can be changed later.

The three decisions to get right earlyโ€‹

The recurring workโ€‹

Keeping it availableโ€‹

DataHub runs as four services, all of which run as multiple instances behind a load balancer. Three of them scale by simply adding instances; one is deliberately single-active with a standby. The backing stores are standard, well-understood systems your infrastructure team likely already runs.

Architecture, without the jargon โ†’

Managing accessโ€‹

Data set permissions govern the stored data, resources, time series, events and files. They are granted through organization groups in your identity provider, and read and write are independent of each other. โ†’ Data set permissions

Users themselves live in your existing identity provider, not in DataHub. โ†’ Users and access

Controlling retention and costโ€‹

Storage is the dominant infrastructure cost, and it grows with ingestion whether or not anyone reads the data. Value types, retention and housekeeping are what keep it proportionate.

โ†’ Data lifecycle

Onboarding new sourcesโ€‹

Each new source system means: deciding which data set it lands in, configuring the integration that feeds it, giving its service account the narrowest permissions that work, and making sure what arrives connects to the model rather than sitting orphaned.

โ†’ Change data capture ยท โ†’ Data sets

What you do not have to doโ€‹

Worth knowing, because these are often assumed:

  • You do not manage user accounts in DataHub. Identity lives in your OAuth2/OIDC provider. Identity providers โ†’ DataHub authorises every request against what your provider currently says, so revoking access is a matter of removing a role or a group membership, and it takes effect within about a minute.
  • You do not run database migrations by hand. They run automatically at startup, across every tenant, with locking that makes concurrent instance startup safe.
  • You do not need session affinity on the load balancer. All services, including the live streaming endpoints, are stateless in the way that matters. The load balancer needs WebSocket-upgrade support and nothing else.

Sizing and scaling, in one paragraphโ€‹

Each of the four services scales differently and independently. The API scales with user and integration traffic. The consumer that lands datapoints and events scales with ingest volume. The console is a thin UI layer. The consumer that applies changes to the graph is order-sensitive and runs one-active-plus-standby rather than scaling out, which is fine, because graph changes are low volume compared with measurement ingest.

The practical consequence: you can scale ingestion without adding API capacity, and restart the UI without interrupting ingestion.

Where to go nextโ€‹

Go deeper