问题标签 [key-value]

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 投票
10 回答
55817 浏览

sql - 实体属性值数据库与严格的关系模型电子商务

可以肯定地说EAV/CR数据库模型很糟糕。也就是说,

问题:应该使用什么数据库模型、技术或模式来处理描述电子商务产品的属性“类”,这些属性可以在运行时更改?

在一个好的电子商务数据库中,您将存储选项类别(例如电视分辨率,然后为每台电视提供一个分辨率,但下一个产品可能不是电视,也没有“电视分辨率”)。您如何存储它们、有效搜索并允许您的用户使用描述其产品的可变字段设置产品类型?如果搜索引擎发现客户通常根据控制台深度搜索电视,您可以将控制台深度添加到您的字段中,然后在运行时为每个电视产品类型添加单个深度。

优秀的电子商务应用程序有一个很好的共同特征,它们显示一组产品,然后有“向下钻取”侧菜单,您可以在其中看到“电视分辨率”作为标题,以及最常见的前五个电视分辨率发现集。您单击一个,它只显示该分辨率的电视,允许您通过选择侧面菜单上的其他类别进一步深入研究。这些选项将是在运行时添加的动态产品属性。

进一步讨论:

长话短说,互联网上是否有任何链接或模型描述可以“从学术上”解决以下设置? 我感谢 Noel Kennedy 提出了一个类别表,但需求可能不止于此。我在下面用不同的方式描述它,试图突出它的重要性。我可能需要进行视点校正来解决问题,或者我可能需要更深入地了解 EAV/CR。

喜欢对 EAV/CR 模型的积极响应。我的开发人员同事都说 Jeffrey Kemp 在下面谈到的内容:“新实体必须由专业人士建模和设计”(断章取意,请阅读下面的回复)。问题是:

  • 实体每周添加和删除属性
    (搜索关键字决定未来的属性)
  • 每周都有新实体到货
    (产品由零件组装而成)
  • 旧实体每周消失
    (存档、不太受欢迎、季节性)

客户想要为产品添加属性有两个原因:

  • 部门/关键词搜索/同类产品对比图
  • 结账前的消费产品配置

属性必须有意义,而不仅仅是关键字搜索。如果他们想比较所有有“奶油糖霜”的蛋糕,他们可以点击蛋糕,点击生日主题,点击奶油糖霜,然后检查所有有趣的蛋糕,知道它们都有奶油糖霜。这不是特定于蛋糕的,只是一个例子。

0 投票
3 回答
9778 浏览

c# - 字典键中有字符限制吗?

在 .NET 中,我可以使用任何字符串作为字典键吗?这是模板引擎的一部分,我计划允许用户添加他们的自定义标题和值。

标题将类似于“X 值”或“分析和 XYZ 报告摘要”,我担心它们是否会在罕见字符或类似字符中出现异常。

我假设有大小限制,但希望它大于 256 个字符。MSDN 没有关于该主题的任何详细信息。

0 投票
2 回答
5037 浏览

c - 用于访问表的键/值对的 Lua 的 C 接口是什么?

在 Lua 中,使用C接口,给定一个表,我如何遍历表的键/值对?

另外,如果使用数组添加了一些表表成员,我是否也需要一个单独的循环来迭代这些成员,或者是否有一种方法可以同时迭代这些成员作为键/值对?

0 投票
1 回答
769 浏览

google-app-engine - 我的嵌入式键/值数据存储最终会超过 App Engine 限制吗?

我的 Google App Engine 项目中嵌入了BerkeleyDB 键/值数据存储,该项目不使用 Google 数据存储。

当我将应用程序上传到 Google App Engine 时,数据库将小于 1MB。

但是,随着时间的推移,它是否有可能最终超过 App Engine 文件大小的限制

这对我正在运行的生产应用程序有什么影响?

0 投票
5 回答
2263 浏览

