Ionic 2 Storage vs Pouch DB

时间:2017-01-15 12:27:11

标签: ionic-framework pouchdb

Given my relational db background, I am struggling to get my head around data storage in IONIC 2. Having read numerous tutorials and articles on this, I have a general idea on how to proceed but was hoping to get some advise if I am on the right track. I am keen on using NoSQL so many of the tutorials using Ionic's SQL Storage didn't help.

So far, I am inclined to either use Ionic 2's Storage or Pouch DB. I am unable to see the difference. Both use SQLite when run as native apps, or fallback on IndexDB or WebSQL.

What's the recommended practice here?

1 个答案:

答案 0 :(得分:4)

你是对的,PouchDB和Ionic Storage 都提供了非常相似的基本功能

  • 您可以存储和检索JSON文件。检索数据可以通过密钥或一次性完成。

  • 两者都可以使用不同的数据库来存储您的数据。

PouchDB提供了更多功能

  • Replication:这是PouchDB的杀手级功能!您可以将PouchDB复制/同步到实现CouchDB同步协议的任何其他数据库。根据您尝试构建的应用程序,可以为您节省大量工作。
  • Map/reduce queries:如果您有关系数据库背景,请花点时间考虑一下如何查询数据库。 Ionic Storage仅提供get密钥和forEach迭代器:如果数据库中有数千个条目,这将如何扩展/执行?另一方面,PouchDB提供了一个API来执行map / reduce查询,保持这些查询以获得更高的性能等等......

TLDR :如果您的用例是在本地存储并获取一些文档,那么Ionic Storage就是您的选择。无需添加新的依赖项和简单的死API。如果您的用例包括同步到远程数据库(最好是CouchDB)或包括对很多文档进行复杂查询,我建议使用Pouch。