Databricks Health Check

Databricks Health Check: Spend, Governance, Delta Tables and Jobs Reviewed

A Databricks health check is an engineer-led review of a running workspace estate against how it is actually used: DBU waste, cluster and job configuration, Unity Catalog governance, Delta table health, security posture and pipeline reliability. You get a written report, a ranked fix list and the evidence behind every finding. It is also the right first step if you are weighing a migration or a support contract.

areas reviewed on every estate
6
weeks from kickoff to walkthrough
1-4
hours to a written quote
24

Is This You?

You probably need this if…

  1. 01

    Databricks spend keeps rising and nobody can say which workloads and teams account for it

  2. 02

    Unity Catalog was adopted in part, so access rules live in two places and agree in neither

  3. 03

    Reads on key Delta tables are slower than the data volume justifies and nobody has looked at file counts

  4. 04

    Jobs fail on a schedule that someone fixes by hand and nobody has traced to a cause

  5. 05

    The engineers who built the workspaces have moved on and the setup is undocumented

  6. 06

    A security questionnaire or audit is asking about network access, secrets, encryption keys and audit logging on the platform

  7. 07

    You are about to migrate to Databricks, or take on a support or managed contract, and want the facts about the current estate first

Outcomes

Where you are now, and where you end up

Concrete state changes, not deliverable counts. This is what actually differs about your Databricks estate when the engagement closes.

  1. Before

    Databricks spend is a line on an invoice and a guess about who drives it.

    After

    Usage attributed by workload, team and compute type from system tables, with the largest drivers ranked and handed to the cost optimization work if you want it.

  2. Before

    Permissions grew table by table, with grants to individual users and owners who have left.

    After

    A governance review against Databricks' own Unity Catalog guidance: groups, ownership, service principals, external locations and workspace-catalog binding, with the gaps listed.

  3. Before

    Tables were created once and never maintained, so file counts and layout drift.

    After

    Each important table classified as healthy, needing OPTIMIZE or clustering, or needing a maintenance policy, with predictive optimization coverage checked.

  4. Before

    Job failures are handled one at a time and the same ones return.

    After

    Failure patterns read from job run history, with retries, timeouts, notifications and repair practice reviewed against what Databricks documents.

Recognise your estate here? Get a quote for Databricks health check from a senior engineer.

Contact Us

Scope

What's covered

  • 01

    Cost and DBU Waste

    Usage by SKU, workspace, workload and tag from system.billing.usage, idle and oversized compute read from system.compute.node_timeline, and the workloads worth a deeper cost review.

  • 02

    Cluster and Job Configuration

    Databricks Runtime versions against the support lifecycle, access modes, auto termination, autoscaling bounds, cluster policies, init scripts, and which scheduled work still runs on all-purpose compute.

  • 03

    Unity Catalog Governance

    Metastore and catalog layout, grants to groups rather than users, ownership, service principals for jobs, external locations and storage credentials, and how far coverage extends beyond the legacy metastore.

  • 04

    Delta Table Health

    File counts and sizes, small-file patterns, OPTIMIZE and VACUUM practice, liquid clustering or legacy partitioning and ZORDER, statistics, and whether predictive optimization is running where it should.

  • 05

    Security Posture

    Network access (IP access lists, private connectivity), secret scopes, customer-managed keys where they apply, SSO and SCIM, and what audit logging captures and who reads it.

  • 06

    Pipeline Reliability

    Job and pipeline run history from the lakeflow system tables, retry and timeout settings, notifications, repair practice, data quality expectations, and idempotency of the tasks that get re-run.

Want a senior Databricks engineer to scope this with you? Get a quote or send us a message.

Contact Us

The Engagement

How it actually runs

