在同一个应用程序上创建多个 PouchDB 数据库是否被认为是糟糕的设计?

2024-04-30

我有 Mysql 背景,现在使用 Pouchdb。我习惯了每个应用程序有 1 个数据库和许多表的 SQL 模式。

在 pouchDB 中情况有所不同,因为数据不是存储在表中而是存储在文档中。因此,在我的应用程序中,我有一个任务数据库,使用以下命令创建:

var db = new PouchDB('tasks', {revs_limit: 1, auto_compaction: true});

这是我的应用程序的主数据库,但现在我还需要存储设置,例如“last_visit_date”、“language_preference”等。


所以,我有两个问题:

  1. 我应该只创建一个数据库然后存储不同的数据吗
    设置子对象或者我可以创建多个数据库来存储此数据第二个选项有任何缺点吗?
  2. 我还没有开始与 cloudant 或 couchdb 同步,但将来我必须这样做。如果我有 2 个数据库(或更多),它会使同步过程变得更复杂、更慢或更糟吗?

在同一个应用程序上创建多个 PouchDB 数据库是否被认为是糟糕的设计?

一句话:不。

长答案:CouchDB/PouchDB 中的数据库本质上是免费的。以及一些应用设计require多个数据库。

考虑一个理论上的离线优先/移动应用程序,用于跟踪代理的销售情况。它可能有一个用于库存管理目的的数据库,该数据库与中央 CouchDB 服务器同步。

它还可能有一个每个代理商的数据库,其中包含给定代理商的客户和销售信息。

PouchDB 应用程序将需要这两个数据库。由于 CouchDB 的设计,没有(简单、合理)的方法可以将这些数据集保存在同一个数据库中,并使代理的记录彼此分离。

CouchDB/PouchDB 中的数据库更像表,而不是 RDBMS 中的数据库。

