PyCon JP 2025 Logo
広島国際会議場
JPEN
k-kamijo

k-kamijo

Python製RDBMSで理解する、データベースのピース 〜コードのステップ実行とヘックスビューアーで内部動作を追ってみよう〜

ダリア1日本語
04:20 - 04:5030min
DAY 2
09/27
SAT

最近では、生成AIにコードを書かせることが主流になりつつあります。しかし、だからこそ、「なぜこのコードで動くのか」を理解することが大切だと考えます。 そんな中、データベースは日々使うツールなのに、中で何が起きているかまで理解している方は少ないのではないでしょうか。 そこで、今回は、Pythonを用いて自作したRDBMS:KeiPyDBを使って、データベースの中でも特にRDBMSに焦点を当てて、内部の仕組みを一緒に見てみたいと思います。

発表の構成:

  • イントロダクション(3分):自己紹介、なぜ作ったか、全体アーキテクチャ
  • 以下のトピックから、最も興味深い発表ができるものを2〜3選んで構成予定(計27分):
    • SQLパーサーと実行エンジン:文字列からクエリ実行までをステップ実行で追う
    • ファイルI/O:データの永続化とヘックスビューアーでの可視化
    • トランザクション : ACID特性の実現
    • エンディアン:なぜビッグエンディアンか、バイトオーダーの影響
    • インデックス:ハッシュ、B-Tree、B+Treeの動作、特性の違いがどこから来るのか

現在、それぞれのトピックでの「見せ方」を検討中です。デバッガでのステップ実行とヘックスビューアーでの可視化を組み合わせ、「なるほど、こうなってたのか!」と感じてもらえるような発表を予定しています。

RDBMSを実装してみて、この巨大で複雑なシステムも、一つ一つのピースに分解すれば意外とシンプルなものの組み合わせであるということが理解できました。 参加者が、Pythonで読んで、動くところを見て、RDBMSを理解する一助になれば幸いです

k-kamijo

k-kamijo

プロフィール

塾選を運営する株式会社DeltaX(デルタエックス)のエンジニアです。 主に、バックエンド、CI/CDなどを担当しています。

Webエンジニアと名乗って仕事をするようになって、4年目です。 Githubレポジトリ:https://github.com/kei-kmj