Prepstellar

Data Engineering Fundamentals · Data Engineering Foundations

20 cards

Data Engineering Systems

Swipe, scroll or use ← →
  1. What data engineering is for

    Before an analyst can compare two quarters, or a model can score a customer, somebody has to make the data reachable, correct, and understandable. That work has a name.

    Data engineering designs and builds systems that aggregate, store, transform, and deliver data at scale. The output is not merely moved bytes. A usable data product is accessible in a form suited to a downstream purpose, with reliability, quality, context, and appropriate security.

    Analysts, applications, and machine-learning systems should receive data they can interpret and use consistently. A folder of copied files with no owner, no schedule, and no description fails that test even though the bytes arrived intact.

    A data product needs What it looks like in practice
    Reliability The delivery keeps working, and a failure is visible instead of silent.
    Quality Malformed or invalid records are caught rather than passed downstream.
    Context A consumer can tell where the data came from and how current it is.
    Security Access is appropriate to the audience the data was built for.
    1 / 20
  2. What data engineering is for

    Reliability is a system property. It is not the care taken by whoever happened to run the job last night.

    Pipelines need validation, monitoring, error handling, and recovery so a failed transfer or malformed record does not silently corrupt downstream meaning. A silent corruption is worse than a loud failure: the report still renders, so nobody investigates, and a decision gets made on numbers that were never true.

    Context is delivered the same deliberate way. Metadata such as lineage and freshness helps users understand where data came from and whether it is suitable for a decision. "This table was last loaded four hours ago from the payments system" is information the consumer cannot reconstruct from the rows themselves.

    2 / 20
  3. Quick check

    A team copies source files into a storage folder every night. Nothing validates them, nothing describes them, and a failed run leaves no trace. What is still missing?

    1. AReliability, quality, context, and access fitted to a downstream purpose

      Right. Data engineering delivers data that a consumer can access, interpret, and depend on, not just bytes that arrived.

    2. BNothing, because copying the bytes on a schedule finishes the job

      Persistence on its own does not make a data product: nobody can yet tell whether the data is complete, current, or theirs to read.

    3. CA revenue forecast, produced before any of the files are stored

      Forecasting is downstream analytical work that consumes prepared data; it does not replace the engineering responsibility.

    3 / 20

  4. Operational and analytical workloads

    Not every system is doing the same kind of work with data, and the difference decides where that data should live.

    Operational workloads capture and change current business records, such as orders, payments, subscriptions, or inventory updates. They emphasize reliable transaction handling and frequent record creation, update, or deletion.

    Analytical workloads scan, combine, group, and summarize data to explain trends, compare periods, and support decisions. They often use historical data from several operational sources.

    Recording a new order and updating it as the customer adds items is operational work: it creates and changes a current business record. Grouping five years of those orders by region and quarter is analytical work.

    Operational Analytical
    What it does Creates, updates, and deletes current records Scans, joins, groups, and summarizes
    Time span The present state of the business Integrated history from several sources
    Shape of the work Many small, frequent transactions Fewer, much wider reads
    Example Update a customer's current order Compare revenue by category across quarters
    4 / 20
  5. Quick check

    A service writes a new order row, then updates that row each time the customer adds an item. Which workload is this, and why?

    1. AOperational, because it creates and then changes a current business record

      Right. Creating and modifying current business records is exactly what an operational workload does.

    2. BAnalytical, because stored orders are being combined into one view

      Nothing is being combined here: a single current record is written and then revised.

    3. CAnalytical, because the change is written immediately rather than overnight

      Timing is not what makes a workload analytical; scanning and summarizing integrated data is.

    5 / 20

  6. Why the two workloads are kept apart

    The workloads should not compete unnecessarily. A warehouse separates analytical processing from transactional databases, improving the ability of each system to serve its own access pattern.

    The reason is in the shapes above. An operational application might write one sale immediately; an analytical query might later scan millions of sales and group them by product, location, and month. Point the second at the database serving the first and both suffer: the scan is slow because the database is tuned for small writes, and the checkout gets slower because the scan is holding resources.

    Separated, large analytical scans can run without competing directly with current transaction handling. Each system keeps the access pattern it was designed for.

    6 / 20
  7. Why the two workloads are kept apart

    Take a concrete split. A checkout service needs fast updates to current orders. Finance needs monthly trends across orders, payments, and refunds — three different operational systems, several years deep.

    The arrangement that serves both keeps transaction updates in the operational systems and serves the integrated history from an analytical repository, which ingestion and transformation keep supplied.

    The tempting shortcuts both fail:

    • Running the monthly scan on the checkout database puts a heavy analytical read straight into the path of live transactions.
    • Retiring the operational record store in favour of the dashboard dataset removes the system that has to accept the next order.
    • Leaving each source isolated and asking finance to reason from current records only removes the history the question was about.
    7 / 20
  8. Quick check

    A checkout service needs fast current-order updates, while finance needs monthly trends spanning orders, payments, and refunds. Which arrangement serves both?

    1. APoint the monthly finance scans at the checkout database during peak trading hours

      A wide historical scan run against the transactional database is precisely the competition that separation exists to prevent.

    2. BMove checkout writes into the finance dashboard dataset and retire the record store

      The operational store is what accepts the next order; a dashboard dataset cannot take over transaction handling.

    3. CKeep the updates operational and serve the integrated history analytically

      Right. Each workload keeps the system suited to its access pattern, with ingestion and transformation feeding the analytical side.

    8 / 20

  9. Keep your progress in the app

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

  10. The path a platform follows

    A data platform connects a sequence of responsibilities. Naming them separately is what makes a platform diagnosable later.

    Sources produce data in databases, applications, files, devices, and event systems. Ingestion moves batch or streaming data from those sources into the platform. Storage retains raw or managed data durably. Transformation cleans, validates, standardizes, joins, and aggregates data into forms required by consumers.

    Responsibility What it answers
    Sources Where does the data originate?
    Ingestion How does it get in?
    Storage Where does it stay, durably?
    Transformation What shape do consumers actually need?
    9 / 20
  11. The path a platform follows

    Orchestration coordinates tasks, dependencies, schedules, retries, and production monitoring across the workflow. Serving then exposes data through analytical tables, reports, machine-learning datasets, APIs, or operational destinations.

    The path is not required to be one linear tool, but every responsibility needs an explicit owner and handoff. Two teams can each assume the other schedules the nightly load, and the gap only becomes visible when a report is quietly a day old.

    Responsibility What it answers
    Orchestration When does each unit of work run, and after what?
    Serving How do consumers finally reach the result?
    10 / 20
  12. Quick check

    A device feed and a SaaS application both need to become available inside the platform. Which responsibility performs that move?

    1. AIngestion, which brings batch or streaming data from sources into the platform

      Right. Moving batch or streaming data from sources into the platform is exactly the ingestion responsibility.

    2. BOrchestration, which coordinates dependencies but moves no source data itself

      Orchestration decides when the work runs and in what order; the movement itself is somebody else's job.

    3. CServing, which publishes finished dashboards without landing any data first

      Serving is the far end of the path: it exposes results that ingestion and transformation already produced.

    11 / 20

  13. Storage and compute are different things

    Under the path sits a smaller distinction that decides how a platform scales and how it gets debugged.

    Storage persists data and table state independently of whether a computation is currently running. Compute executes transformations, queries, and other processing against data.

    Decoupling the two allows each to scale or change without treating stored data as temporary compute memory. A cluster can finish its join and shut down at midnight; the table it wrote is still there, still queryable, at nine the next morning. That is only true because persistence never depended on the process being alive.

    Responsibility Alive when a job is running Alive when nothing is running
    Storage Yes Yes — data and table state persist
    Compute Yes No — it is the work, not the record

    Practically, this means you can grow query capacity without copying data, and retain data without paying for an idle engine.

    12 / 20
  14. Quick check

    A job finishes a join and its compute shuts down, yet the resulting table is still queryable the next day. Which responsibility did each half?

    1. ACompute held the table between runs, and storage executed the join over the records

      This reverses the two: compute is the work being done, and it does not survive its own shutdown.

    2. BStorage held the table between the runs, and compute executed the join over the records

      Right. Storage persists data and table state independently of any running computation, while compute executes the processing.

    3. CMetadata held the table between the runs, and orchestration itself executed the join over it

      Metadata describes assets rather than storing their rows, and orchestration starts work rather than performing it.

    13 / 20

  15. Orchestration coordinates; metadata describes

    The last two responsibilities are the ones most often blamed for each other's failures.

    Orchestration decides when work runs and how dependent units are coordinated; it does not perform the data transformation merely by scheduling it. A job can invoke a query, notebook, pipeline, or service, while the invoked compute performs the work. Retries, dependency order, and production monitoring belong here too.

    Read that boundary literally. A schedule that says "run the aggregation after ingestion succeeds" has not aggregated anything. It has arranged for something else to.

    14 / 20
  16. Orchestration coordinates; metadata describes

    Metadata services describe and govern data through schemas, catalogs, lineage, ownership, and access controls. Metadata helps people and engines find and trust assets, but it is not the data itself or the compute that processes it.

    Metadata is what answers the questions the rows cannot: who owns this table, when was it last refreshed, which source did it come from, and who is allowed to see it. A table that queries perfectly and answers none of those is technically healthy and practically unusable, because nobody can justify a decision made from it.

    Question a user asks What supplies the answer
    "What columns and types are here?" Schema
    "Where does this come from?" Lineage
    "Who do I ask about it?" Ownership
    "May I see this?" Access controls
    "Is it current enough to decide on?" Freshness
    15 / 20
  17. Quick check

    Users can query a table, but nobody can tell who owns it, how fresh it is, or who may see it. Compute and storage are healthy. What closes the gap?

    1. AAdd transformation compute, though the existing queries already run fine

      Adding compute addresses execution, which the scenario already reports as healthy.

    2. BCopy the table into more storage locations so people are likelier to find one

      Duplicating an undescribed table multiplies the confusion instead of answering any of the questions.

    3. CDescribe and govern it: catalog, lineage, ownership, freshness, and access rules

      Right. Schema, catalog, lineage, ownership, and access controls are what let people find and trust an asset.

    16 / 20

  18. Diagnosing by responsibility

    Clear separation improves architecture decisions. Once each responsibility has a name, a symptom points at a component instead of at a mood.

    • If queries are slow, investigate compute, layout, or workload design rather than adding a scheduler.
    • If users cannot find an asset, improve catalog and lineage rather than duplicating storage.
    • If a workflow starts tasks in the wrong order, repair orchestration rather than changing the analytical model.

    The pattern is the same each time: match the symptom to the responsibility that owns it. Consider a stale dashboard. Ingestion finished, the raw data is present, and the transformation code runs correctly when someone launches it by hand — but it never started on its own. Storage did its job, compute is capable, and the model is fine. What failed is the handoff from a completed ingestion to the dependent task, and that handoff is orchestration.

    17 / 20
  19. Quick check

    Ingestion finished and the raw data is present. The transformation code works when run by hand, but it never started, so the dashboard is stale. What should be corrected first?

    1. AStorage, since durable raw data ought to launch the transformation by itself

      Storage persists data; it does not start jobs, and the evidence shows the data was persisted correctly.

    2. BOrchestration, since the dependency and the task start were not coordinated

      Right. The missing handoff from finished ingestion to a dependent task is exactly what orchestration owns.

    3. CServing, since the dashboard ought to rebuild the aggregate from raw rows

      Serving displays a result that transformation was supposed to produce; it is not the component that failed.

    18 / 20

  20. Key takeaways

    • Data engineering delivers reliable, usable data products for downstream work — accessible, quality-checked, described, and appropriately secured, not simply moved.
    • Operational systems maintain current transactions; analytical systems examine integrated and historical data. Separating them lets each serve its own access pattern.
    • A platform connects sources, ingestion, storage, transformation, orchestration, and serving. It need not be one tool, but every responsibility needs an owner and a handoff.
    • Storage persists, compute processes, orchestration coordinates, and metadata describes and governs. Match the symptom to the responsibility before spending on a fix.
    19 / 20
  21. Quick check

    Which summary keeps the four platform responsibilities in their proper roles?

    1. AStorage processes queries, compute schedules the runs, orchestration persists tables, metadata joins rows

      Every role here has been swapped with another: storage does not process and orchestration does not persist.

    2. BStorage persists data, compute processes it, orchestration coordinates the work, and metadata governs

      Right. Each responsibility is stated in its own role, which is what makes a symptom traceable to a component.

    3. CMetadata stores the rows, storage retries failed tasks, compute catalogs owners, orchestration cleans data

      Metadata describes rather than stores data, and cataloguing is not something compute does to it.

    20 / 20

  22. 8 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.