3

スタンドアロンのネットワーク デバイスがあります。これらのデバイスの地理的に分散したグループの一部として機能するには、再加工する必要があります。グループ内のデバイス間の同期は、頻繁に行う必要はなく、1 時間ごとに行う必要はありません。アプリケーションは、SQLite を使用した Rails です。

主に、これらのデバイスで収集された特定の情報を同期させたいと考えています。展開のため、大規模なデータベース クラスターを追加することは現実的ではありません。

レプリケーションとレプリケーションに起因する競合の処理がその強力なスーツであるため、私はCouchDBを検討しています。

分散ネットワーク デバイスの同期を維持するメカニズムとしての CouchDB についてどう思いますか? 代替アプローチに関する考えや提案はありますか?

4

3 に答える 3

2

CouchDB は問題ありません。Unix ツールにはいくつかの代替手段があるかもしれません。

最も単純なキー/値データベースは、ファイル システム内のファイルです。彼らはうまく機能します。基本的なレプリケーションでキーと値のストレージのみが必要な場合は、rsync でそれを実行できます。たとえば、競合解決ポリシーが常に最新のタイムスタンプ付きデータを取得する場合、rsync で回避できる可能性があります。

まず第一に、おそらく Unix/Linux を実行しているでしょう。CouchDB とは異なり、SSH と rsync が含まれます。

rsync (実際にはその SSH トンネル) のもう 1 つの利点は、もちろん、識別、認証、および承認です。お使いのデバイスはおそらく Unix/Linux であり、Unix 認証を接続する方法は 100 万通りあります。これは保証ではありませんが、パスワード ファイル、NIS、LDAP、Kerberos、Samba/Active Directory など、ほぼすべてが実行可能です。リストは続きます。

Couch では、ある種のユーザー管理システムを理解する必要があります。

  • oauth を使用しますか?
  • 認証プラグインを作成する必要がありますか?
  • _usersデータベースも複製しますか?_usersデータベース内の競合はどうですか?
  • 代わりに中央_usersデータベースがありますか? 中央のデータデータベースを使用できない場合、中央のユーザー データベースを使用するにはどうすればよいでしょうか?

Couch は、MySQL と同様に本格的なサーバーです。rsync ではできないメンテナンス負荷になります。

  • データベースを圧縮し、ビューを圧縮し、ビューのクリーンアップを実行することを忘れないでください
  • ログファイルをローテーションすることを忘れないでください
  • 場合によっては、.couch ファイルと構成をバックアップし.iniます

言い換えれば、素早い rsync ハックを行うことができますか、それとも完全な Couch パッケージが必要ですか?

CouchDB は、OS に関係なく、統一された一貫性のあるプラットフォームです。それは良いことも悪いこともあります。あなたの詳細がわからないので、短期的には SSH 経由の rsync が最適ですが、長期的には Couch が最適だと思います。(しかし、非常に多くのソフトウェア プロジェクトがあるため、長期的なプロジェクトが実現することはないようです。)

于 2011-04-12T07:36:12.253 に答える
2

具体的な質問は何ですか?

CouchDB は、まさにあなたが求めているマスター マスター レプリケーションを実装しています。

または?

于 2011-04-10T05:57:53.593 に答える
2

あなたが言うように、CouchDBにはマスターマスターレプリケーションがあるため、これに最適です。WAN を介して複製しているため、CouchDB はネットワークのオンとオフを適切に処理するように設計されているため、フォールト トレランスに優れています。

多くの人がこの種の状況で CouchDB を使用しています。いくつかのケース スタディ ( http://www.couchbase.com/customers/case-studies ) と、CouchDB を使用してフロント エンド サーバーのセッション データの同期を維持することについて書いた最近のブログ記事 ( weblog.bocoup.com/ storage-php-sessions-in-couchdb )。

また、回答を提供できるように、ケースに関する詳細情報を投稿していただけると助かります。

乾杯。

于 2011-04-11T22:46:22.793 に答える