Databricks

Choosing Databricks Compute Access Modes: Single User / Shared / No Isolation

2026-03-26
更新: 2026-03-27
NicheeLab Editorial Team

When you create a Databricks cluster (Compute), the very first decision you have to make is the Access Mode. Access Mode determines the cluster's isolation level and Unity Catalog support, and it cannot be changed once the cluster has started. The wrong choice ends up producing "an ML project cluster that can't see Unity Catalog tables" or "a shared cluster that fails security audits", so both administrators and developers need a solid understanding of this topic.

This article lays out the technical differences between the three Access Modes (Single User / Shared / No Isolation Shared) in a comparison table, walks through the recommended configuration for Unity Catalog environments, explains how to choose between job clusters and interactive clusters, and covers the patterns that show up on Databricks certification exams.

The Three Access Modes at a Glance

Databricks clusters come in three Access Modes. Each mode provides a different level of process isolation, with its own set of available features and restrictions.

  • Single User Mode: A single user or one Service Principal has exclusive use of the cluster. Has the fewest restrictions and supports every Databricks feature. Unity Catalog-compatible.
  • Shared Mode: Multiple users share the same cluster. Process-level isolation keeps each user's code separate from the others. Unity Catalog-compatible, but with some feature restrictions.
  • No Isolation Shared Mode: Multiple users run code inside the same process space. No isolation. Not Unity Catalog-compatible. Not recommended for new environments.

Side-by-Side Comparison of the Three Modes

Comparison ItemSingle UserSharedNo Isolation Shared
Unity Catalog supportYesYesNo
Concurrent users1 (exclusive)MultipleMultiple
Process isolationNot needed (exclusive use)Process-level isolationNone (same process)
Supported languagesPython / SQL / Scala / RPython / SQL / Scala (restricted)Python / SQL / Scala / R
RDD APIAvailableNot availableAvailable
Custom librariesNo restrictions (pip/conda/jar)Notebook-scoped onlyNo restrictions
init scriptsAll supportedRestricted (global init scripts only)All supported
ML RuntimeSupportedNot supportedSupported
UDFs (User-Defined Functions)Python / Scala UDFs availablePython UDFs only (restricted)Python / Scala UDFs available
Custom Spark ConfigFully configurablePartially restrictedFully configurable
Table ACLs (legacy)Not supportedNot supportedCan be enabled
Security recommendationHigh (safe via exclusive use)High (process isolation)Low (no isolation; deprecated)

Single User Mode in Detail

When you create a Single User Mode cluster you specify exactly one assigned user, and only that user can use the cluster. Any other user who tries to attach to it will hit an error.

Because the cluster is used exclusively, no process isolation is needed, and every Databricks feature is available without restriction — RDD API, custom JAR libraries, init scripts, and the ML Runtime (including GPU). For Unity Catalog environments, Single User Mode is the most strongly recommended option.

The cost trade-off with Single User Mode is that you can't share a cluster. If a team of 10 works simultaneously and each person spins up their own Single User cluster, you end up with 10 clusters. You can mitigate this by using cluster policies to constrain instance types and auto-termination times, and by leveraging Serverless Compute.

Shared Mode: Details and Restrictions

Shared Mode lets multiple users share a single cluster while process-level isolation keeps things safe. It's Unity Catalog-compatible, making it a good fit for cost-conscious interactive workloads.

However, the cost of that process isolation is the following set of feature restrictions:

  • No RDD API: DataFrame API only. Legacy RDD code can't be executed.
  • No ML Runtime: ML clusters that need libraries like mlflow.pyfunc or distributed training must run on Single User Mode.
  • Init script restrictions: Cluster-scoped init scripts are not available. Only admin-configured global init scripts are allowed.
  • Custom library restrictions: Cluster-level library installation is not allowed. Use %pip install inside a notebook instead.
  • Spark Config restrictions: Spark configurations that affect security can't be freely changed.

Shared Mode is a good fit for SQL-analyst-centric teams and for cost-first lightweight exploratory analysis. If you need machine learning or RDD-based processing, choose Single User Mode.

No Isolation Shared Mode (Deprecated)

In No Isolation Shared Mode, every user's code runs inside the same JVM process, so there is no data isolation between users. One user's Python code can potentially reach into another user's variable space or read credentials set as environment variables.

Unity Catalog enforces fine-grained access control (per-table GRANT/REVOKE), but No Isolation Mode has no process-level isolation, so Unity Catalog's permission boundaries cannot be preserved. As a result the mode is not Unity Catalog-compatible, and Databricks does not recommend it for new environments.

If you're still running No Isolation Shared Mode clusters, the recommended migration paths are:

  • ML workloads → migrate to Single User Mode + ML Runtime
  • SQL and lightweight analytics → migrate to Shared Mode
  • RDD code → use Single User Mode and consider rewriting to the DataFrame API

Choosing Modes for Job Clusters vs Interactive Clusters

