2016-04-22 10 views
2

私はIonicを使ってハイブリッドアプリを開発しています。 現在、私はMySQLのバックグラウンドから来ているので、sqLite(リレーショナル)を使用しています。Ionic:sqLite&PouchDB or NoSQL

データベースを頻繁に同期する必要があるため(通常はアプリまたはサーバーのいずれかの変更後に)、自分のサービスを作成する時間を投資する前に解決策を探していました。

Nic Raboy(https://www.youtube.com/watch?v=erQMOUcAdXk)の素敵なチュートリアルで、PouchDBを使って簡単に同期する方法を説明しました。

これまでのところ、私の既存のsqLiteデータベースでPouchDBを使用できるかどうか、または完全にNoSQLデータベースに切り替える必要があるかどうかはわかりませんでした。

NoSQLに切り替える必要がある場合は、次の問題があります。どのようにNoSQLデータベースで「リレーション」を設計する必要がありますか?

私が詳細に聞いてみよう:

SELECT c.title, c.info, ruc.active 
FROM app_user u 
INNER JOIN rel_user_categories ruc 
ON ruc.uid = u.id 
INNER JOIN app_categories c 
ON c.id = ruc.cid 

またはこの:私はこのような2つの以上のテーブルからデータを取得するSQL文を持って

SELECT av.venuename, av.latitude, av.longitude, ao.title, ao.info, ao.beacon 
FROM app_offers ao 
INNER JOIN app_venues av 
ON av.id = ao.venue 
WHERE ao.active AND av.active 
ORDER BY ao.expires ASC 

がありますNoSQLを使用した場合、まったく同じようなクエリを実行する方法はありますか? 私は約1日後にGoogleを使用していましたが、何の解決策も見当たりませんでした。

ご協力いただきありがとうございます。

答えて

3

あなたの最初の質問については:これまでのところは良い

を - しかし、私はまだどうかを把握できなかったか、私は私の既存のSQLiteデータベースまたは私はNoSQLのデータベースに完全に切り替える必要がある場合PouchDBを使用する方法

同じ同期プロトコルを使用するデータベースとのみ同期できます。つまり、これらの1のようになります。

あなた2番目の質問は非常に一般的です。 JSON文書の構造化データとリレーショナルデータベースとの相違点について読んでおく必要があります。それは別の世界であり、あなたはこれに少し時間を費やす必要がありますので、読んでください。

これは、MongoDBを使用する場合(これは同期できませんが、CouchDBよりも頻繁に使用されるため、Mongo向けの有益な記事を見つけることができます)と同じです。

JSONドキュメントの構造化とCouchDBのクエリに時間がかかることを学習します。しかし、同期が必要な場合は、確かに価値があります。これに関して他のデータベースは比較できません。

+0

こんにちは、アレックス!あなたの説明のために ありがとう! あなたが言及したようにNoSQLデータベースについて読んでみてください。 MongoDBに関するヒントをありがとう! –

+0

CouchDBでデータを構造化する方法を考えて、これをCouchDBのユーザーリスト(http://couchdb.apache.orgを参照)に投稿して意見を聞くと、それらは非常に役立ちます – Alex