Every phase has a defined duration and a concrete artifact handed over at the end of it. You always know what stage you're in and what you've received.

  1. Phase 11 day

    Intake and Scoping

    We agree which workspaces and accounts are in scope, the cloud (AWS, Azure or GCP), the focus areas, and what your engineers can export. Delivery is remote, guided by your engineers over screen share. We take no access to your workspaces or code.

    You receive

    • Scope, workspace list and focus areas
    • Read-only export checklist: system table queries, DESCRIBE DETAIL output, cluster policy and job definitions
    • Incident history and known concerns collected
  2. Phase 21-4 weeks, by scope

    Review

    A senior engineer works through the six areas against your exports and run history, with your team in the room where a decision needs context. How long this takes depends on complexity, which focus areas you choose and how many problems turn up along the way.

    You receive

    • Inventory of workspaces, compute, catalogs and key tables
    • Findings with evidence attached
    • Notes on anything that blocks a migration or a support handover
  3. Phase 3Within a week of the review

    Written Findings

    The report, ranked by what is likely to cost or fail first. Every finding carries the fix, the effort and the risk of leaving it.

    You receive

    • Written report
    • Ranked remediation list
    • Governance and maintenance standards you can adopt
  4. Phase 4At the end of the assessment

    Walkthrough and Plan

    A walkthrough with the engineer who did the work, then a sequenced plan your team can run or hand to us. Remediation is scoped separately, so the report is useful whoever makes the changes.

    You receive

    • Findings walkthrough
    • Sequenced plan: change now, change next, fine as it is

What a Databricks health check reads, and where the evidence comes from

A Databricks health check works from evidence your own platform already records. Databricks publishes system tables for billing, compute, access, jobs, pipelines, query history and predictive optimization, so most findings can be traced to rows in a table your engineers can run a query against, not to anyone's recollection.

Where each area of the health check gets its evidence
AreaEvidence we readWhat it tells us
Cost and DBU wastesystem.billing.usage, system.compute.node_timeline, system.compute.warehouse_eventsSpend by SKU, workspace and tag, utilization of all-purpose and jobs compute, and warehouse start and stop behavior.
Cluster and job configurationCluster policies, job and cluster definitions, system.lakeflow.jobsRuntime versions, access modes, termination and scaling settings, and which jobs are paused or orphaned.
Unity Catalog governanceCatalog, grant and ownership listings, system.access.table_lineage, system.access.auditWho can read and write what, who owns it, and what is actually used.
Delta table healthDESCRIBE DETAIL, table properties, system.storage.predictive_optimization_operations_historyFile counts and sizes, layout, and whether maintenance runs.
Security postureWorkspace and account settings, secret scope listings, system.access.auditNetwork exposure, credential handling, encryption keys and audit coverage.
Pipeline reliabilitysystem.lakeflow.job_run_timeline, system.lakeflow.job_task_run_timeline, pipeline event logsFailure rates, termination codes, run duration drift and where retries hide problems.

Access to system tables is granted by an admin, with USE CATALOG, USE SCHEMA and SELECT on the system schemas. That is why delivery is guided by your engineers: they run the read-only queries and exports, we read the results.

For a service-level example of what a usage review finds, see the DBU cost governance use case

Delta table health: small files, OPTIMIZE, VACUUM and clustering

Delta table health is mostly file layout. A table made of many small files makes every read open more files than the row count justifies, and a table that is never vacuumed keeps storage for data nobody queries. The check starts with DESCRIBE DETAIL, which returns the file count, the size, the partition columns and the clustering columns of each table.

