If you already work with AWS, learning Databricks can feel like learning a second set of names for problems you understand. You have S3 for storage, Glue or EMR for processing, and services for orchestration, governance, and SQL queries. Where do Spark, Delta Lake, and Unity Catalog fit?
The quickest way in is to map responsibilities. AWS analogies help you find your bearings, provided you leave room for differences in architecture and operating model.
Thank you to Data with Baraa for What is Databricks? The Story Behind the Modern Data Platform (Visual Explanation). This video was useful in building a shared understanding of Databricks and how the pieces fit together — a helpful starting point for the AWS comparisons below.
Imagine a familiar requirement: order files arrive in S3, a pipeline cleans them, and analysts need daily revenue by country. We will use that pipeline to connect the terminology to decisions you would actually make.
Start with four separate layers
Four layers, four different questions
- 01
S3
Where do the bytes live?
- 02
Delta Lake
What makes files a table?
- 03
Spark
Which engine does the work?
- 04
Databricks
Who coordinates access + ops?
Keep these four concepts apart:
- S3 stores the bytes. Objects contain the input files and can also contain the data underlying analytical tables.
- Delta Lake gives files table semantics. Its format combines Parquet data with a transaction log.
- Spark performs distributed computation. It reads, transforms, joins, aggregates, and writes data.
- Databricks provides the surrounding platform. It brings together compute, development, orchestration, governance, and other data capabilities.
These layers cooperate. A Spark application running on Databricks can read objects from S3 and write a Delta table backed by object storage. The platform, processing engine, table format, and storage service each answer a different architectural question. Databricks architecture, Delta Lake overview
When a new term appears, first ask which responsibility it describes. That habit prevents a surprising number of misunderstandings.
Responsibility map (orientation, not equivalence)
| Responsibility | Familiar AWS reference | Databricks / open-source piece | Where the analogy breaks |
|---|---|---|---|
| Object storage | S3 | S3 (unchanged) | No break — Databricks on AWS can use the same buckets |
| Table semantics | Parquet + Glue table definitions | Delta Lake transaction log | Delta adds ACID commits; check reader/writer feature support per engine |
| Distributed processing | Glue Spark jobs, EMR | Apache Spark on Databricks compute | Same engine, but runtimes, connectors and APIs still need checking |
| Catalog and governance | Glue Data Catalog, Lake Formation | Unity Catalog | Different permission model; IAM still governs storage access |
| SQL serving | Athena, Redshift | Databricks SQL warehouse | Workload comparison only; billing, scaling and SQL dialect differ |
| Orchestration | Step Functions, MWAA | Lakeflow Jobs | A Lakeflow job is not a Spark job |
| Stream processing | Managed Apache Flink | Structured Streaming | Kinesis is transport, not the processing comparison |
Spark is already part of the AWS picture
Spark is the actual processing engine available through Amazon EMR and used by Spark-based AWS Glue ETL jobs. This is a direct technology connection, stronger than an analogy. If you have written PySpark transformations in Glue, you have already used Spark. Spark on Amazon EMR, AWS Glue overview
That experience gives you a useful starting point in Databricks: filtering DataFrames, joining datasets, and grouping records remain familiar operations. Moving an application still requires checking runtime versions, dependencies, connectors, credentials, and service-specific APIs. Familiar syntax alone cannot establish compatibility.
Comparing Databricks with EMR helps orient the compute discussion, but it captures only part of Databricks. A workspace also supports activities such as interactive exploration, scheduled workloads, and machine learning, with governance connected through Unity Catalog. Describing it as a notebook attached to a cluster misses that wider platform role. Databricks architecture
Think about application processes rather than whole machines
A Spark application has a driver that coordinates work and executors that run tasks. A cluster manager allocates resources. Executors are processes; a worker machine and an executor are different concepts. Spark cluster overview
If you know EKS, imagine an application with a coordinator and worker processes. That analogy helps explain the roles, but the Spark driver coordinates its application rather than acting as the Kubernetes control plane. Spark also supports deployment outside Kubernetes.
Spark divides distributed data into partitions that tasks can process separately. Execution partitions are different from S3 prefixes such as orders/date=2026-10-12/. One describes how a calculation divides work; the other describes object naming and potentially a table's storage layout. Do not assume one folder means one task. Spark programming guide
For the orders pipeline, a country-level aggregation may require redistributing records so matching keys reach the same processing group. This shuffle can make network traffic and uneven data distribution important, even when the input fits comfortably in S3. Spark shuffle operations
Delta Lake adds a table contract to stored files
A directory of Parquet files gives you a useful file format. Delta Lake adds a transaction log that tracks the table's state and supports ACID transactions. The underlying data still lives in storage; on AWS, that can be S3. Delta Lake overview
For orders, this distinction matters when yesterday's records need corrections. You want readers to see a committed table state while a writer applies changes. Delta provides a protocol for coordinating those changes, rather than leaving every application to infer a table from whatever files it discovers.
Treat the table through compatible table operations. Manually deleting objects from its backing directory can undermine the table state recorded in the log. Also check reader and writer compatibility before enabling table features across multiple engines. Delta Lake operations and compatibility
The practical question is therefore: which systems need to read and update this table, and which table features do they support?
Unity Catalog belongs in the governance conversation
For an AWS-oriented mental model, place Unity Catalog near the responsibilities of Glue Data Catalog and Lake Formation: discovering data assets, organizing metadata, and governing access. This is a comparison of responsibilities, rather than a promise of matching APIs or permissions. AWS catalog and governance context, Unity Catalog overview
A table might appear as commerce.analytics.daily_revenue. That name describes a governed object in a catalog and schema. Unity Catalog also provides capabilities such as lineage and auditing, helping teams understand how assets relate and how they are used. Unity Catalog overview
AWS IAM remains relevant to access to AWS resources. Giving an analyst permission on a table and configuring the platform's authorized access to its S3 storage are different concerns. During design reviews, ask both questions: who may query the object, and how does the compute obtain access to the underlying storage? Databricks storage architecture
Separate SQL serving from pipeline orchestration
A Databricks SQL warehouse is a compute resource for querying data. Think about the analyst-facing workloads you might serve with Athena or Redshift: exploration, reporting, and BI connections. The comparison concerns the workload. It does not imply identical storage architecture, billing, scaling, or SQL behavior. The word “warehouse” here names query compute, so do not picture it simply as the place where table files are stored. SQL warehouses
Lakeflow Jobs coordinates tasks, dependencies, schedules, and runs. If your AWS pipeline uses Step Functions or Airflow through MWAA, that orchestration role is a helpful reference point. A pipeline might ingest orders, validate them, and then refresh an aggregate. Lakeflow Jobs
Be careful with the overloaded word “job.” A Lakeflow job describes a platform workflow. A Spark job is an internal execution concept associated with work triggered by an action. One workflow task running Spark can trigger multiple Spark jobs. Keeping those levels separate makes troubleshooting conversations much clearer. Spark execution terminology
Follow the orders through both architectures
Here is one possible AWS-oriented design:
- Order files land in an S3 input prefix.
- A Glue Spark job validates fields, removes duplicate records, and produces a curated dataset.
- A second transformation calculates daily revenue by country.
- A catalog makes the datasets discoverable, and a SQL query layer serves analysts.
- An orchestrator coordinates the steps and failure handling.
Now express the same requirements with Databricks:
- Keep the S3 input location and configure authorized access.
- Run Spark transformations to clean the orders and write a Delta table.
- Produce a separate daily revenue table.
- Govern the tables through Unity Catalog and query them using a SQL warehouse.
- Use Lakeflow Jobs to coordinate the pipeline.
Same orders, same requirements, different platform
- 01
S3 input
Order files land · authorized access
- 02
Spark clean
Glue job or Databricks compute
- 03
Governed tables
Glue/Lake Formation or Unity Catalog
- 04
SQL serving
Athena/Redshift or SQL warehouse
These are illustrative designs, not migration instructions. Existing S3 data can remain in place where the chosen access and table configuration support it. Adopting Databricks does not automatically convert files, register tables, translate permissions, or migrate orchestration. Managed and external storage choices need deliberate design. Databricks storage architecture
Before calling either pipeline production-ready, test the awkward cases: a file arrives twice, a currency field is missing, orders mix currencies, a refund or correction arrives days later, or a run fails after writing output. The business requirement is trustworthy revenue; selecting the platform only establishes where you will implement that behavior.
Streaming follows the same separation of responsibilities
If orders arrive through Kinesis instead of daily files, keep transport and processing distinct. Kinesis can supply events to Structured Streaming on Databricks through its Kinesis connector. Databricks Kinesis integration
For the processing role, an Apache Flink application is a closer conceptual comparison than a Kinesis stream. Both invite questions about state, late data, and recovery, but their execution models and operational choices differ. Avoid carrying over latency or delivery guarantees without checking the complete source, processing, and sink configuration.
Where the AWS analogies stop helping
The mappings become risky when they turn into assumed equivalence. A familiar responsibility does not guarantee the same security boundary, deployment model, failure behavior, or cost profile.
In particular, verify where compute and storage live. Classic Databricks compute runs in your AWS account, while serverless compute runs in a Databricks-managed compute plane. Workspace storage arrangements also differ. The blanket statement that everything always stays in your AWS account is inaccurate. Databricks deployment architecture
Two access questions, not one
- 01
Analyst
Who may query the table?
- 02
Unity Catalog
Grants on governed objects
- 03
Compute
Classic: your account · serverless: Databricks-managed
- 04
S3 storage
How does compute reach the bytes?
Use your AWS experience to ask better questions: where are the bytes, what gives them table semantics, which engine performs the work, and which platform coordinates access and operations? Once those boundaries are clear, the product names become much easier to learn.
New to Spark itself? Start with the Spark foundations primer, then try the hands-on Spark for Streaming Media Analytics series.
