GitHubリポジトリをサーバーレスRDBのように使うGitDBを作りました
(github.com/3x-haust)GitDBというTypeScriptライブラリを作っています。
GitHubリポジトリをバックエンドとして使う、サーバーレスRDB風のデータベースです。データはrepo内にmanifest、mutation log、snapshotのようなファイルとしてコミットされ、Git historyがそのままデータ変更履歴になります。
サポートしているもの:
- table API: insert, upsert, select, deleteWhere
- SQL風query: SELECT, JOIN, GROUP BY, aggregate など
- indexベースのselect
- transaction
- plaintext / encrypted storage
- browser export: extension、static appで利用可能
- Node/CLIサポート
目標はPostgresのような一般的なDBを置き換えることではなく、拡張機能 / 静的アプリ / エージェント / 小さなツールで「DBサーバーなしでGitHub repo 1つをデータストアとして使う」という選択肢を作ることです。
GitHub APIのlatencyとrate limitがあるため、hot OLTPやrealtime multi-writerには向いていません。その代わり、低頻度なアプリデータ、demo、internal toolのように、変更履歴とデプロイの単純さがより重要なケースを想定して作りました。
まだコメントはありません。