Course overview
Lesson 6 of 8 · 3 promptsAI for Data Engineers
LESSON 06 OF 8

Data Storage & Schema

3 prompts for Data Engineers

Prompts for Data Engineers: copy one, fill it in, paste it into your AI.

Track progress as a member

In this lesson

  1. 01Design a Data Warehouse SchemaUse this when you are modeling a new dataset and need a star or snowflake schema design.
  2. 02Choose Partitioning and Clustering KeysUse this when you need to decide how to partition a large table for performance and cost.
  3. 03Compare Data Lake Storage FormatsUse this when you are choosing between Parquet, ORC, Avro or other formats for a data lake and need a recommendation tied to your access patterns.
1Copy the promptClick Copy on the prompt you need.
2Paste it into your AIChatGPT, Claude, Gemini or Copilot.
3Fill in the {{brackets}}Your own details, or let the AI ask you.
4Follow up and checkUse the follow-ups, then check the facts.
01

Design a Data Warehouse Schema

Use this when you are modeling a new dataset and need a star or snowflake schema design.

Prompt

Role — You are a data warehouse modeler who turns raw source tables into a clear, query-friendly dimensional schema. Optimise for a design the team can implement and analysts can query without ambiguity.

Context you provide

  • {{business_process}} — the process being modeled, e.g. order fulfilment
  • {{source_tables}} — source tables and columns available
  • {{grain}} — what one row of the fact table represents
  • {{key_metrics}} — measures to aggregate
  • {{dimension_attributes}} — descriptive attributes needed for slicing
  • {{reporting_questions}} — questions the schema must answer
  • {{warehouse_platform}} — target platform and any constraints
  • {{scd_requirements}} — which dimensions need history tracking
  • {{refresh_frequency}} — batch cadence or near real time

Instructions

  1. Ask for any missing inputs, then confirm the grain before designing anything.
  2. Decide star versus snowflake and justify the choice in two or three sentences.
  3. Define the fact table: grain, measures, foreign keys, and any degenerate dimensions.
  4. Define each dimension: surrogate key, natural key, attributes, and slowly changing dimension type.
  5. List conformed dimensions and note where one dimension serves multiple facts.
  6. Provide a DDL sketch in generic SQL for the fact and dimension tables.
  7. List open questions, assumptions, and modelling trade-offs.

Output format Markdown. One short paragraph on grain and schema choice, then a table per fact and dimension (column, type, key role, notes), then the DDL sketch, then a bulleted assumptions list. Keep it under 800 words. No filler.

Guardrails

  • Do not invent column names, business rules, or platform features that were not provided; mark gaps as questions.
  • Flag every assumption explicitly and keep it separate from confirmed facts.
  • Tell the user to check platform documentation and data governance or privacy requirements before implementing.

Example Business process: subscription billing; grain: one row per invoice line; platform: Snowflake.

Open as its own page

02

Choose Partitioning and Clustering Keys

Use this when you need to decide how to partition a large table for performance and cost.

Prompt

Role You are a data engineering advisor who helps teams choose partitioning and clustering keys that cut query cost and scan time without creating maintenance problems. Optimise for a recommendation the team can implement and defend.

Context you provide

  • {{warehouse_platform}}: engine or service, plus any limits you already know
  • {{table_name}}: table or dataset being designed
  • {{table_purpose}}: what the data represents and who queries it
  • {{row_count_estimate}}: rough total rows and growth per month
  • {{daily_data_volume}}: rows or bytes landing per day
  • {{typical_query_patterns}}: the top queries or dashboards, with their filters and joins
  • {{common_filter_columns}}: columns used in WHERE clauses most often
  • {{join_columns}}: keys joined to other tables
  • {{cardinality_notes}}: distinct value counts for candidate columns
  • {{retention_requirements}}: how long data is kept and whether old partitions are dropped
  • {{cost_constraints}}: scan cost, storage cost, or compute limits
  • {{existing_partitioning}}: current setup, if any

Instructions

  1. Ask for any missing inputs, then continue with what you have and mark the gaps.
  2. Summarise the workload: main query shapes, filter columns, and retention pattern.
  3. List candidate partition columns with cardinality, expected partition count, and granularity options such as hourly, daily, or monthly.
  4. Recommend one partitioning scheme and explain the tradeoff between partition pruning and partition explosion.
  5. Recommend clustering or sort keys in priority order, tied to specific query patterns.
  6. Flag risks: data skew, small-file buildup, backfill cost, and impact on downstream consumers.
  7. Give a rollout plan: test on a copy, compare scan volume, then migrate.

Output format Headings: Workload Summary, Partition Candidates (as a table), Recommendation, Clustering Keys, Risks, Rollout. Keep it under 600 words. Direct technical tone. No vendor marketing and no invented benchmark numbers.

Guardrails

  • Do not invent row counts, latency figures, or platform limits. If a limit matters, tell the user to confirm it in the platform documentation.
  • Label every assumption and state what would change the recommendation.
  • Note that changing partitioning affects downstream consumers and scheduled jobs, so coordinate before migrating.

Example Platform: cloud warehouse; table: events_raw; 400M rows growing 5M per day; queries filter on event_date and tenant_id; retention 13 months.

Open as its own page

03

Compare Data Lake Storage Formats

Use this when you are choosing between Parquet, ORC, Avro or other formats for a data lake and need a recommendation tied to your access patterns.

Prompt

Role: You are a data platform advisor helping a data engineer choose a storage format for a data lake workload. Optimise for a defensible recommendation tied to the stated access patterns, not a generic feature list.

Context you provide

  • {{workload_description}}: the data and how it is produced
  • {{read_patterns}}: full scans, column subsets, point lookups, streaming appends
  • {{write_patterns}}: batch overwrite, append-only, many small files
  • {{schema_evolution_needs}}: added, renamed or dropped columns, nested fields
  • {{query_engines}}: engines and versions that must read the files
  • {{volume_and_file_sizes}}: daily volume and target file size
  • {{constraints}}: storage cost, scan cost, existing formats, migration limits

Instructions

  1. Ask for any missing inputs, then wait for answers before analysing.
  2. Restate the workload in three bullets and name the access patterns you will judge formats against.
  3. Compare Parquet, ORC, Avro and any other format the inputs justify on schema evolution, nested data, column pruning and predicate pushdown, row-level appends, compression and engine support.
  4. Score each format against the stated read and write patterns, and say which trade-off matters most.
  5. Recommend one primary format and one secondary, naming the cases where the secondary wins.
  6. List your assumptions, the checks the user must run on their own data, and a short migration path with row count and schema parity validation.

Output format Markdown. A comparison table, then a recommendation under 200 words, then assumptions and validation steps. Stay under 800 words. No vendor marketing language, no invented benchmarks.

Guardrails

  • Do not invent benchmark figures, file size thresholds or version numbers; say they must be measured on the user's data.
  • Flag every assumption about engine behaviour as unverified.
  • Tell the user to check their engine version's documentation before committing, since format support and defaults change between releases.

Example {{workload_description}}: daily clickstream events, 400 GB per day; {{read_patterns}}: column subsets in Spark SQL; {{schema_evolution_needs}}: new fields added monthly; {{query_engines}}: Spark and Trino.

Open as its own page

Skills for these tasks

Give your AI these skills and it does these tasks the expert way. Connect your AI once and it picks them up by itself.