【エスエステーブル】
SSTable とは?
💡 「書いたら絶対変えない」不変の辞書ファイルが高速DBを支えている
📌 このページのポイント
SSTableって初めて聞いたけど、どんなものなの?
キーがアルファベット順(昇順)に並んでいる、絶対に書き換えないディスクファイルだよ。辞書みたいにページが単語順に並んでいてパッと探せるイメージだね。
「書き換えない」ってどういうこと?データを更新したいときはどうするの?
SStableは変更しないで、新しいSStableを作るんだよ。同じキーの新しい値が新しいファイルに書かれて、読むときは新しいファイルを優先する。古いデータはコンパクション(統合処理)のときにまとめて消すんだ。
なんでわざわざ「書き換えない」設計にするの?
コンパクションって具体的に何をするの?
時間が経つと古いSStableがどんどん増えるから、複数のファイルをマージしてひとつにまとめる作業だよ。同じキーの古いバージョンや削除済みデータを捨てて、読み取り効率を維持するんだ。
どんなデータベースがSStableを使っているの?
まとめ:ざっくりこれだけ覚えればOK!
「SSTable」って出てきたら「ソート済みのキーを持つ書き換え不可のディスクファイル」と思えればだいたいOK!
📖 おまけ:英語の意味
「SSTable (Sorted Strings Table)」 = ソート済み文字列テーブル
💬 「Sorted Strings Table」の略で、GoogleのBigtableの論文(2006年)で登場した用語だよ。「ソートされた文字列の表」というそのままの名前なんだ。