データベースや索引で使われる、挿入・検索・削除をすべて O(log n) で実現する自己平衡型の多分木構造
B-Tree は、データベースのインデックス(索引)として世界中で使われているデータ構造です。 500ページの本から「データベース」という単語を探すとき、1ページ目から全部めくるのは大変です。でも巻末の索引を使えば「→ 243ページ」とすぐわかります。B-Tree はこの「索引」の仕組みをコンピューター向けに最適化したもので、MySQL・PostgreSQL・SQLite などのデータベースや、ext4・NTFS などのファイルシステムで採用されています。
すべての葉ノードは同じ深さにあり、木の高さは常に O(log n) に保たれます。データが 100万件あっても高さ20以下で目的のデータにたどり着けます。
次数 t は「1つのノードにデータを何個まで入れていいか」を決める数です。t が大きいほど1つの箱にたくさん詰め込めます。
このデモでは t = 2, 3, 4 を選べます。まず t = 2 で試してみて、数字を追加するたびにノードが満杯になり、分割が起きる様子を確認してみましょう。

小テーブルからハッシュテーブルを構築し大テーブルでプローブする等価結合アルゴリズム

Grace Hash Joinの改良版。1パーティションをメモリに保持してI/Oを30-50%削減

分散環境で小テーブルを全ノードにブロードキャストしてローカルJoinする手法

メモリに収まらないデータをディスクを使ってソートするアルゴリズム

ディレクトリを倍増させて動的にバケットを拡張するハッシュ方式

B-Treeを一般化した汎用検索木フレームワーク。範囲型・空間データ・全文検索に対応