0

現在、次のアプリの適切なソリューションを評価しています。

  • 主な目標は、複数のタブレット PC (5 台以下) からスポーツ トーナメントを追跡することです。
  • インターネット アクセスから独立するために、トーナメント ルームにローカル サーバーをセットアップし、タブレット用の Web アプリと、大きなテレビ画面またはプロジェクターで表示されるライブ統計用の Web アプリを提供します。
  • オンライン ティッカーを提供するために、ライブティッカーで Web サイトをホストし、複製されたデータベースを使用するデータセンター内のサーバーにローカル データベースを複製したいと考えています。
  • ローカルサーバーには動的IPがあり、ポート転送を構成できない可能性がある一般的なルーターに接続されており、インターネット接続の問題に備えたい. したがって、mysqlマスタースレーブレプリケーションのように、データをローカルサーバーからパブリックサーバーにプッシュするのは良い考えだと思います。

いくつかの調査の後、それが提供する複製のためにcouchdbに出くわし、今ではcouchdbによってアプリ全体を提供する可能性について読みました。それで、couchdbは私のニーズにぴったりですか、それともより良い解決策がありますか? レプリケートされた単一のcouchdbデータベースから、さまざまなWebアプリケーション(入力用のタブレット・アプリケーション、ローカルのライブ統計、オンラインのライブ・ティッカー)を処理できますか?

4

1 に答える 1

1

この 1 年間、私は CouchDB、BigCouch、および Couchbase を使って多くの作業を行ってきました。

  1. レプリケーション機能は非常にうまく機能します。開始するのは簡単で、私はいつもそれがどれほど良い仕事をしているかに驚いています. 私は過去に SQL Server でのレプリケーションに頭を悩ませていたので、CouchDB でレプリケーションがうまく機能することに驚きました。

  2. ただし、レプリケーションだけが必要な場合は、他にも多くのオプションがあります。CouchDB は、リレーショナル データベースとは大きく異なるドキュメント モデルで動作します。CouchDB は「結合」を行わないため、アプリケーションを非正規化された方法で考える必要があります。

  3. CouchDB は HTTP を介して通信し、ディスクから大量に読み取るため (CouchDB からの読み取りが非常に遅いのはなぜですか? (1.5MB/s 程度) )。したがって、速度が非常に重要な要素である場合、CouchDB を使用するかどうかはわかりません。1 つ注意しておきたいことがあります... CouchDB を使用して Erlang でフィルター/ビューを作成すると、パフォーマンスが大幅に向上することがわかりました。(読み取りで約 50% の増加を見てきました)。

  4. BigCouch と Couchbase では、動的 IP を扱うのが難しい場合があります。各テクノロジーのクラスターを最初に再起動すると、両方ともダウンしました。可能であれば、IP の代わりにホスト名を使用し、/etc/hosts ファイルでスクリプトを作成することで、これを修正できます。CouchDB の優れている点は、すべての構成情報がデータベースに保存されることです。そのため、常に Futon を介して検索し、必要な変更を加えることができました。

  5. TouchDB をチェックしてください。iOS と Android のバージョンがあり、モバイル/タブレット デバイスで実行することを意図しており、レプリケーションをサポートしています。現時点では、Android 向けの製品の準備は整っていませんが、iOS 向けには十分です。

全体として、何かを JSON に保存したい、ドキュメント データベースが必要で、必要に応じて複製したい場合、Couch が適していると言えます。

于 2013-01-28T01:25:27.443 に答える