【发布时间】:2013-06-01 17:14:12
【问题描述】:
第一件事:我知道键值数据库是迄今为止性能最好的数据库。我的假设是这是由于它们的简单性(坚持很少的原语)。 (EDIT2:显然也是因为蜜蜂大部分时间都在记忆中)
无论如何,更复杂的数据结构,如层次树等。使用像 redis 这样的数据库,您必须基于带有链接的“平面”哈希构建一个结构,而对于像 couchdb 这样的文档数据库,您只需像这样自己构建结构:
"menu": {
"id": "file",
"value": "File",
"popup": {
"menuitem": [
{
"value": "New",
"onclick": "CreateNewDoc()"
},
{
"value": "Open",
"onclick": "OpenDoc()"
},
{
"value": "Close",
"onclick": "CloseDoc()"
}
]
}
如果我有这样的结构,那么在性能和可用性方面使用 redis 是否有意义?
有趣的是,键值和文档数据库经常进行 1:1 比较,同时服务于不同的目的或/和用例恕我直言。
编辑:
我在寻找什么:通常我希望有一个类似 JSON 的数据库存储,这让我可以轻松地动态定义和构建复杂的结构,并从使用数据库系统中获得好东西(故障转移,速度,...)。
谢谢!
【问题讨论】:
-
“第一件事:我知道键值数据库是迄今为止性能最好的数据库。”也许有些是,但我不认为这是一个普遍的真理。我不明白你在找什么。您需要了解您的需求和知识,以及 IT 人员如何与各种平台匹配。您对富查询等有什么要求?
-
你是对的,那里从来没有一个普遍的真理。但是做出大胆的假设通常有助于并改善讨论。无意冒犯 :-) 现在我不需要丰富的查询,我知道像 Mongo 和 Couch 这样的 DocumentDB 在这方面做得更好。所以我主要想知道性能方面。类似地使用它们时(相同/相似的数据结构)。
-
StackOverflow 在不讨论问题时效果更好。 stackoverflow.com/faq#dontask
-
@WiredPrairie 你是对的。我的意思不是这样的讨论。更像是从不同的人那里获得新的观点、良好的意见和指导。
-
(换句话说,一个讨论)。
标签: performance mongodb redis couchdb key-value