Databricks pools reduce cluster start and auto-scaling times by maintaining a set of idle, ready-to-use instances. When a cluster attached to a pool needs an instance, it first attempts to allocate one of the pool’s idle instances. If the pool has no idle instances, the pool expands by allocating a new instance from the instance provider in order to accommodate the cluster’s request. When a cluster releases an instance, it returns to the pool and is free for another cluster to use. Only clusters attached to a pool can use that pool’s idle instances.

For an introduction to pools and configuration recommendations, view the Databricks pools video:

Databricks does not charge DBUs while instances are idle in the pool. Instance provider billing does apply; see pricing.

You can manage pools using the UI, the CLI, and by invoking the Pools API. This section describes how to work with pools using the UI. For the other methods, see Instance Pools CLI and Instance Pools API.

In this section: