个人理财 管理NoSQL的数据 - 傻瓜

管理NoSQL的数据 - 傻瓜

目录:

视频: NoSQL数据库之Redis数据库管理一Redis的介绍与安装部署 2024

视频: NoSQL数据库之Redis数据库管理一Redis的介绍与安装部署 2024
Anonim

一旦您正确地管理密钥,就可以设计如何使用NoSQL存储数据,并确保其安全且始终可以访问你需要做的。

键值存储中的数据类型

键值存储通常用作“水桶”的二进制数据。一些数据库确实提供了强大的内部数据输入和模式支持。其他人只是简单地在其客户端驱动程序中提供便利的帮助函数,以将公共应用程序数据结构序列化到键值存储。示例包括地图,列表和排序集。

<! Oracle NoSQL可以在两种模式下运行:

简单二进制存储

  • 高度结构化的Avro模式支持

  • Avro模式类似于关系数据库模式 - 执行一个非常严格的集合存储在数据库中的JavaScript对象表示法(JSON)数据的格式规则,如下所示:

{用户名: afowler”的,sessionid:13452673,因为:1408318745,主题:“ldquo; bluesky”}

您可以使用JSON文档定义Avro模式。这是以前显示的存储数据的Avro模式的示例:

{“类型”的:“记录”的,“命名空间”的:“ COM。例如”的,“命名”的:“ UserSession”的,“字段”的:[{“命名”的:“用户名和rdquo;的,“类型”的:[<字符串”的,“空“]},{"命名”的:“的sessionid”的,“类型”的:“ int“},{"命名”的:“因为”的,“类型”的:“很长“},{"命名”的:“主题”的,“类型”的:[<字符串”的,“ null] rdquo;]}]}
当模式很重要时,Avro模式在数据库中提供了非常强的输入。在前面的例子中,你会看到字符串数据,一个数字会话ID,一个日期(自Unix时代以来的毫秒数,作为一个长整数),以及在网站上使用的主题的个性化设置。

另请注意,用户名和主题的类型有两个选项 - string和null,这就是您如何指示Oracle NoSQL允许空值。您可以将主题保留为字符串,并提供了一个额外的配置参数“默认”的:“蓝天”的。其他NoSQL数据库提供具有JSON内容的值的任意属性的二级索引。例如,Riak基于

文档分区提供二级索引

- 基本上,JSON文档中的已知属性使用类型进行索引。这允许范围查询(小于或大于),除了简单的相等和不相等的比较。 Riak设法提供范围查询没有一个严密的模式 - 只是简单的索引定义。如果数据在那里,它将被添加到索引。 复制数据 在其他服务器或服务器上存储相同数据的多个副本有助于确保在一台服务器发生故障时数据的可用性。服务器故障主要发生在同一个群集中。

您可以通过两种主要方式来操作副本:

主从:

所有读取和写入都发生在主设备上。只有主设备出现故障时,从设备才会接收和接收请求。主 - 从复制通常用于兼容ACID的键值存储。为了实现最大一致性,主存储被写入并且在事务完成之前更新所有副本。这种机制称为

  • 两阶段提交 ,并在副本上创建额外的网络和处理时间。 Master-master:

可以在管理密钥的所有节点上进行读写。没有一个“概念”初级”的分区所有者。主 - 主副本通常最终是一致的,集群执行自动操作来确定键的最新值并删除旧的过时值。 在大多数键值存储中,这种情况发生缓慢 - 在读取时间。 Riak在这里是个例外,因为它在正常运行期间有一个反熵服务来检查一致性。 版本控制数据

  • 为了启用自动冲突解决,您需要一种机制来指示最新版本的数据。最终一致的键值存储以不同的方式实现冲突解决。 Riak使用矢量时钟机制来预测哪个副本是最近的副本。其他键值存储使用简单的时间戳来指示过时。当冲突不能自动解决时,两个数据副本都会发送给客户端。在以下情况下发送到客户端的冲突数据可能发生: 客户端1向副本A写入“Adam:{likes:Cheese}”。

副本A将数据复制到副本B.

客户端1将副本A上的数据更新为“亚当:{喜欢:奶酪,讨厌:阳光}”。

此时,副本A没有足够的时间将最新数据复制到副本B.

客户端2将副本B上的数据更新为“亚当:{喜欢:狗,恨:袋鼠}”。

此时,副本A和副本B发生冲突,数据库群集不能自动解决差异。

  1. 另一种机制是使用时间戳并信任它们来指示最新的数据。在这种情况下,应用程序在更新值之前检查时间戳是否读取最新值是常识。

  2. 正在检查

  3. 检查并设置

    机制

  4. 基本上表示

'如果最新版本仍然是版本2,则保存我的版本3'

。此机制有时称为 读取匹配更新(RMU) 或 读取匹配写入(RMW) 。 这个机制是Oracle NoSQL,Redis,Riak和Voldemort使用的默认机制。

管理NoSQL的数据 - 傻瓜

编辑的选择

在Flash中使用活动文本 - 虚拟人物

在Flash中使用活动文本 - 虚拟人物

静态文本完成工作,为您提供信息网站访问者。但是Flash可以用文本来做更多的事情。有时候,你不希望自己的文本是文本,而是喜欢一堆可以弯曲,扭曲,移动,或者不能混合的独立字母形状。 Flash的分离命令...

移动网站质量保证测试 - 傻瓜

移动网站质量保证测试 - 傻瓜

在为IPhone推出新网站之前, iPad,始终在iPhone或iPad上全面测试其设计和功能,确保网站的外观和工作方式与您的想法完全相同。使用模拟器不能替代完成物理设备上的最终检查表。 As ...

QuarkXPress 5基本任务的快捷方式 - 虚拟人物

QuarkXPress 5基本任务的快捷方式 - 虚拟人物

QuarkXPress 5具有数吨和数吨的快捷方式。你大概不会记住他们中的大多数,但是你一定会发现自己一直在使用一两个。这里有一些有用的视图,调色板和对象选择任务的快捷键。 QuarkXPress查看快捷方式操作Mac Windows 100%命令+ 1 Ctrl + 1在窗口中装入Command + 0 Ctrl + 0 200%...

编辑的选择

如何将尼康D5300照片下载到计算机 - 傻瓜

如何将尼康D5300照片下载到计算机 - 傻瓜

你的尼康D5300,你可能会想用他们的照片编辑软件。您可以用两种方法将照相机中的照片和电影文件移到电脑上:通过USB电缆将照相机连接到电脑。您需要的电缆是随附的。

如何在播放期间放大尼康D7100照片 - 虚拟人物

如何在播放期间放大尼康D7100照片 - 虚拟人物

您的尼康D7100,如左图所示,您可以放大它,如右图所示。但是,您只能放大静止照片。此功能不适用于电影。以下是如何使用放大功能:放大。按Qual按钮。您可以...

如何在尼康D7100上播放时隐藏照片 - 虚拟人物

如何在尼康D7100上播放时隐藏照片 - 虚拟人物

可以使用隐藏图像选项在尼康D7100的播放菜单上隐藏一些照片,同时在播放过程中显示其他照片。假设你拍了100张照片--50次在商务会议上,50次在野外会议后。您想向您的老板展示您和您的同事的照片...

编辑的选择

IBS受害者如何制作草莓和奶油燕麦 - 假人

IBS受害者如何制作草莓和奶油燕麦 - 假人

您可以享用燕麦片如果你患有IBS。当快燕麦烹饪时,切碎草莓和香蕉(IBS主食),并从冰箱中取出椰奶。一旦这样做,燕麦片通常是准备倒。你可以添加不同的水果,甚至坚果作为你的...

如何为IBS患者制作绿鸡蛋烘焙者 - 假人

如何为IBS患者制作绿鸡蛋烘焙者 - 假人

使用自由放养的鸡,因为它们是谷物喂养,没有生长激素和抗生素,因此,IBS的肚子更健康。用任何鸡肉菜肴,一定要煮好你使用的任何一种鸡肉。当你对这道菜更加熟悉的时候,你可能会发现你并不需要...