ここ数年、興味を持ってCouchDBプロジェクトをフォローしてきましたが、現在は Apache Incubator プロジェクトになっています。それ以前は、CouchDB の Web サイトには、運用コードには使用しないでくださいという免責事項があふれていたので、私はそれを監視するだけでした。CouchDB をライブ プロジェクトまたは技術パイロットで使用している場合は、その経験を知りたいと思います。
7 に答える
18 か月間のプロトタイプ、テスト、および CouchDb の準備が整うのを待った後、 2008 年 12 月に内部アプリケーションを CouchDB に移行しました。これまでのところ、この移行に非常に満足しています。多くのファイルシステム オブジェクト (PDF と JPEG、現在は CouchDB に添付ファイルとして保存されています) を取り除きます。これにより、NFS を取り除き、フロントエンド Web サーバーのクラスター化/複製を容易にすることができます。
CouchDB の準備がどの程度整っているかは、組織の文化に大きく依存します。いくつかの内部 Erlang アプリケーションを維持する社内開発チームがあります。CouchDB は Erlang で記述されており、コードベースの品質は非常に優れているため、必要に応じて CouchDB の表示停止の問題を修正できると確信していました。または、少なくともデータを元に戻すことができます。また、念のため、CouchDB コア チームの 1 人をコンサルタントとして雇いました。
しかし、CouchDB は確かにまだ 1.0 ではありません。Web ワーカー プロセスでは、常にクラッシュが発生します (誤った使い方をすると)。レプリケーションが中断され、それに関するエラー メッセージは表示されません。ドキュメントはまだ非常に不足しています。それでも、データが食い尽くされることはなく、開発は妥当なペースで進んでいると確信しています。
私たちのアプリケーションについてのアイデアを提供するために: 現在、私たちの最大のデータベースは約 512000 レコードで、7.5 GB のディスク容量を必要とします。
私は CouchDB を使用して Facebook アプリケーションを強化しています (月間アクティブ ユーザー数は 35,000 人を超えています)。しばらくの間、MySQL を使用していましたが、プロジェクト全体を Perl から Erlang に移植した後、ゴールドを選択してすべてのデータを CouchDB に移行し、代わりにそれを使用することにしました。
CouchDB は、操作するのに最適なデータ ストアです。Web ベースのサービスの主要プレーヤーになる軌道に乗っていると思います。
少し前 (6 か月くらい) に取り組んでいる人の 1 人 (Jan) と知り合って、それ以来ずっと遊んでいます。CouchDB に関するコミュニティは非常に知識が豊富で役立つことがわかったので、問題が発生したときはいつでも、少なくとも数分または数時間で解決されました。
先週、基本的に非リレーショナルな方法でデータを保存する必要があるプロジェクトを開始したばかりで、CouchDB のドキュメント指向ストアにより、使用するテクノロジの 1 つとして選択しました。実際に本番環境で実行するのはこれが初めてですが、それでもかなり自信があります。:)
ここに更新があります (2009-10-25):
最初の CouchDB インストールは 20 GB で、4,000 万のレコードをホストします。2009 年 1 月から稼働しており、すばらしい成果を上げています。読み取り ( GET
) の速度は非常に優れており、複雑なデータのストアとして使用してから、プルするだけです。
私たちの 2 回目のouchdb の記事には 2 つのデータベースがあり、1 つは 160,000,000 以上のドキュメント (210 GB) で、1 日あたり 150,000 ~ 300,000 ドキュメントの間で増加しています。もう 1 つは35,000,000 ドキュメント (7 GB)のみです。このセットアップではより多くの読み取りと書き込みが行われ、初期テストのパフォーマンスは非常に良好です。
1 億 6000 万のドキュメント データベースでのビューの構築には約 1 週間かかりましたが、その後、より大きな Amazon EC2 インスタンスにアップグレードし、CouchDB 0.10.x
(から0.9.1
) への更新の準備も進めています。
私はいくつかのシナリオで、http://devk.it (開発中) のドキュメント ストアとして、また分散型電子メール配信システムのテンプレート ストアとして、より大規模なシナリオで couchdb を使用しています。
CouchDB の機能は非常に優れていますが、期待したほど高い同時実行レベルで実行することはできませんでした。また、mochiweb の最大入力バッファ サイズがハードコーディングされているため、最大ドキュメント サイズが 1MB にかなり制限されていることにも注意してください。ただし、ヘッダー ファイルを変更して再コンパイルすると、この制限を回避できます。
現在、コンピューター サイエンスの論文で CouchDB を使用しています。私のブログhttp://metalelf0dev.blogspot.comに進捗状況と意見を書いています。プロジェクトはよくできていると思いますが、既存のドキュメントは適切に整理されていません。Futon Web インターフェイスに関する簡単なチュートリアルは、初心者の私見にとって非常に役立つ可能性があります :)
本番環境でcouchdbを2回使用しました。最初は wiki likes プロジェクトで、couchdb はその役割にうってつけの候補だったと思います。すべてのドキュメントのバージョンを保存すると、非常に役立ちます。2 番目のプロジェクトはかなりのクエリ ロードであり、最初にソーシャル データをダンプしてから、さまざまなフィルターを使用してクエリを実行するというアイデアでした。標準の CouchDB クエリ機能は、私たちのニーズに対して少し純粋に見えるように見えました。しかし、全文インデクサーのように Lucene を追加し、その後 Lucene 部分で多くのクエリを実行します。そして、その解決策は十分に良さそうです。