React-native的普通JSON与应用内数据库?

问题描述 投票:0回答:2

我有50-100mb的数据集,用户需要访问。它是静态的,因此为它托管服务器没有任何意义。我将对数据执行两种操作:

  1. 通过唯一的ObjectId读取对象。每个对象约为3kb。
  2. 全文搜索〜300.000个字符串。每个字符串为4至60个字符。

我正在考虑将数据存储为JSON文件。 30万个字符串将单独存储。我将使用https://github.com/nextapps-de/flexsearch或类似的东西对其进行搜索。早在2016年,我就用〜10mb的数据集做了类似的事情。我只使用了正则表达式搜索,并且它运行良好。

是否有理由使用RealmDB,SQLite,PouchDB或其他方式而不是仅使用JSON?

sqlite react-native database-design realm pouchdb
2个回答
1
投票

我会说,这实际上仅取决于您是否想要并且需要利用关系查询的功能。因为您的数据永不更改,所以除非您尝试在数据之间执行复杂的比较,否则我将使用JSON。在您的情况下,听起来您将要搜索特定的ObjectId,所以JSON是您的最佳选择,尤其是因为您说以后不需要更改数据。

如果您组织JSON以使ObjectId处于排序顺序,则可以轻松快速地进行搜索。


0
投票

我希望我一年前有这个问题...

[我目前在办公室工作,我们尝试使用PouchDB创建应用程序并响应本机,我们基本上将PouchDB视为优势,因为它不需要我们的API在用户触发的每次刷新中一次又一次地发送所有数据。 ,它将仅发送基于客户端检查点更改的数据。由于服务器中的数据非常繁重(大约6k个条目,每个条目具有200多个属性),因此我们不惜一切代价尝试简化客户端的数据计划。

实施此方法后的几个月,我们实现了具有许多不同选项进行排序和过滤的搜索功能,不仅我们不得不放弃了所有的PouchDB实现,而且还必须从头开始用索引替换所有逻辑。 JSON值。 PouchDB的性能非常慢,检索结果花费了大约5秒钟左右的时间,我们只是不能在我们的示波器上延迟此时间。

最后,我们成功地实现了在索引的JSON中运行flex search的快速搜索。不要做与我们相同的错误,PouchDB花费了我们太多的预算和宝贵的时间。这是一个糟糕的选择。

[不幸的是,我无法提供可靠的证据或更多详细信息,我只能分享自己以为自己将要结束项目的工作而不得不从头开始时的个人经历。一团糟。

© www.soinside.com 2019 - 2024. All rights reserved.