<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url><loc>https://shirokoff.ca/</loc><changefreq>monthly</changefreq><priority>1.0</priority></url>
  <url><loc>https://shirokoff.ca/blog/</loc><lastmod>2026-06-11</lastmod><changefreq>weekly</changefreq><priority>0.9</priority></url>
  <url><loc>https://shirokoff.ca/blog/agent-landscape-2026</loc><lastmod>2026-06-08</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/ai-agent-memory</loc><lastmod>2026-06-08</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/ai-powered-power-bi-reporting</loc><lastmod>2026-06-16</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/ai-strategy</loc><lastmod>2026-06-15</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/airflow-internals</loc><lastmod>2021-09-21</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/analytics-engineering-dbt</loc><lastmod>2025-09-20</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/apache-flink-internals</loc><lastmod>2022-05-19</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/arrow-datafusion-internals</loc><lastmod>2022-09-14</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/aws-glue</loc><lastmod>2023-11-08</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/aws-kinesis-msk</loc><lastmod>2024-03-05</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/azure-data-factory</loc><lastmod>2023-12-05</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/azure-synapse-databricks</loc><lastmod>2024-04-15</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/bigquery-internals-dremel</loc><lastmod>2019-09-24</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/btree-vs-lsm-storage-engines</loc><lastmod>2019-03-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/building-ai-assistant-snowflake-cortex</loc><lastmod>2026-06-12</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/building-health-data-lakehouse-databricks</loc><lastmod>2025-06-24</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/building-mcp-servers</loc><lastmod>2026-06-17</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/cassandra-internals</loc><lastmod>2021-05-11</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/clickhouse-architecture-internals</loc><lastmod>2024-09-10</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/clickhouse-ingestion-streaming</loc><lastmod>2024-10-08</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/clickhouse-schema-query-optimization</loc><lastmod>2024-09-24</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/clinico-genomics-rag-aws</loc><lastmod>2026-06-07</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/cloudera-hadoop-gcp-dataproc</loc><lastmod>2024-06-20</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/coddspeed-fabric-gpu-warehouse</loc><lastmod>2026-06-10</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/data-contracts</loc><lastmod>2025-09-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/data-mesh</loc><lastmod>2023-04-10</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/data-strategy</loc><lastmod>2026-06-14</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/data-vault-snowflake-dbt</loc><lastmod>2024-07-18</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/databricks-internals</loc><lastmod>2025-03-18</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/databricks-platform-overview</loc><lastmod>2025-02-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/dataflow-model-windows-watermarks</loc><lastmod>2020-12-08</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/dbt-internals</loc><lastmod>2024-03-20</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/debezium-cdc</loc><lastmod>2022-08-16</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/designing-a-data-api</loc><lastmod>2025-02-18</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/designing-a-data-pipeline</loc><lastmod>2024-12-11</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/designing-a-data-warehouse</loc><lastmod>2024-11-20</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/dimensional-modeling-kimball</loc><lastmod>2018-02-13</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/direct-lake-vs-import-vs-directquery</loc><lastmod>2025-10-07</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/druid-pinot-realtime-olap</loc><lastmod>2021-08-17</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/duckdb-internals</loc><lastmod>2023-06-22</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/elasticsearch-internals</loc><lastmod>2020-07-07</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/end-to-end-data-vault-snowflake-dbt-openflow</loc><lastmod>2026-01-20</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/evaluating-llm-agent-systems</loc><lastmod>2026-06-20</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/fabric-vs-databricks</loc><lastmod>2025-12-10</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/feature-stores-feast-tecton</loc><lastmod>2023-03-15</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/finops-data-platforms</loc><lastmod>2024-08-15</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/ga4gh-genomic-data-sharing</loc><lastmod>2025-09-11</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/graphrag</loc><lastmod>2025-03-10</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/hadoop-hdfs-internals</loc><lastmod>2018-04-18</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/hbase-internals</loc><lastmod>2019-08-13</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/hive-metastore-internals</loc><lastmod>2018-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/iceberg-internals</loc><lastmod>2024-07-09</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/kafka-internals</loc><lastmod>2023-02-05</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/kafka-performance-scalability</loc><lastmod>2024-10-22</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/knowledge-graphs-semantic-web</loc><lastmod>2025-09-16</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/llm-inference-internals</loc><lastmod>2024-03-12</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/llm-observability</loc><lastmod>2026-05-05</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/llm-security-prompt-injection-guardrails</loc><lastmod>2026-06-18</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/mlflow-experiment-tracking-registry</loc><lastmod>2022-11-22</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/model-context-protocol</loc><lastmod>2025-04-02</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/model-serving-kserve-seldon-bento</loc><lastmod>2023-10-18</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/mongodb-internals</loc><lastmod>2019-07-23</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/ms-fabric-azure-migration</loc><lastmod>2025-02-12</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/ms-fabric-internals</loc><lastmod>2023-06-09</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/neo4j-graph-databases</loc><lastmod>2020-08-04</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/open-table-formats</loc><lastmod>2025-06-08</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/oracle-exadata-vs-teradata</loc><lastmod>2020-03-15</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/parquet-orc-internals</loc><lastmod>2019-02-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/postgres-internals</loc><lastmod>2020-11-19</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/power-bi-semantic-models</loc><lastmod>2024-06-08</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/presto-trino-internals</loc><lastmod>2020-10-13</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/pulsar-vs-kafka</loc><lastmod>2022-03-22</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/rag-bedrock-neptune</loc><lastmod>2026-05-24</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/rag-fundamentals</loc><lastmod>2026-05-06</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/rag-gcp-real-estate</loc><lastmod>2025-09-02</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/rag-on-gcp</loc><lastmod>2025-07-15</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/redis-internals</loc><lastmod>2020-09-01</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/redshift-schema-design</loc><lastmod>2022-06-10</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/regulated-ai-finance</loc><lastmod>2026-02-03</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/regulated-ai-healthcare</loc><lastmod>2026-03-17</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/regulated-ai-multi-agent-design</loc><lastmod>2026-02-24</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/rwe-clinicogenomics-aws-to-snowflake</loc><lastmod>2025-03-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/rwe-clinicogenomics-snowflake-analytics-genomics</loc><lastmod>2025-05-14</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/rwe-clinicogenomics-snowflake-governance-collaboration</loc><lastmod>2025-04-22</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/schema-registry-avro-protobuf</loc><lastmod>2020-05-12</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/snowflake-cortex-2026</loc><lastmod>2026-05-04</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/snowflake-cortex</loc><lastmod>2024-12-12</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/snowflake-internals</loc><lastmod>2025-04-14</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/snowflake-realtime-aws</loc><lastmod>2025-06-07</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/spark-internals-rdd-catalyst-tungsten</loc><lastmod>2019-05-15</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/spark-performance-optimization</loc><lastmod>2025-04-28</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/spark-performance</loc><lastmod>2024-02-10</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/starrocks-doris-architecture</loc><lastmod>2024-11-12</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/starrocks-vs-clickhouse-vs-doris</loc><lastmod>2025-05-20</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/state-ai-engineering-2022</loc><lastmod>2022-11-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/state-ai-engineering-2023</loc><lastmod>2023-11-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/state-ai-engineering-2024</loc><lastmod>2024-11-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/state-ai-engineering-2025</loc><lastmod>2025-11-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/state-data-engineering-2021</loc><lastmod>2021-12-31</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/state-data-engineering-2022</loc><lastmod>2022-12-31</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/state-data-engineering-2023</loc><lastmod>2023-12-31</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/state-data-engineering-2024</loc><lastmod>2024-12-31</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/state-data-engineering-2025</loc><lastmod>2025-12-29</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/stream-processing-flink-kafka-streams-spark</loc><lastmod>2023-07-12</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/streaming-databases</loc><lastmod>2024-09-03</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/system-design-for-data-engineers</loc><lastmod>2025-01-15</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/tableau-best-practices</loc><lastmod>2019-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/tableau-internals</loc><lastmod>2018-03-19</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/text-to-sql-semantic-layer</loc><lastmod>2026-06-19</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/topics</loc><lastmod>2026-06-17</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url>
  <url><loc>https://shirokoff.ca/blog/transformer-attention-bert</loc><lastmod>2018-11-08</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/unity-catalog</loc><lastmod>2025-04-08</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/vector-databases</loc><lastmod>2025-01-20</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/vector-search-hnsw-ivf</loc><lastmod>2023-04-04</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/vertipaq-internals</loc><lastmod>2022-10-20</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/zookeeper-consensus-raft</loc><lastmod>2019-10-29</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://shirokoff.ca/blog/word2vec-to-embeddings</loc><lastmod>2018-09-11</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
</urlset>
