content/enterprise_influxdb/v1/concepts/influxdb-enterprise-startup.md
On startup, InfluxDB Enterprise starts all subsystems and services in the following order:
A subsystem is a collection of related services managed together as part of a greater whole. A service is a process that provides specific functionality.
The TSDBStore subsystem starts and manages the TSM storage engine.
This includes services such as the points writer (write), reads (query),
and hinted handoff (HH).
TSDBSTore first opens all the shards and loads write-ahead log (WAL) data into the in-memory write cache.
If influxd was cleanly shutdown previously, there will not be any WAL data.
It then loads a portion of each shard's index.
{{% note %}}
If using inmem indexing, InfluxDB loads all shard indexes into memory, which,
depending on the number of series in the database, can take time.
If using tsi1 indexing, InfluxDB only loads hot shard indexes
(the most recent shards or shards currently being written to) into memory and
stores cold shard indexes on disk.
Use tsi1 indexing to see shorter startup times.
{{% /note %}}
The Monitor service provides statistical and diagnostic information to InfluxDB about InfluxDB itself. This information helps with database troubleshooting and performance analysis.
The Cluster service provides implementations of InfluxDB OSS v1.x interfaces that operate on an InfluxDB Enterprise v1 cluster.
The Precreator service creates shards before they are needed. This ensures necessary shards exist before new time series data arrives and that write-throughput is not affected the creation of a new shard.
The Snapshotter service routinely creates snapshots of InfluxDB Enterprise metadata.
The Continuous Query (CQ) subsystem manages all InfluxDB CQs.
The Announcer service announces a data node's status to meta nodes.
The Retention service enforces retention policies and drops data as it expires.
The Stats service monitors cluster-level statistics.
The Anti-entropy (AE) subsystem is responsible for reconciling differences between shards. For more information, see Use anti-entropy.
The InfluxDB HTTP API service provides a public facing interface to interact with InfluxDB Enterprise and internal interfaces used within the InfluxDB Enterprise cluster.