问题标签 [key-value-store]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2212 浏览

mongodb - 与键值存储相比,基于文档的数据存储(例如 Mongo)如何实现?

我最近一直在阅读有关基于文档的数据库与键值存储的内容(这是一个很好的概述基于文档和基于键/值的数据库之间的区别? ),但我在以下方面找不到好的信息.

如果我们使用键(或附加索引)查询其中任何一个,则机制没有真正的区别 - 获取值。在查询非索引文档/字段时,我不清楚文档存储与键值存储有何不同。如果我要在键值存储之上实现文档存储,我会为查询中的适当值执行“表扫描”(检查所有键/值对) - 文档存储是否比这更多封面?以这种方式考虑文档数据存储是否合适?

这不是一个实际问题(如果我需要做一些有用的事情,我是否会在 BDB 上使用 Mongo),而不是一个旨在理解底层技术的问题。只有当它们适用于底层实现时,我才对特定系统的扩展方面感兴趣。

0 投票
2 回答
993 浏览

database - 有人能解释一下我们如何用 mysql 实现简单的键/值存储吗?

http://royal.pingdom.com/2010/06/18/the-software-behind-facebook/

Facebook 使用 MySQL,但主要用作键值持久存储,将连接和逻辑移动到 Web 服务器上,因为在那里更容易执行优化(在 Memcached 层的“另一端”)。

有人能解释一下我们如何用 mysql 实现简单的键/值存储吗?它只是一个以 bigint 作为主键 + 单列的表LONGTEXT吗?

0 投票
5 回答
1489 浏览

mysql - mysql键/值存储问题

我正在尝试使用 mysql 实现键/值存储

我有一个用户表,它有 2 列,一列用于全局 ID,一列用于序列化数据。

现在的问题是,每次用户数据发生任何变化时,我都必须从数据库中检索序列化数据,更改数据,然后重新序列化并将其放回数据库。即使对任何用户数据有非常小的更改,我也必须重复这些步骤(因为无法在数据库本身中更新该单元格)

基本上我正在研究人们在遇到这个问题时通常使用什么解决方案?

0 投票
2 回答
593 浏览

database - 简单的纬度/经度+整数数据库?

是否有一个快速、持久的数据库来存储纬度、经度和整数值以进行快速地理空间查找?

这个想法是我有很多不同的 ID,我想通过纬度/经度方块搜索给定位置的所有 ID。

我的第一个想法是创造性地使用 membase 或 redis 等键值存储。但是,我无法找到一种基于纬度和经度等属性进行搜索的方法,而不是创建设置大小的纬度/经度块并将所有 id 作为值(这不是很好)。

0 投票
2 回答
315 浏览

memcached - 基于值的 memcached 失效

是否可以memcahced根据值使条目无效。
在我的应用程序中,我将用户分配到不同的组中,并将此映射存储在memcached.

所以多个userIds映射到一个groupID

当我删除特定组时,我想删除存储中所有具有已删除组memcache值的条目。groupID所以本质上我想删除具有特定值的条目。我该怎么做。

0 投票
4 回答
4243 浏览

python - 对与列表中的项目匹配的字典值执行操作?

我有一个包含 46,000 个键:值对的字典,其中每个键都有一个 3 项列表作为值:

我有一个包含数百个值的列表:

如何遍历列表 L1 并为 L1 中的每个项目匹配 value[0] 与列表项目匹配的每个字典值?然后,我希望仅在列表项与字典中的 value[0] 匹配的键:值对上对字典的 value[1] 和 value[2] 执行其他操作。

在上面的示例中,L1 - 'A' 中的第一项将仅匹配key1: ['A', 'B', 'C'].

我似乎无法找到一种方法来做到这一点?谢谢您的帮助!

0 投票
11 回答
118330 浏览

javascript - 用于 Node.js 的轻量级 Javascript DB

任何人都知道可以与 Node.js 一起使用的用 Javascript 编写的轻量级但耐用的数据库。

我不想要像 Mongo 或 Couch 这样的(伟大的)解决方案的“重量”。一个简单的、内存中的 JS 数据库能够以文件的形式保存到磁盘就足够了。我只会用它来存储少量数据。

要求:

  • 可以在 node.js 服务器应用程序的进程中运行
  • 可以将整个数据库保存到磁盘并在发生故障后恢复
  • 不需要原子写入或事务支持
  • 快速查询和排序会很好
  • 只需要支持小数据量,总共最大1MB

到目前为止,我遇到过 TAFFY db,但它似乎并没有针对在 Node.js 中的使用进行优化。有人看到我在外面找什么吗?

谢谢

0 投票
2 回答
730 浏览

python - 将表单字段存储为键值/单独的行

我在 Django 中有一个简单的表单,如下所示:

...以及存储它的模型如下所示:

提交表单时,如何将表单字段存储为键值对,然后在呈现页面时,如何使用键值初始化表单。我试过寻找这个的实现,但一直找不到。

有什么帮助吗?

谢谢。

0 投票
2 回答
857 浏览

database - Cassandra 是否适合需要频繁查询(读/写)的系统?

我正在开发一个需要很多用户在同一个“宇宙”中的 Web 应用程序,其中会发生很多频繁的查询:

  • 频繁查找位于某个框区域(X1、X2、Y1 和 Y2 之间)的客户端
  • 客户频繁更新位置
  • 客户频繁的聊天消息
  • 客户频繁更新状态
  • 新老客户端频繁连接断开

我相信我的节点可以有足够的内存供所有当前在线用户在 RAM 中。这就是我最初考虑 Redis 的原因。但是,我决定 Redis 不适用于这里,因为:

  • 它有一个单点故障(一个主服务器)
  • 只有主服务器可以写入,如果一个有 40 个节点,那么 39 个从服务器将不得不让一个主服务器写入每个条目

Cassandra 似乎解决了这些问题。

但是,Cassandra 是否也适合我的频繁查询?

0 投票
3 回答
2739 浏览

database - 用于物理测量的良好(noSQL?)数据库

我们正在构建一个最终将由数千个测量站组成的测量系统。每个站点将在其生命周期内保存大约 5 亿次测量值,其中包括 30 个标量值。这些将是浮点值。我们现在想知道如何在每个站点上保存这些数据,考虑到我们将在每个站点上构建一个 Web 应用程序,这样

  • 我们希望在多个时间尺度上可视化数据(例如一周、一个月、一年的测量)
  • 我们需要在数据上建立移动平均线(例如一个月的平均值以显示在一年图中)
  • 数据库需要抗崩溃(断电)
  • 我们只进行写入和读取,没有更新或删除数据

此外,我们还想要一台可以显示例如 1000 个测量站的数据的服务器。这将是 5000 亿次测量中约 50TB 的数据。要将数据从测量站传输到服务器,我认为某种类型的数据库级复制将是一种干净有效的方式。

现在我想知道对于这些目的,noSQL 解决方案是否可能比 mySQL 更好。特别是couchDBCassandra和Redis之类的键值存储对我来说很有吸引力。您认为哪一个最适合“测量时间序列”数据模型?碰撞安全和从测量站到主服务器的复制等其他优势呢?