sqlite - React-native 的纯 JSON 与应用内数据库?

标签 sqlite react-native database-design realm pouchdb

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

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

我正在考虑将数据存储为 JSON 文件。 300k 字符串将单独存储。我将使用 https://github.com/nextapps-de/flexsearch或类似的东西来对其进行搜索。早在 2016 年,我就用 ~10mb 数据集做过类似的事情。我只使用了正则表达式搜索,它工作得很好。

是否有理由使用 RealmDB、SQLite、PouchDB 或其他东西而不仅仅是 JSON?

最佳答案

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

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

在这个实现到位几个月后,我们实现了一个具有许多不同选项的搜索功能,用于排序和过滤,不仅我们不得不放弃我们所有的 PouchDB 实现,而且我们必须从头开始用它替换它的所有逻辑索引 JSON 值。 PouchDB 性能极慢,检索结果需要超过 5 秒左右的时间,而我们无法承受在我们的范围内延迟这个时间。

最后,我们完成了在索引 JSON 中运行 flex search 的非常快速的搜索。不要重蹈我们的覆辙,PouchDB 花费了我们太多的预算和宝贵的时间。这是一个糟糕的选择。

不幸的是,我无法从可靠的来源提供证据或更多详细信息,我只能分享我个人的糟糕经历,当时我认为我们的项目已经接近尾声,我们不得不从头开始。一团糟。

关于sqlite - React-native 的纯 JSON 与应用内数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61271071/

相关文章:

c - 了解 sqlite3_step 以及为什么它在迭代之间为 "takes time"

sqlite - 在 iOS 项目中管理 coredata/sqlite 数据库生命周期

reactjs - react-native-vector-icon 显示 "wrong"图标

node.js - 如何在 npm 启动期间在 Project.js 中解析 'npm ERR! code ELIFECYCLE'

react-native - 使用 React Native AsyncStorage : many keys or one? 存储列表

mysql - 用户之间的人际关系

c# - 在 VS 2015 和 EF7 从模型生成 SQLite 数据库

c# - Sqlite 事务,语法错误。在同一事务中插入和删除

mysql - 在数据库中的一组记录上存储排序顺序的最有效方法是什么?

php - 使用新信息更新数据库,但同时保留旧信息