Use caseCluster typeRecommended Access ModeWhy
Production ETL jobsJob ClusterSingle User (Service Principal)Exclusive Service Principal use gives the best security and auditability
Dev notebooks (ML)All-PurposeSingle UserFull access to ML Runtime, RDD, and custom libraries
Shared use for analystsAll-PurposeSharedSQL-centric with strong cost efficiency; multiple users on one cluster
SQL WarehouseSQL Warehouse(its own Access Mode)SQL Warehouse runs on a dedicated access-control model
Legacy RDD pipelinesAll-PurposeSingle UserThe RDD API isn't available in Shared Mode

Best Practices for Unity Catalog Environments

Once Unity Catalog is enabled, your Access Mode choices become the foundation of data governance. The following design principles are recommended:

  • Default to Single User Mode: Use a Cluster Policy to pin new clusters to Single User Mode so users can't accidentally create a No Isolation cluster.
  • Use Shared Mode selectively: Assign a Shared Mode policy only to groups that don't need RDD or ML, such as SQL analyst teams.
  • Block new No Isolation Shared Mode clusters: Set access_mode to a fixed value in the Cluster Policy to remove No Isolation from the available options.
  • Use Service Principal + Single User for job clusters: Assign a Service Principal — not a human user — to the cluster, and run production jobs with least privilege.
# Cluster PolicyでAccess Modeを制限する定義例
{
  "spark_conf.spark.databricks.cluster.profile": {
    "type": "fixed",
    "value": "singleNode",
    "hidden": true
  },
  "access_mode": {
    "type": "allowlist",
    "values": ["SINGLE_USER", "USER_ISOLATION"],
    "defaultValue": "SINGLE_USER"
  }
}

What the Exam Tests

Access Modes show up in the Data Engineer Associate and Platform Administration domains. Make sure you have these patterns down:

  • "Which Access Mode is required to access Unity Catalog tables?" → Single User or Shared (No Isolation is not allowed)
  • "Which Access Mode is required to use the ML Runtime?" → Single User Mode only
  • "Which Access Modes can use the RDD API?" → Single User or No Isolation Shared (not Shared)
  • "Which mode lets multiple users share a cluster safely?" → Shared Mode (with process isolation)
  • "Can a cluster's Access Mode be changed after it starts?" → No. You have to create a new cluster.

Check Your Understanding

Data Engineer / Administration

問題 1

A data science team wants to train an ML model using tables registered in Unity Catalog. They need the ML Runtime (DBR ML), custom Python libraries, and the RDD API. Which Access Mode should the administrator configure for the cluster?

  1. Single User Mode, assigned to a data scientist user
  2. Shared Mode, with the whole team sharing the same cluster
  3. No Isolation Shared Mode, to access every feature without restriction
  4. Create the cluster without specifying an Access Mode and use the default

正解: A

Single User Mode is the only mode that satisfies all three requirements — ML Runtime, RDD API, and custom libraries. Shared Mode is disqualified because it supports neither the RDD API nor the ML Runtime. No Isolation Shared Mode is not Unity Catalog-compatible, so it cannot access Unity Catalog tables. There is no such thing as a cluster without an Access Mode — you must choose one at creation time.

Frequently Asked Questions

What is the biggest difference between Single User Mode and Shared Mode?

In Single User Mode, a single user (or one Service Principal) uses the cluster exclusively and has access to every feature, including the RDD API, custom libraries, and init scripts. Shared Mode lets multiple users share the same cluster, but the RDD API is unavailable, the ML Runtime is not supported, and init scripts are restricted. Single User Mode is the recommended choice for Unity Catalog environments.

Why is No Isolation Shared Mode no longer recommended?

No Isolation Shared Mode runs all users' code inside the same process space, so one user's code can potentially access another user's variables or credentials. Because Unity Catalog requires process-level isolation, No Isolation Shared Mode is not Unity Catalog-compatible. Databricks no longer recommends it for new environments and advises existing environments to migrate to Shared or Single User Mode.

How should I choose the Access Mode for a job cluster?

Job clusters default to Single User Mode, with exclusive access for the job owner or a designated Service Principal. Because jobs run non-interactively, one task at a time, there is no need to share the cluster, which makes Single User Mode the best fit. Any job that accesses Unity Catalog tables must run on a Single User or Shared Mode cluster.

Check what you learned with practice questions

Practice with certification-focused question sets

無料で問題を解いてみる
Author

NicheeLab Editorial Team

NicheeLab editorial team focused on data engineering and cloud certification learning. Content is structured around practical study needs and official exam domains.


Related articles
Databricks

Databricks Certifications: All 7 Exams, Difficulty & Study Plan (2026)

Complete guide to all 7 Databricks certifications — Data Eng...

Databricks

Databricks Exam Difficulty Ranking: All 7 Certs Compared (2026)

Every Databricks certification ranked by difficulty, with st...

Databricks

Databricks Study Guide: Fastest Pass Route & Time Estimates (2026)

How to pass Databricks certifications efficiently. Official ...

Databricks

Databricks Data Engineer Associate: Complete Guide (2026)

Domain-by-domain breakdown of the Databricks Certified Data ...

Databricks

Databricks Data Engineer Professional: Complete Guide (2026)

Tactics for the Databricks Certified Data Engineer Professio...

Browse all Databricks articles (110)
© 2026 NicheeLab All rights reserved.