加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

nosql – 什么是键/值存储数据库?

发布时间:2020-12-13 13:31:30 所属栏目:百科 来源:网络整理
导读:我一直在查看NoSQL的维基百科页面,它列出了Key / Value商店数据库的几个变体,但是在这个上下文中我找不到关键/值存储意味着什么的任何细节.有人可以向我解释或链接一个解释吗?另外,我什么时候会使用这样的数据库? 您熟悉键/值对的概念吗?假设您熟悉 Java
我一直在查看NoSQL的维基百科页面,它列出了Key / Value商店数据库的几个变体,但是在这个上下文中我找不到关键/值存储意味着什么的任何细节.有人可以向我解释或链接一个解释吗?另外,我什么时候会使用这样的数据库?
您熟悉键/值对的概念吗?假设您熟悉 Java或C#,它在语言中作为map / hash / datatable / KeyValuePair(最后一个是在C#的情况下)

它的工作方式在这个小样本图表中得到了证明:

Color        Red
Age          18
Size         Large
Name         Smith
Title        The Brown Dog

你有一个键(左)和一个值(右)…注意它可以是一个字符串,整数等.大多数KVP对象允许您在右侧存储任何对象,因为它只是一个值.

由于您将始终拥有要返回的特定对象的唯一键,因此您只需查询数据库中的唯一键,并从具有该对象的任何节点返回结果(这就是为什么它对分布式系统有用,因为涉及其他事情,例如轮询前n个节点以返回与其他节点匹配的值返回).

现在我上面的例子非常简单,所以这里是KVP稍微好一点的版本

user1923_color    Red
user1923_age      18
user3371_color    Blue
user4344_color    Brackish
user1923_height   6' 0"
user3371_age      34

因此,您可以看到简单的密钥生成是将“user”放入用户唯一的数字,下划线和对象.同样,这是一个简单的变体,但我认为我们开始明白,只要我们可以在左边定义部分并使其一致格式化,我们就可以得出值.

请注意,键值没有限制(确定,可能存在一些限制,例如纯文本)或者值属性(可能存在大小限制),但到目前为止,我还没有真正复杂的系统.让我们再尝试一下:

app_setting_width      450
user1923_color         Red
user1923_age           18
user3371_color         Blue
user4344_color         Brackish
user1923_height        6' 0"
user3371_age           34
error_msg_457          There is no file %1 here
error_message_1        There is no user with %1 name
1923_name              Jim
user1923_name          Jim Smith
user1923_lname         Smith
Application_Installed  true
log_errors             1
install_path           C:WindowsSystem32Restricted
ServerName             localhost
test                   test
test1                  test
test123                Brackish
devonly
wonderwoman
value                  key

你明白了……所有这些都存储在分布式节点上的一个巨大的“表”中(背后有数学),你只需要通过名称询问分布式系统所需的值.

至少,这是我对它如何运作的理解.我可能有一些错误,但这是基础知识.

强制性维基百科链接http://en.wikipedia.org/wiki/Associative_array

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读