Delta table health checks and what Databricks documents
CheckWhat Databricks documentsWhat we look for
File sizeTables under 2.56 TB are autotuned to a 256 MB target file size. A delta.targetFileSize table property overrides autotuning.Tables with a very high file count for their size, and tables with a hand-set target nobody remembers choosing.
Write-time compactionAuto compaction combines small files within partitions after a write. Optimized writes are on by default for MERGE, UPDATE with subqueries and DELETE with subqueries.Streaming and frequent-append tables with neither setting in effect.
OPTIMIZEOPTIMIZE rewrites data files to improve layout. Databricks suggests starting with a daily run, preferably at night, and then adjusting, or enabling predictive optimization.Tables that have never been optimized, and schedules that run too often to pay for themselves.
VACUUMVACUUM removes files no longer referenced by the table. The default retention threshold is 7 days. Shortening it can let VACUUM delete files that long-running jobs have not yet committed.Retention shortened without a reason, or no VACUUM at all.
Predictive optimizationIt runs OPTIMIZE, VACUUM and ANALYZE on Unity Catalog managed tables. It is on by default for accounts created on or after 11 November 2024, with a gradual rollout to older accounts. It does not cover external tables.Which important tables are managed and covered, which are external and still need a schedule, and what the operations history shows.
ClusteringLiquid clustering replaces table partitioning and ZORDER, takes up to four clustering keys, and the keys can be changed without rewriting existing data. It is not compatible with partitioning or ZORDER on the same table.Over-partitioned tables, ZORDER jobs that could be retired, and candidates for clustering.

A common finding

Predictive optimization only maintains Unity Catalog managed tables. External tables, and tables still in the legacy metastore, need their own OPTIMIZE and VACUUM schedule or they quietly fall behind.

For a service-level example of fixing this layout problem, see the Delta small-file remediation use case

Ready to talk Databricks? Get a quote or send us a message.

Contact Us

Unity Catalog governance review

The governance review compares your Unity Catalog setup with the practices Databricks itself documents, and reports where the estate differs and what the difference costs you in risk or admin effort.

  • Groups, not users — Databricks says to set up groups and avoid direct grants to users whenever possible. We count direct user grants and the objects they sit on.
  • Ownership — Object ownership should sit with groups, especially in production. Objects owned by people who have left, or by their creators by default, are listed.
  • Service principals run production — Databricks recommends running jobs as service principals and reserving direct MODIFY access on production tables for them. We check who can write to production tables today.
  • External locations — An external location pairs a storage credential with a storage path. Creating them should be limited to administrators and trusted engineers, and broad READ FILES or WRITE FILES grants should be avoided.
  • Managed versus external tables — Databricks recommends managed tables for most uses and all new tables. We list external tables and the reason each one exists, since the answer decides whether predictive optimization applies.
  • Catalog layout and binding — Catalogs should reflect environments, teams or business units, and can be bound to specific workspaces when isolation is needed. One metastore serves each region, so workspaces in a region share it.

Lineage and audit data complete the picture. The system.access.table_lineage and system.access.audit tables show which tables are read, by whom, and which grants and changes happened, so the review rests on use as well as on configuration.

Greenfield setup of the same model is covered under Databricks implementation

Security posture: network, secrets, keys and audit

The security review looks at configuration, not at your code. Databricks publishes an open-source Security Analysis Tool that compares account and workspace settings with its security best practices, and we use findings like that as an input, then review them in context rather than repeating a scan.

Security controls reviewed and what the documentation says
ControlWhat Databricks documentsWhat we check
Workspace network accessIP access lists let admins set allow lists and block lists for the workspace and its APIs. Block lists are checked first.Whether lists exist, whether they match your real egress addresses, and who can change them.
Private connectivityPrivate Link covers back-end connections from the compute plane to workspace services and front-end private access to the workspace.Whether private connectivity is configured where your policy requires it, and what still goes over the public network.
SecretsSecret scopes hold credentials in an encrypted store. Redaction applies only to literal secret values and does not stop a deliberate transformation, so access control lists limit who can run commands.Credentials in notebooks, jobs and cluster configuration instead of secret scopes, and who can read each scope.
Customer-managed keysThey can encrypt managed services data and workspace storage, and require the Enterprise tier.Whether your policy needs them and whether they are in place.
Audit logsThey capture authentication, user and group changes, token management, IP access list changes, and activity in clusters, jobs and dashboards.Whether anyone reads them, whether alerts exist, and how long the history lasts.

