iT邦幫忙

鐵人檔案

2025 iThome 鐵人賽
回列表
Rust

DataFusion 闖關攻略:30 天學習 Rust 查詢引擎之旅 系列

Apache DataFusion 是使用 Rust 開發的高效能可擴展查詢引擎,在 2024 年成為 ClickBench 基準測試中最快的單節點查詢引擎。

30 天學習路徑將從基礎環境建置、第一個查詢開始,循序漸進深入架構解析、StringView 優化原理,最後探索自定義擴展、生產部署等進階主題。透過深入原始碼分析,將完整解構從 LogicalPlan 到 ExecutionPlan 的轉換流程,理解現代查詢引擎的設計精髓。

參賽天數 23 天 | 共 23 篇文章 | 2 人訂閱 訂閱系列文 RSS系列文 團隊動鼠做
DAY 1

Day 01: Apache DataFusion 簡介

前言 去年底因為想學習資料庫原理和 Rust 這門語言而接觸 Apache DataFusion ,到現在陸陸續續也有了些小小的貢獻,不過始終對該專案還是懵懂無...

2025-09-15 ‧ 由 a834567 分享
DAY 2

Day 02: DataFusion 記憶體格式介紹 - Apache Arrow

前言 DataFusion 之所以在查詢效能上有很大的優勢,很大一部分歸功於 Arrow 這個高效的記憶體格式。今天我們就一起來認識 Arrow,瞭解它在存取資...

2025-09-16 ‧ 由 a834567 分享
DAY 3

Day 03: DataFusion 初體驗 - 建立第一個查詢

前言 經過前兩天的介紹,相信大家對 Apache DataFusion 已經有了基本認識。今天我們要進入快樂的實作階段,嘗試建立一個 rust 小專案並透過 D...

2025-09-17 ‧ 由 a834567 分享
DAY 4

Day 04: DataFusion 核心工作模式 - 從數據到洞察的完整流程

前言 打給厚,昨天我們成功執行了第一個 CSV 查詢後,不過在實際工作場景下面臨的資料量和資料來源可沒那麼單純,所以今天我們就來建立一個完整且標準化的 Data...

2025-09-18 ‧ 由 a834567 分享
DAY 5

Day 5: 多數據源整合實戰 - CSV、JSON、Parquet 混合分析

前言 打給厚,在前兩天的文章中相信各位已經瞭解 DataFusion 的基礎概念、環境建置和核心工作流程,今天我們要進入更實用的場景:如何在同一個查詢中整合多...

2025-09-19 ‧ 由 a834567 分享
DAY 6

Day 6: SQL 查詢進階技巧 - 解決實際分析問題

前言 打給厚,今天我們將深入學習如何運用 DataFusion 支援的進階 SQL 語法查詢資料,包括窗口函數、CTE(Common Table Express...

2025-09-20 ‧ 由 a834567 分享
DAY 7

Day 7: 除錯與性能優化入門 - 讓查詢跑得又快又穩

前言 大家好,不知不覺一個禮拜又快過完了,前六天我們已經學習了 DataFusion 的基本使用,從環境建置、數據讀取到複雜查詢的撰寫。但在實際應用中,難免會遇...

2025-09-21 ‧ 由 a834567 分享
DAY 8

Day 8: DataFusion 專案結構 - 認識各個 Crate

前言 時間過得好快,不知不覺已經來到第二週了,從這週開始會和大家一起閱讀 DataFusion 的原始碼, 從專案的模組架構逐步理解 DataFusion 在程...

2025-09-22 ‧ 由 a834567 分享
DAY 9

Day 9: 查詢執行生命週期 Part 1 - 從 SQL 到 LogicalPlan

前言 上一篇的文章中我們大致瞭解了 DataFusion 專案結構,接下來就要開始就要和大家一起閱讀 DataFusion 的原始碼,深入瞭解查詢引擎內部的邏輯...

2025-09-23 ‧ 由 a834567 分享
DAY 10

Day 10: 查詢執行生命週期 Part 2 - 從 SQL 到 logical plan

前言 嗨嗨,相信大家在昨天的文章中對 AST 和 logical plan 已經有了基礎的認識,今天就要來看看 DataFusion 是如何處理 SQL 語法的...

2025-09-24 ‧ 由 a834567 分享