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) に対応。

典型的なワークフロー

  1. dolt init で新しいリポジトリを作成(データベース用のフォルダを作成)。
  2. サーバーの起動: dolt sql-server。
  3. MySQLクライアントで接続 (dolt -u root -p '' sql または標準の mysql クライアント)。
  4. 通常のSQLでテーブルを作成/変更。
  5. dolt_add (または dolt add <tables>) で変更をステージングし、dolt_commit -m "msg" でコミット。
  6. dolt_log、dolt_diff_<table>、dolt_status で履歴を確認し、dolt merge でブランチを統合。

プロジェクトが強調するユースケース

  • 共同データサイエンスおよび分析パイプライン。
  • 再現可能な研究のためのバージョン管理されたデータセット。
  • マルチエージェントAIシステムのためのエージェントメモリ(READMEでは「エージェントメモリに最適なデータベース」と呼称)。
  • 公開データ共有(例: DoltHubデータセットカタログ)。

はじめに – 提供されているスクリプト、Homebrew、Docker、またはバイナリをダウンロードしてインストールします。dolt config でユーザー名/メールアドレスを設定し、READMEのクイックスタートに従ってサーバーを立ち上げ、スキーマを作成し、コミットして差分を確認してください。


上記の詳細はすべてリポジトリのREADMEから直接引用したものであり、外部からの仮定は一切含まれていません。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト