## 概要
Torsten Grust(University of Tübingen)が担当する15週構成の講義シリーズ「Design and Implementation of DuckDB Internals(DiDi)」の第1回スライド「Welcome & Setup」。講義全体の射程(データ表現、SQLからのクエリプラン生成、データ構造とアルゴリズム、CPUアーキテクチャとの関係、並列性、耐障害性)を概観し、対象システムDuckDBの特徴、講師の経歴、教材の入手方法、DuckDBのインストール、DuckDBという名称の由来を紹介する導入回である。技術的な深掘りは次回以降に譲り、本回は前提知識の確認とコースロジスティクスが中心。
## 主要メッセージ
- 本コースはタブラー(表形式)DBMSの内部実装を扱い、グラフ・キーバリュー・ベクトルDBなど他種DBMSは対象外(p.6)。
- 対象読者は表形式データモデルとSQLの基礎的な知識を前提とする。前提知識が不足する場合は姉妹コース「Tabular Database Systems (TaDa)」を薦めている(p.6)。
- DuckDBを選ぶ理由として、開発が活発であること・オープンソース(MITライセンス)であること・内部観測用フックが豊富であること・CLIと各言語APIを備えること・インストールと保守が容易であることを挙げる(p.3)。
- 教材はスライド・コード断片(SQL/Python/C)・サンプルデータを含み、単一教科書ではなく学術論文・DuckDB公式ドキュメント・ブログ記事等を横断的に参照する構成である(p.8-9)。
## 視覚的に重要な図表
**p.4 「Not DuckDB」: 専用DBMSプロセス/ホストが利用者から隔離されるアーキテクチャ**
![[_attachments/DiDi-01-Welcome-Setup/page-004.png]]
DBMSプロセスがディスク群を制御しRAMバッファへテーブル断片をマップする一方、クライアントプロセスとはネットワーク/IPC経由で分離され、データの直列化・非直列化コストが発生する伝統的アーキテクチャ(PostgreSQL・MySQL・SQL Server・Oracle等)を示す。
**p.5 DuckDB: 自プロセス内で動くタブラーDBMS**
![[_attachments/DiDi-01-Welcome-Setup/page-005.png]]
DuckDBカーネルとクライアント(DuckDB CLIやPython)が単一プロセスを共有し、SQLで直接クライアントのデータ構造を読み書きできる「zero copy」設計を示す。DuckDBはRAMバッファを確保しつつ、必要に応じてディスクを一時記憶域として使う。
**p.11 DuckDBの名称の由来**
![[_attachments/DiDi-01-Welcome-Setup/page-011.png]]
共同開発者[[Hannes Mühleisen]]がアムステルダムのハウスボートで飼っていたアヒル「Wilbur」にちなんで命名されたという逸話と、Hannes(CEO)・[[Mark Raasveldt]](CTO)が運営する[[DuckDB Labs]](アムステルダム所在、DuckDBのサポート・コンサルティング企業)を紹介する。
## 講師・コース情報
- 講師: [[Torsten Grust]](University of Tübingen教授、データベースシステム分野)。経歴はTU Clausthalでの博士課程(1989-1994)からU Konstanzでの博士号取得(1994-1999)・IBM客員研究員(2000)・Habilitation(2000-2004)を経て、TU Clausthal(2004-2005)・TU München(2005-2008)で教授職、2008年以降U Tübingenに在籍(p.7)。
- コースのスライド・コード・サンプルデータは`github.com/DBatUTuebingen/DiDi`で公開予定(p.8)。
- DuckDBバージョンはv1.5系(2026年3月時点でv1.5.0)を対象とし、macOS/Windows/Linux(x86+ARM)に対応するがiOS/AndroidではCLIが利用不可(ブラウザ版`shell.duckdb.org`で代替可能)と紹介する(p.10)。
## 概念・実体への接続
- [[DuckDB]]: 本スライドは[[@2019__SIGMOD__DuckDB - an Embeddable Analytical Database]]で示されたDBMSプロセス分離とは異なる組み込みアーキテクチャ(zero copy設計)を、講義用に図解し直したもの。技術的主張自体はSIGMOD論文と整合する。
- [[列指向OLAPデータベース]]: 「サーバプロセス型 vs 組み込み型」という配備形態の対比を、本スライドのp.4/p.5図が視覚的に補強する。
- [[Torsten Grust]] / [[Hannes Mühleisen]] / [[Mark Raasveldt]] / [[DuckDB Labs]]: 人物・組織の背景情報。
## 限界・不確実点
- **発表日の不確実性**: タイトルスライド(p.1)には "April 7, 2026" と明記されているが、公式ページ(https://duckdb.org/library/design-and-implementation-of-duckdb-internals/)のメタデータ上の公開日は "2026-03-19" となっており、両者が一致しない。前者はこの回の実施日、後者はコースページ自体の公開・登録日である可能性が高いが、確証はない。`date_published`はスライド上の日付(2026-04-07)を採用し、`confidence: medium`とした。
- スライド中のアイコン(SSD/HDD・RAM・CPU等の絵文字的記号)は視覚的装飾であり、これ自体に技術的主張はないため本文では言葉に置き換えた。
- 音声・動画・文字起こしは提供されていない(transcriptなし)。口頭説明由来の情報は含まない。
- 本スライドはコース全15回のうち第1回のみを対象とし、技術的な内部実装の詳細(メモリ管理・ソート・ART索引・クエリ実行パイプライン・ベクトル化実行・クエリ最適化)は後続回(未取得)で扱われる予定。