Prepstellar

DEA-C01 · Databricks Intelligence Platform

22 cards

Compute Service Tradeoffs and Selection

Swipe, scroll or use ← →
  1. Three families, three different bargains

    Databricks compute provides resources for data engineering, data science, and analytics workloads. Choosing between them is not a matter of taste: each family trades away something specific.

    The three principal choices are serverless compute for on-demand scaling, classic compute for customizable resources, and SQL warehouses for optimized analytics.

    Family What it optimizes for What you give up
    Serverless On-demand scaling, no infrastructure to manage Some APIs, languages, and configuration hooks
    Classic Customizable, user-managed resources You create, configure, and manage them
    SQL warehouse SQL queries, analytics, and BI It is an analytics engine, not a general workload host

    Begin selection with the workload interface and operational requirements rather than treating these choices as interchangeable.

    1 / 22
  2. Three families, three different bargains

    Serverless compute is on-demand, automatically managed compute that scales with workload requirements. Serverless notebook compute supports interactive Python and SQL without infrastructure management, while serverless job and pipeline compute run workloads without configuring or deploying infrastructure.

    Classic compute consists of provisioned resources that users create, configure, and manage. The word provisioned is the whole difference: something exists because you asked for it, in the shape you asked for.

    SQL warehouses are optimized for SQL queries, analytics, and business intelligence, and they can be serverless or classic. That last clause matters — serverless and classic are operating modes of a warehouse, not rivals to it.

    2 / 22
  3. Quick check

    Which compute option is on-demand and automatically managed, and which one is optimized for SQL analytics?

    1. AServerless compute is the automatically managed, on-demand family, and a SQL warehouse is the option optimized for SQL queries, analytics, and BI

      Right. Serverless compute scales on demand under automatic management, and SQL warehouses are the choice optimized for SQL queries, analytics, and business intelligence.

    2. BClassic compute is the automatically managed family, and dedicated compute is the option optimized for analytics and business intelligence

      Classic compute is provisioned and managed by its users, and dedicated compute is an assignment of classic resources rather than an analytics engine.

    3. CA SQL warehouse is the automatically managed family, and serverless job compute is the option optimized for interactive BI queries

      A SQL warehouse is optimized for analytics but is not the automatically managed family itself, and job compute runs non-interactive work rather than serving BI.

    3 / 22

  4. Inside classic: standard or dedicated

    Classic compute is not a single thing. It comes in two access modes, and the difference is who is allowed on board.

    Standard compute provides shared resources for multi-user collaboration with secure user isolation, while dedicated compute is assigned to one user or group.

    Access mode Assigned to Typical reason to pick it
    Standard Several collaborating users, isolated from one another Sharing one resource across a team
    Dedicated A single user or a single group A requirement that shared resources cannot meet

    Read the requirement, not the mood. If a resource must be assigned to one user or group, that is dedicated compute by definition — a shared standard resource cannot satisfy it, and a serverless resource is not assigned to anybody in that sense.

    4 / 22
  5. Quick check

    A workload requires a compute resource assigned to one user or group. Which type fits?

    1. AStandard compute, since its secure user isolation already separates collaborators

      Standard compute is shared across multiple collaborating users, which is not the same as being assigned to one user or group.

    2. BServerless compute, since it can be attached permanently to a named group

      Serverless compute is on-demand and automatically managed; assignment to a named owner is not how it works.

    3. CDedicated compute, since it is the mode assigned to a single user or group

      Right. Dedicated compute is the classic access mode assigned to one user or one group.

    5 / 22

  6. What serverless will not do

    Convenience does not remove workload constraints, and this is the list that most often decides a design.

    Serverless compute supports Spark Connect APIs but does not support Spark RDD APIs. R is not supported on serverless compute. The Spark UI is unavailable on serverless compute, so query profile is the supported way to inspect Spark queries.

    On serverless Status
    Python and SQL Supported
    Spark Connect APIs Supported
    Spark RDD APIs Not supported
    R Not supported
    Spark UI Unavailable — inspect queries with query profile

    Two of those are easy to misread. The absence of the Spark UI is not the absence of observability: query profile is the supported way to look at a query. And Spark Connect being supported does not extend to the older RDD interface.

    6 / 22
  7. What serverless will not do

    The configuration hooks are restricted too. Serverless compute does not support compute policies, compute-scoped init scripts, compute-scoped libraries, or instance pools.

    That list has a logic to it: each item is a way of shaping a machine you manage, and serverless exists precisely so that you do not manage one. If a team's deployment depends on an init script or a compute policy, the deployment — not the intention — is what disqualifies serverless.

    7 / 22
  8. Quick check

    Which combination is unsupported on serverless compute?

    1. APython notebooks together with automatic infrastructure management

      Serverless notebook compute supports interactive Python, and automatic infrastructure management is the point of the family.

    2. BR workloads together with the Spark RDD APIs

      Right. R is not supported on serverless compute, and serverless supports Spark Connect but not the Spark RDD APIs.

    3. COn-demand scaling together with query-profile inspection

      On-demand scaling is a serverless characteristic, and query profile is the supported way to inspect Spark queries there.

    8 / 22

  9. Keep your progress in the app

    That’s 3 of 9 quick checks. In the app they stay answered, and every lesson remembers where you left off.

  10. The seven-day ceiling on serverless jobs

    Serverless jobs have a maximum runtime of seven days; longer workloads must be divided into smaller runs or use classic compute.

    This is a hard boundary, not a default that can be raised from a settings page. A backfill expected to run for nine days will be terminated, and no timeout setting extends the ceiling.

    There are exactly two legitimate responses:

    1. Divide the work into smaller runs that each finish inside the limit.
    2. Move the workload to classic compute, which does not carry that ceiling.

    What does not work is hoping. Assuming no maximum applies, relying on a retry after termination, or setting an eight-day timeout to override the limit all end at the same place: a job that never completes.

    9 / 22
  11. Quick check

    A job must run for longer than seven days. Which response respects the serverless runtime limit?

    1. AConfigure an eight-day query timeout so the run can pass the documented maximum

      No timeout setting raises the seven-day maximum; the run would still be terminated.

    2. BSplit the work into smaller runs, or move the workload to classic compute

      Right. Longer workloads must be divided into smaller runs or moved to classic compute, which does not carry the seven-day limit.

    3. CLeave it as one serverless run and rely on an automatic retry after it terminates

      A retry restarts the same over-length run and hits the same ceiling again.

    10 / 22

  12. Standard compute has its own boundary

    Serverless is not the only family with exclusions. Standard compute does not support Databricks Runtime for ML or GPU-enabled compute.

    If a workload requires a feature excluded by standard compute, dedicated compute is the alternative. These constraints can outweigh the appeal of sharing resources — and they routinely do, because a team that wants shared resources cannot vote its way past a missing runtime.

    Requirement Standard Dedicated
    Multi-user sharing with isolation Yes Assigned to one user or group
    Databricks Runtime for ML Not supported The alternative when it is required
    GPU-enabled compute Not supported The alternative when it is required

    So a team wanting shared multi-user resources whose workload needs both GPUs and Databricks Runtime for ML has its answer made for it: the technical requirements disqualify standard compute, and dedicated compute is the way to meet them.

    11 / 22
  13. Quick check

    A team wants shared multi-user resources, but its workload needs both GPU-enabled compute and Databricks Runtime for ML. What satisfies the technical requirements?

    1. AStandard compute, because that shared access mode covers GPUs and the ML runtime

      Standard compute supports neither Databricks Runtime for ML nor GPU-enabled compute, so the wish to share cannot be granted here.

    2. BStandard compute, because both of those restrictions apply only to dedicated resources

      The restrictions belong to standard compute; dedicated compute is what remains available when a workload needs those features.

    3. CDedicated compute, because the required features are excluded from standard compute

      Right. When a workload requires a feature excluded by standard compute, dedicated compute is the alternative.

    12 / 22

  14. What compute actually costs

    A price comparison is only meaningful once you know what is on the bill. Total compute cost includes Databricks Units plus virtual-machine, disk, and associated network costs.

    For serverless services, the Databricks Unit price already includes virtual-machine cost. That is why a serverless rate can look higher line by line and still be competitive: it is not the same line.

    Idle instances in a pool do not incur Databricks Unit charges, but cloud-provider billing still applies. Idle is not free — it is only free of DBUs. A pool left warm overnight produces no DBU charge and a very real cloud bill.

    Situation Databricks Units Cloud infrastructure
    Active classic compute Charged Charged
    Idle instances in a pool Not charged Still charged
    Serverless services Charged, with the VM cost already inside Included in that price
    13 / 22
  15. Quick check

    How are idle instances in a pool billed, and what makes up total compute cost otherwise?

    1. ANo Databricks Units are charged while idle, though cloud-provider billing still applies; total cost is DBUs plus virtual-machine, disk, and network charges

      Right. Idle pool instances incur no DBUs while cloud-provider billing continues, and total compute cost is DBUs plus virtual-machine, disk, and associated network costs.

    2. BDatabricks Units are charged while idle but cloud-provider billing stops; total cost is virtual-machine charges alone, with DBUs applying only to storage

      It is the reverse: idle instances stop the DBUs, not the cloud bill, and DBUs are not limited to storage.

    3. CNeither Databricks Units nor cloud-provider charges apply while idle; total cost is disk and network charges alone, with compute usage excluded

      Cloud-provider billing continues for idle instances, and compute usage is very much part of the total.

    14 / 22

  16. Match the engine to the cadence

    Cost also depends on how the work arrives — in bursts, on a schedule, or continuously.

    Non-interactive workloads on job compute cost significantly less than the same kind of work on all-purpose compute. A new compute instance can isolate each job, while multitask jobs can reuse compute across tasks so startup occurs once per job.

    That combination answers the classic scheduled-ETL question: isolation between runs and no startup charge per task. Job compute gives both, because the isolation boundary is the job while the reuse boundary is its tasks. Keeping all-purpose compute alive so every run can share it costs more, and restarting interactive compute per task pays startup again and again.

    15 / 22
  17. Match the engine to the cadence

    Interactive analytics has its own answer. For interactive SQL workloads, a Databricks SQL warehouse is the most cost-efficient engine. Serverless SQL warehouses start and scale in seconds, terminate idle resources, and scale down earlier than non-serverless warehouses.

    This behavior fits bursty BI demand that alternates between concurrent queries and idle periods: capacity appears for the burst and disappears afterwards, with nobody managing infrastructure in between.

    Streaming is the third cadence. Continuous streaming compute incurs cost every hour, whereas incremental triggered processing can reduce cost when freshness requirements allow less frequent updates. Autoscaling can also reduce cost by adding workers during intensive phases and removing them when they are no longer needed.

    Cadence Cost-efficient choice
    Scheduled, non-interactive work Job compute, reused across the tasks of a job
    Bursty interactive BI A serverless SQL warehouse
    Always-on freshness Continuous streaming, billed every hour
    Freshness that can wait Incremental triggered processing
    16 / 22
  18. Quick check

    A scheduled ETL workload is non-interactive, needs isolation between runs, and should not pay startup for every task. Which choice fits?

    1. AA serverless SQL warehouse acting as the execution engine for each ETL task

      SQL warehouses are optimized for interactive SQL analytics, and this workload is scheduled and non-interactive.

    2. BInteractive classic compute, restarted separately for each task in the whole job

      Restarting compute for each task pays the startup cost repeatedly, which is exactly what the requirement rules out.

    3. CJob compute, with a new instance per job and the compute reused across tasks

      Right. Non-interactive work on job compute costs significantly less than on all-purpose compute, a new instance isolates each job, and a multitask job reuses its compute so startup happens once.

    17 / 22

  19. A workload-first decision rule

    Put the four rules in the order you would actually apply them.

    • Choose serverless compute when supported workloads benefit from automatic infrastructure management and on-demand scaling.
    • Choose classic compute when the workload needs resource customization or a serverless limitation is disqualifying.
    • Choose a SQL warehouse for SQL analytics and business intelligence, then choose serverless or classic operation according to scaling and control requirements.
    • Choose job compute for scheduled or other non-interactive work when its isolation and lower cost than all-purpose compute match the workload.

    Notice the shape of the rule for warehouses: it is two decisions, not one. First the interface — this is SQL analytics — and only then the operating mode.

    18 / 22
  20. A workload-first decision rule

    Work an example. A BI team runs interactive SQL with bursts of concurrent dashboard queries, and wants capacity to follow demand with nobody managing infrastructure.

    1. The interface is SQL analytics, so the family is a SQL warehouse.
    2. The requirement is automatic scaling without infrastructure management, so the mode is serverless.

    A serverless SQL warehouse it is: optimized for the queries, starting and scaling in seconds, and terminating idle resources between bursts. Shared standard compute would leave the team managing resources, job compute is built for non-interactive runs, and dedicated compute assigned to one developer serves neither the concurrency nor the bursts.

    19 / 22
  21. Quick check

    A BI team runs interactive SQL with bursts of concurrent dashboard queries and wants capacity to follow demand with no infrastructure management. Which option fits best?

    1. AClassic dedicated compute, assigned to the developer who maintains the dashboards

      A resource assigned to one developer neither serves concurrent dashboard users nor removes the management work.

    2. BA serverless SQL warehouse, optimized for analytics and scaling automatically

      Right. SQL warehouses are optimized for SQL analytics and BI, and serverless warehouses start and scale in seconds and terminate idle resources between bursts.

    3. CClassic standard compute, shared between the team's notebooks and user-managed

      Standard compute is provisioned and user-managed, which is the opposite of the hands-off scaling the team asked for.

    20 / 22

  22. Key takeaways

    • Serverless emphasizes automatic management and scaling, while classic compute emphasizes customization and user-managed resources. Within classic, standard is shared with isolation and dedicated belongs to one user or group.
    • SQL warehouses are the compute choice optimized for SQL analytics and business intelligence, and they can run serverless or classic.
    • A seven-day serverless job limit and unsupported APIs or languages can force a classic or dedicated choice. R and the Spark RDD APIs are unsupported, the Spark UI is unavailable, and policies, init scripts, compute-scoped libraries, and instance pools are not available either.
    • Standard compute supports neither Databricks Runtime for ML nor GPU-enabled compute; dedicated compute is the alternative when a workload needs them.
    • Cost decisions must account for workload cadence, idle behavior, Databricks Units, and infrastructure charges. Job compute undercuts all-purpose compute for non-interactive work, and triggered processing undercuts always-on streaming when freshness allows.
    21 / 22
  23. Quick check

    Which pair of statements about compute selection is correct?

    1. AServerless is chosen for automatic management and scaling, and classic is chosen when customization is needed or a serverless limitation is disqualifying

      Right. Those are the two rules as stated: serverless for supported workloads that benefit from automatic management and on-demand scaling, classic when customization is needed or a serverless limitation disqualifies it.

    2. BServerless is chosen when init scripts and instance pools are required, and classic is chosen whenever a workload is written in Python

      Init scripts and instance pools are unsupported on serverless, so needing them points to classic, and Python is supported on serverless notebooks.

    3. CA SQL warehouse is chosen for scheduled non-interactive ETL, and job compute is chosen for interactive dashboard queries

      The two are swapped: warehouses serve interactive SQL analytics, and job compute serves scheduled non-interactive work.

    22 / 22

  24. 9 quick checks · then the test

    In the app, finishing the quick checks opens this lesson’s 10-question test, and the ones you miss come back exactly when you’re about to forget them.

The whole course, on your phone

Lessons you can read, audio you can listen to on the way to work, and practice that remembers what you got wrong.