Networking and key-management features differ by cloud provider, so we review against the documentation for the cloud you run on. The review reports gaps against your own policy. It is not a compliance certification.

Recognise your estate here? Get a quote for Databricks health check from a senior engineer.

Contact Us

Cluster, job and pipeline reliability

Configuration problems and reliability problems overlap. A job on an unsupported runtime fails differently from one that runs out of memory, and a job with no retry policy fails differently from one that retries a non-idempotent task. We read both from job run history and from the settings behind it.

  • Runtime support lifecycle — Databricks Runtime LTS releases are supported for three years. After end of support, workloads get no Databricks support, fixes are not backported, and the version can no longer be picked in the UI. We list the runtimes in use and their position in that lifecycle.
  • Retries and timeouts — For most job configurations the default is that tasks are not retried on failure. If you set both a timeout and retries, the timeout applies to each retry. We check which critical tasks have neither.
  • Repair runs — A repair run re-runs only the failed tasks and their dependents. Databricks warns that tasks are not made idempotent, so a task that wrote part of its output before failing can duplicate data when repaired. We look for tasks where that risk is real.
  • Notifications — Jobs can notify on start, success, failure, a duration threshold or a streaming backlog threshold, through email, Slack, Microsoft Teams, PagerDuty or any webhook-based service. We check what pages a person and what only writes a log.
  • Data quality expectations — Expectations in Lakeflow pipelines can warn, drop invalid rows or fail the update. The default is to warn and keep the rows, so we check where a failure would be preferable.
  • Failure history — system.lakeflow.job_run_timeline and job_task_run_timeline carry result states and termination codes, so recurring failures can be counted and grouped by cause.

For the spend side of cluster and job configuration, see Databricks cost optimization

What the Databricks health check report contains

The report is written to be read by the engineer who runs the platform and the manager who funds the fixes. This is the outline every report follows. It is a structure, not a client document, and it carries no customer data.

Databricks health check report outline
SectionContents
1. SummaryThe findings most likely to cost money, expose data or stop a pipeline, in plain language, with a risk rating for each.
2. InventoryWorkspaces, compute and policies, catalogs, important tables and jobs, and the runtimes in use.
3. Findings registerOne row per finding: area, severity, evidence, why it matters, the fix, effort and the risk of waiting.
4. Governance and security gapsDifferences from Databricks' documented practice and from your own policy, grouped by owner.
5. Delta table maintenance planTables by class, the maintenance each needs, and which are covered by predictive optimization.
6. Remediation planThree buckets: change now, change next, fine as it is.
7. AppendixThe queries and exports used, so a second engineer can verify any finding.

A report with a hundred undifferentiated observations has not done the hard part, which is ranking them. Ours puts the few findings that matter first and the rest in the appendix.

The practice is led by a former Databricks professional-services resident solution architect.

Want a senior Databricks engineer to scope this with you? Get a quote or send us a message.

Contact Us

Where this health check stops

  • Remote and read-only — We work from exports and a screen share, guided by your engineers. We do not log in to your workspaces or touch your code.
  • No savings promised in advance — The health check measures spend by workload and ranks drivers. We do not quote a percentage before seeing your usage.
  • Not a compliance audit — We report gaps against Databricks' documented practice and your own policy. We do not certify that you meet a regulation or standard.
  • Remediation is separate — The report stands alone. If you want us to carry out the fixes, that is scoped and quoted as its own piece of work.
  • AceMQ is independent of Databricks — We do not resell Databricks, and licensing and contract terms are between you and Databricks or your cloud marketplace.

If findings point to spend, start with Databricks cost optimization

If findings point to a platform move, see Databricks migration services

For production cover once fixed, see Databricks support

Ready to talk Databricks? Get a quote or send us a message.

Contact Us

Customer Success

