2017-01-15 4 views
2

Angesichts meiner relationalen db Hintergrund, ich kämpfe um meinen Kopf herum Datenspeicher in IONIC 2. Nachdem ich zahlreiche Tutorials und Artikel zu diesem Thema gelesen habe, habe ich eine allgemeine Idee, wie man vorgeht, aber gehofft hatte um Rat zu bekommen, wenn ich auf dem richtigen Weg bin. Ich bin begeistert von der Verwendung von NoSQL, so dass viele der Tutorials, die Ionics SQL-Speicher verwenden, nicht geholfen haben.Ionic 2 Storage vs Pouch DB

Bisher bin ich geneigt, entweder Ionic 2 Storage oder Pouch DB zu verwenden. Ich kann den Unterschied nicht sehen. Beide verwenden SQLite, wenn sie als native Apps oder Fallback auf IndexDB oder WebSQL ausgeführt werden.

Was ist die empfohlene Vorgehensweise hier?

Antwort

4

Du hast Recht, PouchDB und Ionic Lagerung beide bieten eine ziemlich ähnliche Basisfunktionalität:

  • Sie speichern und JSON-Dateien abrufen. Das Abrufen von Daten funktioniert entweder mit einem Schlüssel oder auf einmal.

  • Beide können verschiedene Datenbanken verwenden in Ihre Daten zu speichern

Aber PouchDB bietet einige weitere Funktionen.

  • Replication: Dieses PouchDB der Killer-Feature ist! Sie können eine PouchDB mit jeder anderen Datenbank, die das CouchDB-Synchronisationsprotokoll implementiert, replizieren/synchronisieren. Abhängig von der App, die Sie erstellen möchten, können Sie viel Arbeit sparen.
  • Map/reduce queries: Wenn Sie einen relationalen DB-Hintergrund haben, nehmen Sie sich eine Sekunde Zeit, um darüber nachzudenken, wie Sie Ihre Datenbank abfragen werden. Ionic Storage bietet nur einen get per Schlüssel und einen forEach Iterator: Wie wird diese skalieren/durchführen, wenn es Tausende von Einträgen in Ihrer Datenbank gibt? PouchDB auf der anderen Seite bietet eine API-Karte auszuführen/reduzieren Abfragen, um diese Abfragen zu bestehen mehr Leistung zu gewinnen und so weiter ...

TLDR: Wenn Ihr usecase ist zu speichern und zu erhalten ein paar Dokumente vor Ort, Ionic Storage ist der Weg zu gehen. Keine Notwendigkeit, eine neue Abhängigkeit und eine tote einfache API hinzuzufügen. Wenn Ihr Usecase die Synchronisierung mit einer entfernten Datenbank (vorzugsweise CouchDB) umfasst oder komplexe Abfragen in vielen Dokumenten umfasst, würde ich Pouch empfehlen.

+1

Ich habe jetzt mit Ionic Storage begonnen. Gern muss ich an dieser Stelle meine Datenbank nicht synchronisieren oder komplexe Abfragen durchführen. Ich sende das JSON einfach an ein Backend, das dann einen PDF-Bericht generiert. Vielleicht, wenn das wächst, werde ich zu PouchDB wechseln. Danke! – Muhammad