在 PouchDB 中创建其他数据库(不适用于 CouchDB)的唯一真正限制因素是,没有简单的方法来列出现有数据库,除非使用plugin https://github.com/nolanlawson/pouchdb-all-dbs。这不一定是一个真正的限制——它只是意味着您需要记住您创建了哪些数据库(您可能不应该以编程方式创建随机命名的数据库......但这可能是一个糟糕的设计。; -) )

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在同一个应用程序上创建多个 PouchDB 数据库是否被认为是糟糕的设计? 的相关文章

  • Firestore 查询 - 一对多关系

    我将开发 Android 移动应用程序并使用 Firebase 作为后端 我是 NoSql Firestore 的新手 在我的应用程序中 用户有很多主题 一个主题有很多帖子 帖子有很多评论和一张图片 用户也有很多追随者 在这种情况下 我如何
  • 同时使用@Document和@Entity

    我尝试在同一个实体类上使用 Document和 Entity 但是当我实现两个存储库 ElasticSearchRepository和CrudRepository 时出现以下错误 The bean esRepo defined in nul
  • Cassandra 时间序列数据模型

    我正在研究用于存储时间序列的 Cassandra 数据模型 我是 Cassandra 新手 我有两个应用程序 日内股票数据和传感器数据 股票数据将以一分钟的时间分辨率保存 七个数据字段构建一个时间范围 符号 日期时间 开盘价 最高价 最低价
  • 如何在 Elasticsearch 中或在 Lucene 级别进行联接

    在 Elasticsearch 中执行相当于 SQL 连接的最佳方法是什么 我有一个包含两个大表的 SQL 设置 Persons 和 Items 一个人可以拥有many项目 人员和项目行都可以更改 即更新 我必须运行根据人和物品的各个方面进
  • 无需服务器端代码即可在 Firebase 中搜索

    我正在尝试获取名称包含 Firebase 给定字符串的所有用户 例如 如果我有这些用户 Devid Andy Bob 我希望获得名称中包含 D 的所有用户 因此我希望得到这样的结果 Devid Andy 这是我的 Firebase 目前的结
  • 解释 Merkle 树在最终一致性中的使用

    默克尔树 http en wikipedia org wiki Hash tree在几个分布式 复制的键 值存储中用作反熵机制 Dynamo http www allthingsdistributed com files amazon dy
  • 为什么我不能让单个 Redis 客户端在同一连接中充当 PUB 和 Sub ?

    我的思维模型是 聊天 我订阅了某个频道 并且可以向该频道发布消息 由于 pub sub 是异步的 因此发布的消息可能随时出现 包括当您期望命令响应时 尽管 Redis 是单线程的 通常会阻止此类事情 但网络延迟可能会导致一些有趣的影响 根据
  • 如何使用 Angular-Cli/Webpack 导入 PouchDb-Find

    我想将 Angular 2 Typescript 与 PouchDb 和 PouchDb Find 一起使用 并使用 Angular cli 现在基于 webpack 生成的项目 PouchDb 通过一个简单的 import 语句连接起来
  • 获取列位置

    在 Cassandra DB 中 使用有序列族 我知道你能得到切片 但你能得到位置吗 例如 在此数据模型中 我保存如下分数 Scores 1000 bob lucas 900 tim 800 mario 知道用户的分数为 900 并且他的昵
  • 如何快速获取MongoDB pymongo的所有文档

    目前我通过在 pymongo 中迭代游标来获取文档 例如 for d in db docs find mylist append d 作为参考 对同一组数据 700 万条记录 执行 fetchall 大约需要 20 秒 而上述方法需要几分钟
  • 正式支持 MonoTouch 的 NoSQL 数据库

    我无法通过设备上的本地数据库找到正式支持 MonoTouch 的 NoSQL 数据库 如果是的话 有人可以在这里提供他们的名单吗 根据http nosql database org http nosql database org 有siaq
  • neo4j:单向/双向关系?

    所以我研究了 neo4j 我可能会在即将到来的项目中使用它 因为它的数据模型可能非常适合我的项目 我查看了文档 但我仍然需要这个问题的答案 我可以将关系设置为单向吗 看来 Neo4j 的人很喜欢电影 所以我们继续吧 如果我有这样的图表 Ac
  • 当我的数据非规范化时(Firebase),如何按上次更新时间对我的聊天组进行排序?

    我正在使用 Firebase 和 AngularJS 构建一个聊天应用程序 并且我有一个与上的数据结构类似的数据结构此 Firebase 文档页面 https firebase google com docs database web st
  • 使用 Django 会话存储登录用户

    我正在创建一个以 REST 为中心的应用程序 它将针对大多数特定于域的模型使用某种 NoSQL 数据存储 对于我打算围绕 REST 数据框架构建的主站点 我仍然希望对用户 计费信息和域数据模型范围之外的其他元数据使用传统的关系数据库 有人告
  • 如何在Cassandra中搜索不相等的二级索引?

    我需要能够仅使用 对二级索引执行搜索 据我所知 Cassandra 至少需要一个等式索引子句 因为它会迭代该等式索引的所有结果 是否有任何技巧可以仅使用 执行操作 至少在概念上 这是一个坏主意吗 另外 有人知道 Cassandra 是否有计
  • 适用于 Web 照片库的正确 NoSQL 数据架构

    我正在寻找为照片库的 NoSQL 存储构建合适的数据结构 在我的网络应用程序中 一张照片可以是一个或多个相册的一部分 我有使用 MySQL 的经验 但几乎没有使用键值存储的经验 使用 MySQL 我将设置 3 个表 如下所示 photos
  • 检查 DynamoDB 中是否存在表的最佳方法是什么?

    检查 DynamoDb 中是否存在表的最佳方法是什么 如果代码是 PHP 语言 我将不胜感激 要么活跃 要么不活跃 稍后作为错误代码 400 的各种情况的示例添加 检查表是否存在很容易 它可以有以下之一 表状态 gt 创建 活动 删除或更新
  • 在 NoSQL 存储中存储图像

    我们的应用程序将通过 HTTP 提供大量缩略图大小的小图像 大小约为 6 12KB 我被要求调查使用 NoSQL 数据存储是否是一个可行的数据存储解决方案 理想情况下 我们希望我们的数据存储是容错且分布式的 在 NoSQL 存储中存储 bl
  • 设计 Cassandra 数据模型的最佳实践是什么? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 以及需要避免哪些陷阱 您有任何交易中断吗 例如 我听说导出 导入 Cassandra 数据非常困难 这让我想知道这是否会妨碍将生产数据
  • 使用 Cassandra 进行单元版本控制

    我的应用程序使用 AbstractFactory 作为 DAO 层 因此一旦实现了 HBase DAO 系列 创建 Cassandra DAO 系列并从多个角度查看差异对我来说将是非常好的 不管怎样 试图做到这一点 我看到 Cassandr

随机推荐