Real Databricks Results

See how enterprises trust AceMQ for their most critical Databricks workloads.

1 / 5 case studies

  • Assessment

    Databricks DBU Cost Governance

    Global Payments Processor

    Right-sizing Databricks compute by moving scheduled work off all-purpose clusters and tightening autoscaling, instance selection, and idle timeouts.

    DatabricksApache SparkDelta LakeTerraform
  • Consulting

    Databricks Unity Catalog Migration

    Healthcare Analytics Provider

    Migrating off the legacy Hive metastore to Unity Catalog with external location mapping, table upgrades, and a grant model that survives audit.

    DatabricksDelta LakeApache SparkTerraform
  • Remediation

    Databricks Delta Small-File Remediation

    Digital Retail Platform

    Fixing Delta tables where streaming writes and over-partitioning have produced millions of tiny files, stalling reads and vacuum operations.

    DatabricksDelta LakeApache Spark
  • Support

    Databricks Job Cluster Failure Support

    Insurance Services Group

    Named-engineer support for production Databricks job failures — driver OOM, spot reclamation, library conflicts, and workflow retry storms.

    DatabricksApache SparkDelta Lake
  • Assessment

    Apache Spark Workload and Cost Assessment

    Media Streaming Provider

    Profiling a Spark estate to find over-provisioned jobs, redundant pipelines, and workloads better served by something other than Spark.

    Apache SparkDatabricksDelta LakeKubernetes
All use cases

FAQ

Questions about Databricks health check

What is a Databricks health check?

A Databricks health check is a structured review of a running estate: DBU spend and waste, cluster and job configuration, Unity Catalog governance, Delta table health, security posture and pipeline reliability. It ends in a written report with a ranked list of what will cost or fail first and how to fix it.

Is a Databricks health check the same as a Databricks assessment or audit?

In practice they overlap. A health check and an assessment review the running estate and its configuration. An audit usually implies a formal control framework. AceMQ reports against Databricks' documented practice and your own policy and does not certify compliance. We scope the work to the question you are asking and say so up front.

How long does a Databricks health check take?

One to four weeks from kickoff to walkthrough, depending on how complex the estate is, which areas you want covered, and how many problems we find along the way. Intake takes a day and the written findings arrive within a week of the review. Several workspaces or accounts sit at the longer end, and we confirm the timeline once we know the workspace count and focus areas.

Do you need access to our workspaces?

No. Your engineers run read-only queries against system tables and export cluster policy, job and table details, and we read the results over a working session. Access to system tables is granted by an admin, so your engineers stay in control of what we see.

What do you need from us to start?

A list of workspaces and accounts, the cloud you run on, the areas you care most about, and an engineer who can run queries against system tables. We confirm the exact list at scoping.

How is this different from Databricks cost optimization?

The health check is broad: six areas, ranked, in one report. Cost optimization goes deep on spend: attribution, compute type, cluster policies and Spark job tuning, with an optional recurring review. Many teams start with the health check and take the cost work as a follow-on if spend is the biggest finding.

What does a Databricks health check cost?

It is scoped on the number of workspaces and the depth of review, not on DBU spend. We do not publish a price list. Send the workspace count, your cloud and your focus areas and we will come back with a written quote within 24 hours.

Let's talk

Book a Databricks Health Check

Tell us how many workspaces you run, which cloud they are on and which areas worry you most. We will scope the review and come back with a timeline and a written quote within 24 hours.

Email Us

Get in Touch

Talk to a Databricks Expert

Send us a message and we'll follow up within one business day — or book a free 30-min consultation directly.

305-204-2607
info@acemq.com
66 W. Flagler St. 9th Floor
Miami, FL 33130

Prefer to talk now? Call us directly or use the consultation tab to find a time that works.

We respond within 1 business day.

Pick a time that works — no pressure, no pitch. Just 30 minutes with an expert.

We respond within 1 business day.