<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://petascalelabs.com/</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://petascalelabs.com/about</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://petascalelabs.com/pricing</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://petascalelabs.com/arcade</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://petascalelabs.com/arcade/games</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://petascalelabs.com/tools</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://petascalelabs.com/tools/parquet-viewer</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://petascalelabs.com/tools/scd-playground</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://petascalelabs.com/tools/pii-masking-generator</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://petascalelabs.com/privacy</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.3</priority>
</url>
<url>
<loc>https://petascalelabs.com/terms</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.3</priority>
</url>
<url>
<loc>https://petascalelabs.com/cookies</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.3</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/storage-and-file-formats</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/storage-and-file-formats/parquet-format-deep-dive</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/storage-and-file-formats/parquet-format-deep-dive/why-parquet-columnar-storage</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/storage-and-file-formats/parquet-format-deep-dive/parquet-file-anatomy</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/storage-and-file-formats/parquet-format-deep-dive/parquet-footer-reading-backwards</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/storage-and-file-formats/parquet-format-deep-dive/parquet-physical-data-types</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/storage-and-file-formats/parquet-format-deep-dive/lab-write-inspect-first-parquet-file</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/storage-and-file-formats/parquet-format-deep-dive/plain-encoding-baseline</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/storage-and-file-formats/parquet-format-deep-dive/dictionary-encoding</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/storage-and-file-formats/parquet-format-deep-dive/rle-bit-packing-hybrid</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/storage-and-file-formats/parquet-format-deep-dive/delta-encoding-sequential-integers</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/storage-and-file-formats/parquet-format-deep-dive/delta-length-byte-array-delta-strings</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/storage-and-file-formats/parquet-format-deep-dive/byte-stream-split-floats</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/storage-and-file-formats/parquet-format-deep-dive/lab-benchmarking-encodings-pyarrow</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/storage-and-file-formats/parquet-format-deep-dive/compression-codecs</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/storage-and-file-formats/parquet-format-deep-dive/logical-types-annotating-physical-types</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/storage-and-file-formats/parquet-format-deep-dive/dremel-model-definition-repetition-levels</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/storage-and-file-formats/parquet-format-deep-dive/nested-schemas-lists-maps-structs</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/storage-and-file-formats/parquet-format-deep-dive/lab-nested-parquet-pyarrow-duckdb</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/storage-and-file-formats/parquet-format-deep-dive-part-2</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/storage-and-file-formats/parquet-format-deep-dive-part-2/statistics-min-max-null-distinct</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/storage-and-file-formats/parquet-format-deep-dive-part-2/page-index-column-offset-index</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/storage-and-file-formats/parquet-format-deep-dive-part-2/bloom-filters-probabilistic-predicate-pushdown</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/storage-and-file-formats/parquet-format-deep-dive-part-2/predicate-pushdown-end-to-end</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/storage-and-file-formats/parquet-format-deep-dive-part-2/lab-measure-predicate-pushdown-duckdb</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/storage-and-file-formats/parquet-format-deep-dive-part-2/encryption-aes-gcm-column-footer-keys</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/storage-and-file-formats/parquet-format-deep-dive-part-2/variant-type-semi-structured-data</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/storage-and-file-formats/parquet-format-deep-dive-part-2/variant-shredding-extracting-fields</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/storage-and-file-formats/parquet-format-deep-dive-part-2/lab-encrypted-parquet-python</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/storage-and-file-formats/parquet-format-deep-dive-part-2/parquet-in-apache-spark</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/storage-and-file-formats/parquet-format-deep-dive-part-2/parquet-in-iceberg-delta-lake</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/storage-and-file-formats/parquet-format-deep-dive-part-2/parquet-in-duckdb-apache-arrow</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/storage-and-file-formats/parquet-format-deep-dive-part-2/format-evolution-versioning-production</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-fundamentals</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-fundamentals/why-streaming-the-problem-kafka-solves</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-fundamentals/kafkas-mental-model-topics-partitions-offsets</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-fundamentals/brokers-clusters-and-replication</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-fundamentals/your-first-producer</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-fundamentals/your-first-consumer-and-consumer-groups</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-fundamentals/keys-partitioning-and-ordering-guarantees</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-fundamentals/delivery-semantics-at-most-once-at-least-once-exactly-once</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-fundamentals/serialization-json-avro-and-the-schema-registry</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-fundamentals/retention-compaction-and-cleanup-policies</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-fundamentals/kafka-connect-moving-data-in-and-out-without-code</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-fundamentals/operating-kafka-locally-with-docker</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-fundamentals/reading-the-spark-kafka-source</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-fundamentals/common-pitfalls-hot-partitions-rebalance-storms-lag</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-fundamentals/capstone-build-a-clickstream-pipeline-for-theworldshop</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-internals</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-internals/the-commit-log-why-kafkas-storage-is-the-whole-idea</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-internals/log-segments-indexes-and-page-cache</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-internals/producers-under-the-hood-batching-linger-compression</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-internals/the-replication-protocol-and-in-sync-replicas-isr</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-internals/leader-election-and-the-controller-zookeeper-to-kraft</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-internals/consumer-group-protocol-and-rebalance-eager-vs-cooperative</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-internals/offset-management-and-consumer-offsets</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-internals/idempotent-producers</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-internals/transactions-and-exactly-once-semantics-eos</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-internals/log-compaction-deep-dive</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-internals/tiered-storage</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-internals/quotas-throttling-and-multi-tenancy-internals</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-internals/reading-the-wire-protocol-request-response-fetch-sessions</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-internals/capstone-diagnose-a-real-production-incident-from-metrics</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-operations</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-operations/capacity-planning-sizing-brokers-disks-network</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-operations/producer-tuning-for-throughput-vs-latency</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-operations/consumer-tuning-and-lag-management</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-operations/broker-tuning-jvm-page-cache-disk-layout</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-operations/observability-jmx-burrow-cruise-control-lag-slos</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-operations/schema-registry-operations-and-compatibility-strategy</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-operations/security-tls-mtls-sasl-oauth-acls</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-operations/multi-region-mirrormaker2-cluster-linking-stretch</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-operations/disaster-recovery-and-rpo-rto-tradeoffs</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-operations/upgrades-rolling-restarts-zookeeper-to-kraft-migration</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-operations/cost-optimization-storage-network-tiered-storage-economics</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-operations/self-service-platform-patterns-topic-governance-quotas</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-operations/capstone-design-a-multi-region-kafka-platform</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/cdc-fundamentals</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/cdc-fundamentals/why-cdc-the-dual-write-problem-and-the-log-as-truth</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/cdc-fundamentals/three-ways-to-capture-change-query-trigger-log</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/cdc-fundamentals/how-the-database-log-works-postgres-wal-mysql-binlog</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/cdc-fundamentals/debezium-and-kafka-connect-the-runtime</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/cdc-fundamentals/the-snapshot-phase-bootstrapping-without-losing-events</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/cdc-fundamentals/the-streaming-phase-tailing-the-log</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/cdc-fundamentals/anatomy-of-a-change-event</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/cdc-fundamentals/connector-deep-dive-postgres</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/cdc-fundamentals/connector-deep-dive-mysql-and-mongodb</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/cdc-fundamentals/handling-schema-changes-at-the-source</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/cdc-fundamentals/capstone-stream-theworldshop-orders-db-to-kafka</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/cdc-at-scale</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/cdc-at-scale/the-dual-write-hazard-revisited-at-scale</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/cdc-at-scale/the-outbox-pattern</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/cdc-at-scale/ordering-and-per-key-guarantees-across-topics</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/cdc-at-scale/schema-evolution-propagation-through-the-pipeline</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/cdc-at-scale/dead-letter-queues-and-replay</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/cdc-at-scale/exactly-once-into-sinks</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/cdc-at-scale/initial-loads-and-incremental-snapshots-at-scale</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/cdc-at-scale/gdpr-erasure-propagation-through-cdc</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/cdc-at-scale/monitoring-cdc-lag-slot-growth-connector-health</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/cdc-at-scale/failure-modes-and-recovery</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/cdc-at-scale/capstone-design-a-resilient-cdc-pipeline</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-streams</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-streams/why-kafka-streams-a-library-not-a-cluster</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-streams/kstream-and-ktable-the-duality</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-streams/stateful-operations-and-state-stores-rocksdb</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-streams/windowing-tumbling-hopping-session</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-streams/joins-stream-stream-stream-table-table-table</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-streams/the-topology-and-how-it-maps-to-tasks-and-threads</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-streams/rebalancing-standby-replicas-and-recovery</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-streams/interactive-queries</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-streams/testing-and-operating-a-streams-app</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/kafka-streams/capstone-real-time-order-enrichment</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/flink</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/flink/why-flink-true-streaming-and-the-dataflow-model</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/flink/the-flink-architecture-jobmanager-taskmanagers-slots</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/flink/event-time-vs-processing-time</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/flink/watermarks-handling-out-of-order-events</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/flink/state-in-flink-keyed-state-and-state-backends</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/flink/checkpointing-and-the-chandy-lamport-algorithm</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/flink/savepoints-rescaling-and-upgrades</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/flink/windows-and-triggers</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/flink/exactly-once-with-sinks-two-phase-commit</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/flink/flink-sql-and-the-table-api</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/flink/flink-cdc-connector</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/flink/capstone-a-fraud-detection-pipeline</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/choosing-a-stream-processor</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/choosing-a-stream-processor/the-decision-you-are-actually-making</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/choosing-a-stream-processor/latency-what-each-engine-can-and-cannot-promise</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/choosing-a-stream-processor/state-size-access-patterns-and-cost</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/choosing-a-stream-processor/delivery-semantics-and-correctness-guarantees</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/choosing-a-stream-processor/operational-cost-and-team-fit</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/choosing-a-stream-processor/kafka-streams-vs-flink-vs-spark-a-scorecard</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/choosing-a-stream-processor/hybrid-and-migration-architectures</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/choosing-a-stream-processor/cost-modeling-a-streaming-workload</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/choosing-a-stream-processor/capstone-choose-the-engine-for-three-scenarios</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/batch-ingestion-patterns</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/batch-ingestion-patterns/when-batch-beats-streaming</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/batch-ingestion-patterns/the-elt-connector-model-airbyte-singer-meltano-fivetran</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/batch-ingestion-patterns/full-vs-incremental-extraction</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/batch-ingestion-patterns/incremental-cursors-high-watermark-cdc-change-tracking</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/batch-ingestion-patterns/idempotency-on-ingest-upserts-merge-dedup-keys</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/batch-ingestion-patterns/the-singer-spec-taps-targets-state</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/batch-ingestion-patterns/scheduling-and-orchestration-touchpoints</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/batch-ingestion-patterns/schema-drift-in-batch-pipelines</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/batch-ingestion-patterns/data-quality-gates-at-ingest</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/batch-ingestion-patterns/capstone-build-an-incremental-ingestion-pipeline</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/backfill-strategies</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/backfill-strategies/the-backfill-problem-history-without-breaking-the-present</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/backfill-strategies/idempotent-writes-into-iceberg-delta</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/backfill-strategies/partition-aware-backfills</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/backfill-strategies/running-a-backfill-alongside-a-live-stream</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/backfill-strategies/dual-pipeline-reconciliation</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/backfill-strategies/watermark-resets-and-reprocessing</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/backfill-strategies/lambda-vs-kappa-and-convergence</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/backfill-strategies/backfilling-without-blowing-the-budget</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/backfill-strategies/verifying-a-backfill-counts-checksums-spot-checks</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/backfill-strategies/capstone-backfill-two-years-of-orders</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/designing-a-production-ingestion-platform</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/designing-a-production-ingestion-platform/the-ingestion-platform-charter</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/designing-a-production-ingestion-platform/event-driven-vs-batch-the-decisioning-framework</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/designing-a-production-ingestion-platform/schema-registry-and-data-contracts-strategy</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/designing-a-production-ingestion-platform/topic-taxonomy-and-naming</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/designing-a-production-ingestion-platform/multi-tenant-ingest</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/designing-a-production-ingestion-platform/dlq-replay-and-retention-policy</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/designing-a-production-ingestion-platform/cost-and-capacity-modeling</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/designing-a-production-ingestion-platform/cross-region-and-disaster-recovery</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/designing-a-production-ingestion-platform/governance-lineage-and-pii-at-the-ingest-edge</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/designing-a-production-ingestion-platform/self-service-and-platform-ergonomics</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/designing-a-production-ingestion-platform/reliability-slos-backpressure-graceful-degradation</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/ingestion-and-transport/designing-a-production-ingestion-platform/capstone-architect-theworldshops-ingestion-platform</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/open-table-formats</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/open-table-formats/iceberg-beginners</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/open-table-formats/iceberg-beginners/why-data-lakes-were-broken</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/open-table-formats/iceberg-beginners/what-is-apache-iceberg-it-s-not-a-file-format</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/open-table-formats/iceberg-beginners/snapshots-time-travel</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/open-table-formats/iceberg-beginners/schema-evolution-done-right</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/open-table-formats/iceberg-beginners/hidden-partitioning-no-more-partition-filters</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/open-table-formats/iceberg-beginners/acid-transactions-in-a-data-lake</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/open-table-formats/iceberg-beginners/your-first-iceberg-table-with-spark</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/open-table-formats/iceberg-advanced</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/open-table-formats/iceberg-advanced/the-metadata-layer-deep-dive</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/open-table-formats/iceberg-advanced/copy-on-write-vs-merge-on-read</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/open-table-formats/iceberg-advanced/catalogs-at-scale-rest-glue-nessie</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/open-table-formats/iceberg-advanced/table-maintenance-compaction</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/open-table-formats/iceberg-advanced/performance-tuning-puffin-z-order-bloom-filters</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/open-table-formats/iceberg-advanced/streaming-ingestion-with-flink</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/open-table-formats/iceberg-advanced/what-iceberg-lacks-and-when-not-to-use-it</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/open-table-formats/iceberg-advanced/production-patterns-migration-strategies</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-fundamentals</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-fundamentals/why-distributed-computing</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-fundamentals/spark-architecture-deep-dive</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-fundamentals/your-first-spark-app</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-fundamentals/rdds-the-foundation</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-fundamentals/transformations-vs-actions</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-fundamentals/key-value-rdds-pairrdds-shuffles-and-the-groupbykey-trap</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-fundamentals/rdd-persistence-caching</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-fundamentals/broadcast-variables-accumulators</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-fundamentals/enter-dataframes</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-fundamentals/spark-sql</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-fundamentals/data-sources-read-write</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-fundamentals/dataframe-transformations</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-fundamentals/joins-the-hard-part</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-fundamentals/window-functions</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-fundamentals/user-defined-functions-udfs</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-fundamentals/datasets-type-safe-dataframes</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-fundamentals/partitioning-strategy</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-fundamentals/deploying-spark-apps</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-fundamentals/monitoring-debugging</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-fundamentals/capstone-shopstream-batch-analytics-pipeline</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-advanced</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-advanced/the-dag-scheduler-internals</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-advanced/shuffle-deep-dive</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-advanced/memory-management-the-unified-memory-model</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-advanced/tungsten-off-heap-binary-format-cache-aware-computation</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-advanced/whole-stage-code-generation</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-advanced/catalyst-optimizer-deep-dive</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-advanced/adaptive-query-execution-aqe</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-advanced/join-strategies-internals</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-advanced/data-skew-detection-fixes</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-advanced/partitioning-bucketing</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-advanced/kryo-serialization-gc-tuning</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-advanced/data-locality-speculative-execution</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-advanced/advanced-configuration-mastery</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-advanced/spark-on-yarn</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-advanced/spark-on-kubernetes</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-advanced/graphx</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-advanced/mllib-pipelines</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-advanced/mllib-algorithms-deep-dive</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-advanced/delta-lake-lakehouse-patterns</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-advanced/capstone-production-grade-pipeline</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-streaming</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-streaming/why-stream-processing</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-streaming/dstream-basics</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-streaming/dstream-transformations</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-streaming/window-operations-on-dstreams</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-streaming/stateful-dstreams-updatestatebykey</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-streaming/dstream-output-sinks</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-streaming/fault-tolerance-in-dstreams</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-streaming/kafka-dstream-integration</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-streaming/structured-streaming-the-new-model</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-streaming/sources-sinks-structured-streaming</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-streaming/output-modes</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-streaming/triggers</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-streaming/event-time-watermarks</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-streaming/stateful-aggregations</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-streaming/stream-stream-joins</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-streaming/stream-static-joins</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-streaming/structured-streaming-internals</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-streaming/kafka-deep-integration</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-streaming/monitoring-backpressure</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/compute-engines/spark-streaming/capstone-real-time-pipeline</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/anatomy-of-a-broken-pipeline</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/anatomy-of-a-broken-pipeline/the-green-dag-that-wasnt</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/anatomy-of-a-broken-pipeline/late-arriving-data-and-the-silent-recompute</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/anatomy-of-a-broken-pipeline/schedule-drift-when-02-00-isnt-02-00</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/anatomy-of-a-broken-pipeline/partial-success-half-the-partitions</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/anatomy-of-a-broken-pipeline/the-retry-that-made-it-worse</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/anatomy-of-a-broken-pipeline/upstream-silence-the-sensor-that-never-woke-up</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/anatomy-of-a-broken-pipeline/the-3am-page-that-was-actually-a-tuesday</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/anatomy-of-a-broken-pipeline/postmortem-patterns-drift-contract-capacity</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/pipeline-quality-vs-data-quality</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/pipeline-quality-vs-data-quality/the-job-ran-the-data-is-wrong</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/pipeline-quality-vs-data-quality/row-counts-are-a-coverage-lie</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/pipeline-quality-vs-data-quality/schema-drift-the-column-that-quietly-changed-types</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/pipeline-quality-vs-data-quality/freshness-vs-correctness</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/pipeline-quality-vs-data-quality/volume-anomalies-as-a-leading-indicator</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/pipeline-quality-vs-data-quality/postmortem-theworldshops-loyalty-weekend</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/dags-tasks-scheduler-loop</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/dags-tasks-scheduler-loop/a-dag-is-a-contract-not-a-script</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/dags-tasks-scheduler-loop/tasks-operators-and-the-executor-wall</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/dags-tasks-scheduler-loop/sensors-polling-disguised-as-elegance</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/dags-tasks-scheduler-loop/logical-date-vs-run-date</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/dags-tasks-scheduler-loop/backfills-and-catchup</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/dags-tasks-scheduler-loop/dependencies-and-the-trigger-rule-trap</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/dags-tasks-scheduler-loop/the-scheduler-heartbeat</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/idempotency-and-state</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/idempotency-and-state/idempotent-means-safe-to-retry</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/idempotency-and-state/stateful-tasks-xcom-as-a-database</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/idempotency-and-state/watermarks-how-you-remember</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/idempotency-and-state/exactly-once-is-a-marketing-term</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/idempotency-and-state/the-retry-budget</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/idempotency-and-state/manual-interventions-and-the-audit-trail</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/scheduler-deep-dive</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/scheduler-deep-dive/what-the-scheduler-actually-does</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/scheduler-deep-dive/dag-parsing-the-silent-cpu-hog</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/scheduler-deep-dive/executor-showdown</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/scheduler-deep-dive/the-metadata-database-is-the-orchestrator</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/scheduler-deep-dive/pools-priorities-and-slots</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/scheduler-deep-dive/queues-and-the-worker-fan-out-problem</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/scheduler-deep-dive/concurrency-knobs-which-one-bit-you</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/scheduler-deep-dive/sensors-at-scale</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/scheduler-deep-dive/tuning-a-scheduler-already-on-fire</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/scheduler-deep-dive/the-orchestrator-market</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/airflow-in-production</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/airflow-in-production/deploying-dags-without-restarting</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/airflow-in-production/secrets-without-secrets-in-the-dag</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/airflow-in-production/connections-hooks-and-the-works-on-staging-trap</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/airflow-in-production/logging-that-survives</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/airflow-in-production/upgrading-airflow-without-losing-a-weekend</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/airflow-in-production/multi-tenant-airflow</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/orchestration-and-pipelines/airflow-in-production/cost-the-dag-you-forgot</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/pii-data-governance</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/pii-data-governance/pii-fundamentals</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/pii-data-governance/pii-fundamentals/ch01-what-counts-as-pii</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/pii-data-governance/pii-fundamentals/ch02-sensitive-categories</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/pii-data-governance/pii-fundamentals/ch03-classification-tiers</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/pii-data-governance/pii-fundamentals/ch04-pii-in-the-wild</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/pii-data-governance/pii-fundamentals/ch05-data-inventory-asset-mapping</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/pii-data-governance/pii-fundamentals/ch06-risk-scoring</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/pii-data-governance/pii-fundamentals/ch07-lab-classify-dataset</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/pii-data-governance/regulations-and-compliance</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/pii-data-governance/regulations-and-compliance/ch01-why-regulations-exist</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/pii-data-governance/regulations-and-compliance/ch02-gdpr-fundamentals</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/pii-data-governance/regulations-and-compliance/ch03-gdpr-engineering</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/pii-data-governance/regulations-and-compliance/ch04-ccpa-cpra</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/pii-data-governance/regulations-and-compliance/ch05-hipaa-fundamentals</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/pii-data-governance/regulations-and-compliance/ch06-hipaa-deidentification</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/pii-data-governance/regulations-and-compliance/ch07-regulations-decision-matrix</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/pii-data-governance/regulations-and-compliance/ch08-lab-map-data-flow</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/query-engines-and-olap</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/query-engines-and-olap/query-engine-foundations</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/query-engines-and-olap/query-engine-foundations/compute-vs-query-engines</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/query-engines-and-olap/query-engine-foundations/olap-workload-profile</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/query-engines-and-olap/query-engine-foundations/volcano-model</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/query-engines-and-olap/query-engine-foundations/vectorized-execution</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/query-engines-and-olap/query-engine-foundations/push-based-morsel-driven-execution</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/query-engines-and-olap/query-engine-foundations/codegen-vs-vectorization</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/query-engines-and-olap/query-engine-foundations/mpp-architecture</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/query-engines-and-olap/query-engine-foundations/exchange-operators</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/query-engines-and-olap/query-engine-foundations/query-planning-101</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/query-engines-and-olap/query-engine-foundations/rule-based-vs-cost-based-optimization</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/query-engines-and-olap/query-engine-foundations/cardinality-estimation</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/query-engines-and-olap/query-engine-foundations/join-algorithms</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/query-engines-and-olap/query-engine-foundations/distributed-join-strategies</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/query-engines-and-olap/query-engine-foundations/runtime-dynamic-filtering</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/query-engines-and-olap/query-engine-foundations/predicate-projection-pushdown</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/query-engines-and-olap/query-engine-foundations/pipeline-breakers-memory</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/dimensional-modeling-fundamentals</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/dimensional-modeling-fundamentals/lab-setup</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/dimensional-modeling-fundamentals/what-a-star-schema-actually-is</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/dimensional-modeling-fundamentals/grain-the-one-decision</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/dimensional-modeling-fundamentals/facts-vs-dimensions-the-real-test</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/dimensional-modeling-fundamentals/additive-semi-additive-non-additive-measures</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/dimensional-modeling-fundamentals/surrogate-vs-natural-keys</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/dimensional-modeling-fundamentals/snowflake-schemas-and-why-they-underperform</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/dimensional-modeling-fundamentals/junk-degenerate-mini-dimensions</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/dimensional-modeling-fundamentals/factless-fact-tables</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/dimensional-modeling-fundamentals/role-playing-dimensions</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/dimensional-modeling-fundamentals/modeling-for-change</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/slowly-changing-dimensions</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/slowly-changing-dimensions/lab-setup</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/slowly-changing-dimensions/the-scd-problem-in-one-slide</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/slowly-changing-dimensions/scd-type-1-overwrite</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/slowly-changing-dimensions/scd-type-2-effective-dating</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/slowly-changing-dimensions/scd-type-3-limited-history</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/slowly-changing-dimensions/scd-type-6-hybrid</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/slowly-changing-dimensions/bitemporal-modeling</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/slowly-changing-dimensions/late-arriving-dimensions-and-facts</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/slowly-changing-dimensions/scd-anti-patterns-in-the-wild</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/conformed-dimensions-bus-matrix</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/conformed-dimensions-bus-matrix/lab-setup</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/conformed-dimensions-bus-matrix/the-bus-matrix-as-a-communication-tool</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/conformed-dimensions-bus-matrix/conformed-dimensions</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/conformed-dimensions-bus-matrix/drill-across-queries</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/conformed-dimensions-bus-matrix/conforming-facts-vs-conforming-dimensions</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/conformed-dimensions-bus-matrix/enterprise-bus-matrix-at-scale</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/conformed-dimensions-bus-matrix/when-conformance-fails</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/data-vault-2</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/data-vault-2/lab-setup</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/data-vault-2/why-data-vault-exists</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/data-vault-2/hubs-business-key-layer</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/data-vault-2/links-many-to-many-always</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/data-vault-2/satellites-attributes-with-history</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/data-vault-2/hash-keys-and-hash-diffs</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/data-vault-2/raw-vault-vs-business-vault</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/data-vault-2/point-in-time-pit-tables</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/data-vault-2/bridge-tables-same-as-links</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/data-vault-2/loading-patterns-insert-only</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/data-vault-2/when-not-to-use-data-vault</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/one-big-table</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/one-big-table/lab-setup</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/one-big-table/columnar-economics-made-obt-sane</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/one-big-table/obt-vs-star-real-benchmark</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/one-big-table/cost-of-obt-update-amplification</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/one-big-table/hybrid-approaches-obt-on-star</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/one-big-table/obt-for-ml-feature-stores</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/one-big-table/schema-evolution-in-an-obt</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/one-big-table/obt-and-symmetric-aggregates</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/one-big-table/obt-in-the-bi-tool-pre-joined-self-serve</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/choosing-modeling-style</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/choosing-modeling-style/lab-setup</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/choosing-modeling-style/decision-inputs</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/choosing-modeling-style/kimball-stable-sources-stable-reporting</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/choosing-modeling-style/vault-for-source-volatility-audit</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/choosing-modeling-style/obt-for-columnar-self-serve</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/choosing-modeling-style/hybrid-layered-architectures</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/curriculum/dimensional-data-modeling/choosing-modeling-style/migration-cost-of-changing-your-mind</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://petascalelabs.com/arcade/games/the-hot-shard-spiral</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/arcade/games/the-small-files-tax</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://petascalelabs.com/arcade/games/the-phantom-revenue</loc>
<lastmod>2026-06-05T20:37:14.330Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
</urlset>
