2016-04-22 9 views
2

Je développe une application hybride avec Ionic. Actuellement, j'utilise sqLite (relationnel) car je viens d'un environnement MySQL. Comme j'ai besoin de synchroniser ma base de données assez souvent (généralement après chaque changement - dans l'application ou sur le serveur) je cherchais une solution avant d'investir du temps pour créer mon propre service (ne pas réinventer la roue).Ionic: sqLite & PouchDB ou NoSQL

Je suis tombé sur un joli tutoriel de Nic Raboy (https://www.youtube.com/watch?v=erQMOUcAdXk) où il explique comment utiliser PouchDB pour une synchronisation facile. Jusqu'ici tout va bien - mais je ne savais pas encore si ou comment utiliser PouchDB avec ma base de données sqLite existante ou si je devais basculer entièrement vers une base de données NoSQL.

Au cas où je devrais passer à NoSQL j'ai le prochain numéro: Comment dois-je concevoir mes "relations" dans un db NoSQL?

Permettez-moi de demander en détail:

J'ai une instruction SQL pour récupérer des données à partir de 2 ou plusieurs tables comme ceci:

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 

ou ceci:

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 

est-il un façon de déclencher des requêtes qui font exactement la même chose si j'utilise NoSQL? J'utilisais Google depuis environ 1 jour et je n'ai trouvé aucune solution.

Merci d'avance pour votre aide!

Répondre

3

Concernant votre première question:

Jusqu'à présent, si bien - mais je si ou ne pouvait encore comprendre comment je peux utiliser PouchDB avec ma base de données SQLite existante ou si je dois passer entièrement à une base de données NoSQL

Vous pouvez uniquement synchroniser avec une base de données qui utilise le même protocole de synchronisation. Ce serait l'un de ces:

Votre La deuxième question est très générale. Vous devez lire sur la structuration des données dans les documents JSON et les différences avec les bases de données relationnelles. C'est un monde différent et vous devrez y consacrer du temps. Ceci est la même chose si vous utilisiez MongoDB (qui ne peut pas être synchronisé mais est utilisé plus souvent que CouchDB afin que vous puissiez trouver des articles utiles écrits pour Mongo).

L'apprentissage de la structuration des données pour les documents JSON et l'interrogation de CouchDB prendront du temps. Mais cela en vaut certainement la peine si vous avez besoin de la synchronisation. Aucune autre base de données ne peut se comparer à cet égard.

+0

Salut Alex! merci pour votre explication! Je suppose que je vais devoir lire ensuite sur les bases de données NoSQL comme vous l'avez mentionné. Merci pour le conseil concernant MongoDB! –

+0

pensez à un moyen de structurer vos données dans CouchDB, puis publiez-les dans la liste des utilisateurs de CouchDB (regardez sur http://couchdb.apache.org) et demandez des opinions - elles sont très utiles – Alex