BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Veracity - 分散データベースを基盤とする新 DVCS

Veracity - 分散データベースを基盤とする新 DVCS

原文(投稿日:2011/07/19)へのリンク

Veracity は Windows,Mac,Linux にインストール可能な,分散データベースをリポジトリとして使用する DVCS である。

Veracity は比較的新しい分散バージョン管理システム (Distributed Version Control System / DVCS) である。1年以上前からテストが続けられてきたが,今回のバージョン 0.9.1 が "利用可能 (ready to use)" として一般公開されることになった。Git や Mercurial などと共通する点は多いが,違う部分もいくつかある。我々は Veracity を開発した SourceGear の創設者である Eric Sink 氏に話を聞いた。氏によると,この DVCS は分散データベース (Decentralized Database) をサポートしているという。

Veracity のユニークな点は,その "分散データベース" にあります。ほとんどのバージョン管理ツールはディレクトリやファイルなど,ファイルシステム指向のデータ管理を行うように設計されています。Veracity でも同じようなことは可能ですが,レコードやフィールドなどといったデータベース指向のデータ管理も行うことができるのです。

ファイルシステムのデータの場合と同じように,Veracity の分散データベースはデータベースのすべての履歴を保持します。すべてのレコードのすべてのバージョンが,誰がいつ更新を行ったか,というログ情報とともに履歴に残ります。さらに自動マージ (レコードおよびフィールドのレベルで) や制約違反の解決機能といった," データベース・チェンジセット" のプッシュおよびプルもサポートします。

このような機能によって,このデータベースは "分散" が可能となっているのです。

ユーザは Veracity のレポジトリとして,さまざまなデータベースを選択することができる。氏の説明によれば,

Veracity は API を通じてレポジトリインスタンスの操作を行います。データ保存に関する詳細は,この API によって隠蔽されます。これは Veracity のユーザが,データを保存する方法を選択可能にするためのものです。現在のバージョンでは,このような "レポジトリストレージ・プラグイン" として FS3 と呼ばれるものだけがサポートされています。このインプリメンテーションでは,ブロブデータはファイルに保存されて (各データファイルのブロブの大きさは 1GB まで),SQLite を使ってその格納場所を追跡しています。

エンタープライズ SQL データベースにすべてのデータを保存するようなストレージレイヤのプロトタイプもあります。この種のものは今後,SourceGear を通じて公開される予定です。その内のいくつかはオープンソースではなく,プロプライエタリな製品になるかも知れません。

Veracity はレポジトリインスタンス間の複製,プッシュ,プルをサポートします。インスタンスの実装されているストレージレイヤが異なっていても,このような操作が可能です。ですから例えば,Veracity チームがレポジトリインスタンスを Oracle に格納する (そのための実装が完成した時には,ですが) 中央サーバを運用して,開発者のデスクトップでは FS3 を使用する,というような設定も可能でしょう。

Veracity は C と JavaScript で記述され,CMake を使用して構築された。Windows ,Mac,Linux 用のバイナリが用意されている。 ソースコードは Apache 2 ライセンスの下でオープンソース公開されている。クライアントインターフェースがどのようなものか知りたい向きには,公開レポジトリが用意されている。

Visual Studio や Eclipse との統合,高速インポート/エクスポート,サブモジュール,Wiki など,行うべきことはまだ多い。しかし Sink 氏によれば Veracity のコードは十分に安定していて,現在のレポジトリは将来的に互換性が保たれる予定である,ということだ。今週実施される OSCON 2011 の期間中には,バージョン 1.0 のリリースが予定されている。

参考までに,SourceGear では Vault という,Microsoft SourceSafe の代替として設計された Windows 用バージョン管理システムを開発している。

この記事に星をつける

おすすめ度
スタイル

BT