<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Datafusion on Home</title>
    <link>https://blog.rafaelfernandez.dev/tags/datafusion/</link>
    <description>Recent content in Datafusion on Home</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <copyright>© 2026 Rafael Fernandez</copyright>
    <lastBuildDate>Tue, 24 Mar 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.rafaelfernandez.dev/tags/datafusion/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>How Query Engines Work 2. Why modern query engines think in columns</title>
      <link>https://blog.rafaelfernandez.dev/posts/how-query-engines-work-2-columnar-storage-arrow-rust/</link>
      <pubDate>Tue, 24 Mar 2026 00:00:00 +0000</pubDate>
      
      <guid>https://blog.rafaelfernandez.dev/posts/how-query-engines-work-2-columnar-storage-arrow-rust/</guid>
      <description>Why do modern query engines pass around columns instead of rows? Because the hardware loves it. This post explains why columnar layout is so fast, how Apache Arrow represents it in memory, and how to build and manipulate Arrow arrays in Rust without treating the whole thing like black magic.</description>
      
    </item>
    
    <item>
      <title>How Query Engines Work 1. The small compiler hiding behind every SQL query</title>
      <link>https://blog.rafaelfernandez.dev/posts/how-query-engines-work-1-from-sql-to-results/</link>
      <pubDate>Mon, 23 Mar 2026 00:00:00 +0000</pubDate>
      
      <guid>https://blog.rafaelfernandez.dev/posts/how-query-engines-work-1-from-sql-to-results/</guid>
      <description>You write a SQL query, hit enter, and a few milliseconds later results appear. In between, a small compiler has already parsed your text, built a plan, optimized it, and executed it. This post walks through that pipeline with a real query and real Rust code using DataFusion.</description>
      
    </item>
    
    <item>
      <title>Sail. Sailing Through Giants and Sparks</title>
      <link>https://blog.rafaelfernandez.dev/posts/sail-sailing-through-giants-and-sparks/</link>
      <pubDate>Wed, 16 Jul 2025 00:00:00 +0000</pubDate>
      
      <guid>https://blog.rafaelfernandez.dev/posts/sail-sailing-through-giants-and-sparks/</guid>
      <description>In this article, I share my critical view on the current state of data engineering, dominated by heavyweight platforms like Spark and Databricks, and introduce Sail, an open-source engine built on top of Apache Arrow and DataFusion, written in Rust, that offers a new path: lightweight, efficient, and powerful.</description>
      
    </item>
    
  </channel>
</rss>