ios - 是否有用于从 iPhone 应用程序中设置首选项的库或框架?

在 iPhone 上使用 Settings.app 并不难。事实上,Xcode 为您完成了大部分工作。只需将 Settings.bundle 添加到您的项目中,您就可以免费获得它。

目前我正在为 iPhone 开发一个应用程序,它需要用户填写几个“表单”,主要是键值对、一些滑块和几个带有“下拉”菜单的模式视图。如此相似,该任务类似于 Settings.app 所做的。

在我看来,自己做表格是一项繁重的任务,所以我想知道是否有此类任务的框架。不幸的是,苹果似乎没有提供自己的解决方案。也许有人知道网络上描述最佳实践的框架或文章。

如果你不明白我指的是哪种模式,我做了一个截图:http: //img.skitch.com/20090625-s8bf6ahybwe3cesd1id38h3nt.jpg

0 投票
5 回答
7575 浏览

couchdb - 键值存储中的原子事务

请原谅术语中的任何错误。特别是,我正在使用关系数据库术语。

有许多持久键值存储,包括CouchDBCassandra,以及许多其他项目。

反对它们的一个典型论点是它们通常不允许跨多行或多表的原子事务。我想知道是否有一种通用方法可以解决这个问题。

以一组银行账户的情况为例。我们如何将钱从一个银行账户转移到另一个银行账户?如果每个银行账户都是一行,我们希望更新两行作为同一交易的一部分,减少一个的值并增加另一个的值。

一种明显的方法是有一个单独的表来描述事务。然后,将资金从一个银行账户转移到另一个银行账户只需在该表中插入一个新行。我们不存储两个银行账户中的任何一个的当前余额,而是依赖于汇总交易表中所有适当的行。然而,很容易想象这将是太多的工作。一家银行每天可能有数百万笔交易,而一个单独的银行账户可能很快就会有数千笔与之相关的“交易”。

如果基础数据自您上次抓取后发生更改,则许多(全部?)键值存储将“回滚”操作。可能这可用于模拟原子事务,然后,您可以指示特定字段已锁定。这种方法存在一些明显的问题。

还有其他想法吗?完全有可能我的方法完全不正确,而且我还没有把我的大脑包裹在新的思维方式上。

0 投票
4 回答
561 浏览

ruby-on-rails - 使用 Ruby on Rails 管理实时配置变量的最佳方法是什么?

我知道 YAML 和 rails-settings 之类的插件,但是这些对于需要实时更改的配置设置都没有用。

例如,假设我将 MAX_ALLOWED_REGISTERED_USERS 设置为 2000,但我想将其提高到 2300。对于典型的“配置”或 YAML 解决方案,这将涉及更改配置文件并重新部署。我更喜欢数据库支持的 RESTful 方法,我可以只更改键/值对。

想法?

0 投票
3 回答
4995 浏览

f# - 如何将字典“转换”为 F# 中的序列?

如何将字典“转换”为序列,以便按键值排序?

0 投票
3 回答
507 浏览

database - 具有离线访问的分布式键值数据存储(静态分区)

需要能够将复制所有信息的服务器设置为拥有所有数据的主数据存储。

还需要专门存储/复制本地 LAN 中可用的某些数据的服务器,以便当互联网连接中断时,他们仍然可以访问其本地数据。正常情况下,客户端会从本地局域网访问大部分数据,当本地局域网服务器宕机时,可能会使用其他数据。

这与分布式数据存储的好处(例如抗故障性和速度)一起需要。

哪种分布式键值数据存储或其他数据存储方法最适合这种情况?

0 投票
2 回答
1114 浏览

.net - 东京内阁和.Net

是否可以将 Tokyo Cabinet 与任何 .Net 语言一起使用,最好是 VB10?东京暴君呢?最好不通过 LUA/Ruby 或其他包装器..

如果没有简单的方法,您能推荐其他可以使用的快速键值数据库吗?