dolthub/dolt
Dolt – Git for Data
Dolt – SQLデータのためのGitスタイルバージョン管理
概要 – Doltは、テーブルをGitリポジトリ内のファイルのように扱うリレーショナルデータベース(MySQL互換)です。Gitでおなじみのコマンドを使用して、データやスキーマの変更を fork、clone、branch、merge、push、pull、そして commit できます。これらの操作は、コマンドラインツール (dolt) またはSQLシステムテーブル、関数、ストアドプロシージャを通じて実行可能です。
重要性 – 従来のデータベースは単一の可変状態のみを保持します。Doltは タイムトラベル と 共同作業 の機能を追加します。すべての変更はコミットとして記録され、差分 (diffs) の確認、マージ競合の解決、履歴上の任意の時点へのロールバックが可能です。これにより、共同分析、再現可能な研究、そしてAIにとって重要な エージェントメモリ(複数のエージェントが共有のバージョン管理された知識ベースを必要とする場合)など、データ中心のワークフローに非常に役立ちます。
主な機能
- GitライクなCLI –
init、add、commit、branch、merge、push、pullなどが、ファイルではなくテーブルに対して動作します。 - SQLレベルのバージョン管理 –
dolt_log、dolt_statusなどのシステムテーブルや、dolt_add、dolt_commitなどのストアドプロシージャにより、あらゆるMySQLクライアントから同じ機能を利用できます。 - MySQL互換サーバー –
dolt sql-serverは標準のMySQLポート (3306) で動作し、あらゆるMySQLクライアントが接続可能です。 - 完全なリレーショナル機能 – 外部キー、インデックス、トリガー、チェック制約、ストアドプロシージャ、最大12テーブルのJOINをサポート。
- ホスティングオプション – DoltHubによる公開共有、セルフホスト型のDoltLab、またはフルマネージドのHosted Dolt。PostgreSQL互換のフロントエンド (Doltgres) も利用可能です。
- クロスプラットフォームインストール – バイナリ (~103 MB)、Homebrew、Arch、Chocolatey、Dockerイメージ、またはソースからのビルド (Go + cgo) に対応。
典型的なワークフロー
dolt initで新しいリポジトリを作成(データベース用のフォルダを作成)。- サーバーの起動:
dolt sql-server。 - MySQLクライアントで接続 (
dolt -u root -p '' sqlまたは標準のmysqlクライアント)。 - 通常のSQLでテーブルを作成/変更。
dolt_add(またはdolt add <tables>) で変更をステージングし、dolt_commit -m "msg"でコミット。dolt_log、dolt_diff_<table>、dolt_statusで履歴を確認し、dolt mergeでブランチを統合。
プロジェクトが強調するユースケース
- 共同データサイエンスおよび分析パイプライン。
- 再現可能な研究のためのバージョン管理されたデータセット。
- マルチエージェントAIシステムのためのエージェントメモリ(READMEでは「エージェントメモリに最適なデータベース」と呼称)。
- 公開データ共有(例: DoltHubデータセットカタログ)。
はじめに – 提供されているスクリプト、Homebrew、Docker、またはバイナリをダウンロードしてインストールします。dolt config でユーザー名/メールアドレスを設定し、READMEのクイックスタートに従ってサーバーを立ち上げ、スキーマを作成し、コミットして差分を確認してください。
上記の詳細はすべてリポジトリのREADMEから直接引用したものであり、外部からの仮定は一切含まれていません。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト