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

NoSQL数据模型详解(一)の键值模型

发布时间:2020-12-13 13:43:06 所属栏目:百科 来源:网络整理
导读:背景 上篇博客已经对数据模型整体有了一个介绍,下面针对NoSQL中的四种数据模型进行详解的介绍。如下图: 概念 键值数据库是一张简单的hash table,主要用在所有数据库访问均通过主键来操作的情况下。讨论每一种NoSQL数据库的特征时,都要了解其”一致性“、

背景

上篇博客已经对数据模型整体有了一个介绍,下面针对NoSQL中的四种数据模型进行详解的介绍。如下图:

概念

键值数据库是一张简单的hash table,主要用在所有数据库访问均通过主键来操作的情况下。讨论每一种NoSQL数据库的特征时,都要了解其”一致性“、”事务性“、查询特性、数据结构和可扩展性

一致性

只有针对单个键的操作才局别“一致性”,因为这种操作只可能是“获取”、“设置”、或者“删除”。“乐观写入”功能其实也可以做出来,然而由于数据库无法侦测数值改动,所以其实现成本太高。Riak这种分布式键值数据库,用“最终一致性模型”实现一致性。因为树枝可能已经复制到其他节点,所以Riak有两种解决“更新冲突”的办法:一种是采纳新写入的数据而拒绝旧数据,另一种是将两者返回给客户端,令其解决冲突。

事务

不同类型的键值数据库产品,其“事务”规范不同。一般来说,无法保证写入操作的“一致性”。各种数据库实现“事务”的方式各异。Riak采用“仲裁”这一概念,在调用写入数据的API时,它使用W值与复制银子来实现“仲裁”。

查询功能

所有键值数据库都可以按关键字查询。他们的查询功能基本上仅限于此。

数据结构

键值数据库并不关心键值对里的值。它可以是二进制、文本、JSON、XML等。在使用Riak时,可在post请求中用Content—Type指定数据类型。

可扩展性

很多键值数据库都用“分片”技术扩展。采用此技术后,键的名字就决定了负责存储该键的节点。当集群中的节点数变多时,这种“分片”设定可提高效率。但是“分片”也会引发某些问题。像Riak,可以快弄告知“CAP定理”中的参数:N(存放键值对的副本节点数)、R(顺利完成读取操作所需的最小节点数)和W(顺利完成写入操作所需的最小节点数)

适用案例

存放会话信息、用户配置信息、购物车数据

不使用场合

数据间关系、含有多项操作的事务、查询数据、操作关键字的集合。

(编辑:李大同)

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

    推荐文章
      热点阅读