实现键值对存储(一):什么是键值对存储,为什么

 我来答
huanglenzhi
2018-01-17 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
采纳数:117538 获赞数:517181
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。

向TA提问 私信TA
展开全部

键值对存储是数据库最简单的组织形式。基本上全部的编程语言都带有应用在内存中的键值对存储。C++STL的映射容器(map container)和Java的HashMap以及Python的字典类型都是键值对存储。键值对存储通常都有例如以下接口:

Get( key ): 获取之前存储于某标示符“key”之下的一些数据,或者“key”下没有数据时报错。

Set( key, value ): 将“value”存储到存储空间中某标示符“key”下。使得我们能够通过调用同样的“key”来访问它。

假设“key”下已经有了一些数据,旧的数据将被替换。

Delete( key ):  删除存储在“key”下的数据。

大部分低层实现都是使用哈希表或者某种自平衡树(比如B-树或者红黑树)。有时候数据太大而不装不进内存,或者必须维持数据谨防系统由于未知原因而崩溃。在这些情况下。就必须使用到文件系统。

键值对存储是NoSQL运动的一部分。NoSQL将全部不使用基于关系型数据库概念的数据库系统组合在一起。

维基百科上的NoSQL词条非常好的总结了这些数据库的特征。

  • 不使用SQL查询语言

  • 可不全面支持ACID(原子性、一致性、隔离性、持久性)。

  • 可提供分布式、容错强的结构

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式