4

異なる場所にある 2 台のデスクトップ コンピューター間で CouchDB データベース データを移行する必要があります。コンピューターの 1 つは Windows XP、もう 1 つは OS X 10.5 を実行する Macintosh です。どちらもインターネット経由で現実的に接続することはできません (PC にはファイアウォールがあり、Mac には高速インターネット アクセスがありません)。しかし、私は行ったり来たりする USB サムドライブを持っています。

CouchDB のデータベース ダンプ (MySQL の mysqldump など) を実行して、一方からエクスポートし、他方にインポートできるようにする方法はありますか? データベースのレプリケーションについて読みましたが、相互に通信できるのは 2 つのライブ データベース間のみのようです。生のデータベース ファイルをコピーできますが、PC で実行されている CouchDB のバージョンがわかりません (最新のネイティブ Windows CouchDB インストーラーが何であれ、 0.0.0 と表示されます)。MacではCouchDBXの最新バージョンが実行されています。ファイルのバージョンに互換性があるかどうかはわかりません。

CouchDB のレプリケーションとバージョン管理機能は、私のアプリケーションにとって非常に興味深いので、これをセットアップするのを楽しみにしています。

編集:次のいずれかが必要なようです:

  • 別の(または同じ)couchdbサーバーに直接複製するcouchdb
  • 同じバージョンのcouchdbのcouchdbデータベースファイル
  • couchdb-python ツール(「couchdb-dump」および「couchdb-load」) を使用していますが、何らかの理由で Wi​​nXP+Python 2.6.2 で確実に動作させることができません (ダンプは「機能します」が、ロードでは整合性チェックに失敗したと表示されます)。

これは本当にイライラします。:/

4

3 に答える 3

4

Windows 用にいくつかの実験的なバイナリがリリースされていますが、CouchDB の Windows バージョンについては非常に初期の段階です

自宅に Mac があり、企業のファイアウォールの内側で Windows が使用されていると思います。ファイアウォールはポート 80 をブロックすべきではありません。PC からポート 80 で Mac の IP アドレスに telnet できる場合は、ポート 80 経由でレプリケーションが可能になるはずです。

あるいは、couchdb-python には、couchdb-dump ユーティリティが含まれています。あなたがcouchdb 0.9.1を実行している場合、couchdbを操作するにはcouchdb-python 0.6.0が必要です。

couchdb-dump --version あなたのcouchdb-pythonのバージョンを確認します

何かのようなもの:

couchdb-dump http://localhost:5984/prod > 20090724.dump

デフォルトポートで実行されているcouchdbから prod という名前のデータベースを、 20090724.dump という名前のシリアル化されたファイルにダンプします。出力している各ドキュメントの ID と設計ドキュメントが一覧表示されます。

couchdb 0.9.1 と couchdb-python 0.6.0 では、これはすべて OS X でうまく動作するはずです (ちょうど Leopard マシンで試してみました)。Mac でこのセットアップを取得し、手順を確認してから、同等の Windows を確認することをお勧めします。

于 2009-07-26T02:10:45.187 に答える
0

「 Couchfuseは、Couchdb データベースをファイルシステム フォルダーとして公開する FUSE ファイルシステムです。」

于 2010-10-05T18:21:36.217 に答える
0

Couch DB の概念の 1 つは、オフラインの Notes データベースが分散情報管理をサポートしているように、情報のレプリカを切断することです。そのため、1 つの CouchDB インスタンスで切断されたデータセットを保持し、それを別のサーバー インスタンスに対してレプリケートするのは、おそらく一般的な状況です。

この構成では、アプリケーションはどちらのシステムでも変更を処理できます。少なくとも競合が検出され、それらに対処する機会が与えられます。ほぼ切断されたラップトップと自宅の「サーバー」の両方で共通の情報セットを取得するために、私が現在実験しているのはまさにこのシナリオです。

于 2009-07-09T21:50:07.223 に答える