2012-02-18 4 views
43

モバイルアプリケーションのバックエンドとしてCouchDBを実行し、SQliteを置き換えたいと考えています。AndroidでCouchDBを使用する方法が混乱しています

私は、昨年Couchbase(Couchbase、Couchbase Single Server、Membase、Couchbase Mobile)によってリリースされた同様のサウンド製品に加えて、それらのすべてを単一のプロジェクトであるCouchbase Serverに統合します。しかし、それは実際にCouchDBではなくMembaseです。これを打ち消すために、CouchDBの作成者はもはやCouchDBで作業することはありません。しかし、CouchDBの周りには非常に活発なコミュニティがあるようです。ここで私が知っている:

  1. 私はCouchbaseの、同社は、もはやのCouchDBの分布を提供することを理解していません。

  2. 私はCouchbase社の新しい焦点であるCouchbase Serverが実際にはCouchDBではないことを理解しており、CouchDBと互換性がありません。 CouchDBが使用するHTTP APIは実装されていません.Membaseから進化したバイナリプロトコルを使用しています。

  3. CouchDB Mobileの最近の情報はすべてCouchbase Mobileを指しているようです。

私の質問は、に煮詰める:

は、Androidデバイス上でのCouchDBを使用することは可能ですか? APIが互換性がないため、CouchDBサーバーではなくCouchDBが特に役に立ちます。

それでもどうすればいいですか?ソースコードはどこですか?どのサンプルアプリですか?

私の質問が混乱する場合は申し訳ありません。正直言って、私は、一見矛盾したオンラインの投稿の膨大なコレクションを苦労して過ごしています。 Android上でCouchDBを実行したいだけです! :)

+0

何かの理由がありますが、なぜSQLiteではなくCouchDBを使用したいのですか? – Luksprog

+2

@slukian CouchDBのレプリケーション機能を利用したいと思います。モバイルアプリと一致するサーバーアプリケーションはCouchDBを使用します。 – Jonathan

答えて

12

TouchDB、https://github.com/couchbaselabs/TouchDB-AndroidのAndroidのポートは、面白いかもしれません:

「TouchDBは、モバイルやデスクトップアプリケーションに埋め込むのに適した軽量のCouchDB互換のデータベースエンジンです。」

これはCouchDBのドロップイン置換ではありませんが、基本的には同じで、おそらくはCouchDBとの間のレプリケーションをサポートするAPIを約束しています。

+1

ありがとう、私はこれを調べます。私はまだ多くのインターネット記事に言及している、難解なCouchDB for Androidを見つけようとしています。 – Jonathan

30

私はCouchbaseの共同設立者として、あなたに明確な理解を与えることができるはずです。私はあなたの質問を順番に受け取ります。

1)正解。 Couchbase ServerはCouchDBではありません。 CouchDBは、HTTPインタフェース、マスター/マスターレプリケーションなどの機能を犠牲にして、他の綺麗なもの(サブミリ秒のレイテンシ、巨大なクラスター)を実行することができます。長期的に見ると、私たちが取り除かなければならなかった機能の高性能バージョンです。今のところ、私たちは最も信頼性の高いNoSQLデータベース(yay)を構築していますが、CouchDBと同じユースケースには答えていません。

2)私はちょうどそれに答えましたか? Couchbase Serverの詳細はこちらhttp://www.couchbase.com/couchbase-server/overview

3)Couchbaseは引き続きモバイル技術に投資しています。私たちはAndroidとiOSで利用可能な実装を十分にテストしました。これらはApache CouchDBに基づいているため、探している機能が設定されています。ここをクリックしてダウンロードしてください:http://www.couchbase.com/wiki/display/couchbase/Couchbase+Mobile+Syncpoint(そのページのiOSとAndroidのリンクを参照してください)

今後、CouchDBベースのコードをデバイス上で実際に実行する軽い代替手段に焦点を当てていきます。 CouchDBをデバイス上で実行させるには、Erlang仮想マシンが必要です。これは軽量でバッテリー寿命を重視していますが(VMの場合)、それはまだVMです。そのため、モバイル用のより軽量な同期エンジンとストレージエンジンを構築しています。 TouchDB for iOSはApache CouchDBと同期できます。我々はまたa similar project for Androidを持っています。私が新しいプロジェクトを始めたのであれば、これらを見てみましょう。

+0

あなたが提案した2つのオプションのうち、あなたの意見では、よりダイビングする方が良いでしょうか? Syncpointの将来のリリースはCouchDBと互換性がありますか、あるいは数ヶ月で新しいソリューションを見つける必要がありますか?最後に、連続的なレプリケーション/シンクロはどのくらいうまく処理されますか?助けてくれてありがとう、それは非常に感謝しています!私はあなたが私の隣に座って共著した本を持っています。 :) – Jonathan

+0

もう1つ... GeoCouchはどのように写真に収まりますか? – Jonathan

+0

Syncpointの同期層はApache CouchDBに基づいているため、同期しても問題ありません。つまり、互換性を損なう可能性のある最適化が行われる可能性があります。私たちがやることはすべてオープンソースであり、Apacheプロジェクトとのマージバックに利用できるので、互換性を保つ可能性があります。 –

6

TouchDBはCouchbase Lite Androidに置き換えられました。Couchbase-Lite-Androidはハニカム以上にのみ使用できます。

また、この日付では、ライブラリーはアルファ版であり、まもなく本番で使用されることはありません。

この時点での解決策はparse.comと思われますが、これはもちろん有料ソリューションです。

+0

Githubのページ(https://github.com/couchbase/Android-Couchbase)は、Android 2.1以上を現在の状態にしています。 –

1

ここでの回答は少し古いです。

Couchbase Liteは、モバイル、IoTなどのネットワーク接続が問題となるスタンドアロンのNoSQLデータベースを実装した、成熟した出荷用製品(オープンソース)です。 Couchbase Serverよりも優れています。それは幅広いプラットフォームをサポートしています。

Couchbase Liteは同期します。 CouchDBと互換性があります。

詳細については、Couchbaseサイトを参照してください。モバイルの場合http://developer.couchbase.com/mobile

関連する問題