SQLite をドキュメントデータベースとして使う:生成列で JSON を直接インデックス化
SQLite as a Document Database (2020)
SQLite の JSON サポートと生成列(GENERATED ALWAYS)を組み合わせることで、JSON をそのまま挿入し、データを抽出してインデックス化できる。これにより、軽量な組み込みデータベースでありながら、ドキュメントデータベースのような使い方が可能になる。さらに、NOT NULL 制約や CHECK 制約を活用して JSON の必須フィールドを強制したり、ALTER TABLE で後から列を追加してインデックスを作成したりできる。Webhook のデータをそのまま保存し、後から必要なフィールドを抽出するのに最適だ。
SQLite に JSON を直接挿入し、生成列を使ってデータを抽出してインデックス化できる。つまり、SQLite をドキュメントデータベースとして扱えるのだ。