Aerospike(以下简称Spike)
1、从Spike 3.0开始,它是一个AP数据库,即在各种网络分区情况下提供可用性而不是一致性的数据库。Spike 3.0不提供在事务期间保持记录一致复制所需的几个功能,相反,它允许在最终会造成数据冲突的情况下使用数据并进行写入。选择一个版本的记录而不是另一个版本的过程可能会丢失写入数据。
2、从Spike 4.0开始,既支持AP模式,也支持CP模式。这些模式可以通过强一致性配置参数在命名空间基础上配置。

1、AP模式

作为分布式数据库,Spike支持自动数据复制。通常,数据库维护每个记录的多个相同副本,称为复制因子。Spike通常使用两份数据副本运行,即复制因子2。Spike服务器支持配置复制因素(可以为每个命名空间进行配置)。
自动数据复制为系统提供了高性能和可用性的优势,但代价是增加了事务延迟。在良好的网络操作环境下,延迟成本增加很低,但在群集重新配置或网络故障期间,当所有副本可能尚未同步到最新副本时,这可能是一个问题。由于提交对驻留在非主服务器节点上的副本的更改所需的额外集群内通信,写事务延迟受复制因素的影响。
默认情况下,Spike会立即将写操作应用于副本。当网络正常运行时,这将导致数据一致性,即在每个事务期间涉及一个记录的所有副本,而不创建过时或脏读的情况。在发生网络分区的情况下,Spike将优先考虑可用性而不是一致性(Spike将允许在每个子集群中进行读写)。

1.1、默认配置

1.1.1、读取操作

即使在集群重新配置期间,只读事务也只查询单个副本(通常是主副本)。

1.1.2、写入操作

写入事务(包括删除和UDF应用程序)将在本地写入,然后在成功从事务返回之前同步写入所有副本。
这些选项为以可用性为中心的数据库提供了更高的正确性和轻微的网络开销的折衷方案。与不同步复制的数据库相比,延迟将保持在较低的水平,并观察到较高的正确性级别。但是,这并不能提供一致性。

1.2、自定义配置

1.2.1、读取操作

对于使用非默认设置的读取,将看到更多过时的读取,因为稍后的读取可能会返回记录的较早值(例如,当群集正在重新配置,而主副本尚未具有最新的写入副本时)。

1.2.2、写入操作

对于使用非默认设置的写入,可能会丢失更多的写入操作,因为当数据写入到主服务器但未成功复制时,事务可能会返回成功。
为了获得最大的应用灵活性,Spike提供了每个事务可选择的数据策略。使用这些与复制副本相关的策略,可以根据需要的性能和数据一致性级别来调整应用程序。

2、CP模式

强一致性保证声明对单个记录的所有写入都将按特定顺序(按顺序)应用,并且不会重新排序或跳过写入。特别是,已应用确认为已提交的写入,并且与同一记录的其他写入不同,写入存在于事务时间线中。即使面对网络故障、中断和分区,这种保证也适用。指定为“超时”(或来自客户端API的“Indobt”)的写入可以应用,也可以不应用,但如果已应用,则只能这样观察。

2.1、记录的写入/更新都是原子

Spike的强一致性保证是每记录,不涉及多记录事务语义。每个记录的写入或更新都是原子的和独立的,并且使用混合时钟保证排序。

2.2、提供了完整的线性化模式

在所有可以观察数据的客户机之间提供单一的线性视图,以及更实用的会话一致性模式,确保单个进程可以看到连续更新集。这两个读取策略可以在逐读的基础上选择,从而允许少数需要更高保证来支付额外同步价格的事务,具体如下。
在“超时”返回值的情况下——这可能是由于网络拥塞而产生的,在任何Aerospike问题之外——保证写入或不写入。

KV存储-Aerospike之AP与CP模式相关推荐

  1. Nacos中服务注册中心AP、CP模式实现,AP、CP模式切换

    本文分析Nacos基于Nacos 2.0 Nacos中服务注册中心默认是AP模式,如果设置为CP模式 那么客户端设置 spring.cloud.nacos.discovery.ephemeral=fa ...

  2. Nacos中AP和CP模式如何切换

    CAP理论 这个定理的内容是指的是在一个分布式系统中.Consistency(一致性). Availability(可用性).Partition tolerance(分区容错性),三者不可得兼. 一致 ...

  3. Nacos 的AP和CP模式

    Nacos是阿里开源的,Nacos 支持基于 DNS 和基于 RPC 的服务发现.在Spring Cloud中使用Nacos,只需要先下载 Nacos 并启动 Nacos server,Nacos只需 ...

  4. KV存储-Aerospike之功能限制

    Aerospike(以下简称Spike) 虽然Spike有许多优点(如高性能.无热点.线性扩展.混合架构等),但在程序开发过程中存在诸多不足(或称坑点),要想在业务中合理的使用必须提前熟悉各功能的限制 ...

  5. KV存储-Aerospike之索引(Index)

    Aerospike(以下简称Spike) 索引的作用是加快对存储记录的查找或排序,Spike中的索引分两种,分别为一级索引(Primary-Index)和二级索引(Secondary-Index),两 ...

  6. KV存储-Aerospike之AQL的命令(COMMANDS)

    Aerospike(以下简称Spike) Spike的AQL工具为DB.UDF和index管理提供了类似SQL命令行的接口.但Spike不支持标准SQL作为查询或管理语言. 如下是个人基于Spike4 ...

  7. CAP(AP模式/CP模式)

    Nacos 临时实例是AP模式 Nacos 持久实例是CP模式 Zookeeper CP模式 Eureka AP模式 CAP原则: C(Consistency):一致性 A(Availablitity ...

  8. 常用的高性能 KV 存储 Redis、Memcached、etcd、Zookeeper 区别

    1. 什么是 KV 存储 KV 是 Key-Value 的缩写,KV 存储也叫键值对存储.简单来说,它是利用 Key 做索引来实现数据的存储.修改.查询和删除功能. 常用的高性能 KV 存储主要有 R ...

  9. 从零开始的Linux 802.11WiFi CSITool(AP和monitor模式均亲测可用)

    从零开始的Linux WiFi CSITool(AP和monitor模式均亲测可用) 主要参考 1.官方资料: 2.亲测可用安装教程: 零.Linux及CSI相关知识的学习 1.Linux相关 1.1 ...

最新文章

  1. 抓住青春的尾巴再愤青一把
  2. Stones HDU 1896
  3. VC GDI+: error C2660: 'new' : function does not take 3 parameters
  4. R语言实战应用精讲50篇(十六)--如何实现文字云可视化
  5. echart 实例显示位置_技术分享:如何在Unity中使用实例化渲染?
  6. Oracle编程入门经典 第11章 过程、函数和程序包
  7. 反模式:神仙大类和黄金大锤
  8. 钰群的USB3.0采集,可以实现哪些采集卡方案?
  9. vs2015+opencv+qt打包exe的问题
  10. Duilib学习笔记《03》— 控件使用
  11. 某谷 P1654 OSU!
  12. 哈老师一到的飞鸽传书
  13. C# Readonly和Const的区别
  14. ORB-SLAM3:一个用于视觉、视觉惯性和多地图SLAM系统
  15. mac地址查 计算机名字,怎么看mac地址-教你通过MAC地址查询设备的厂商名称
  16. MangoDB的基本操作
  17. 无法打开coursera网站解决方案
  18. python生成随机字符串包含数字字母_使用python生成一个指定长度的字符串(随机密码),要求包括数字、字母、特殊符号(string库解析)...
  19. 景区门票预约系统_九寨沟景区:门票已预约到5月4日
  20. jQuery插件的使用

热门文章

  1. 成人学插画如何选培训班
  2. 静态代码扫描环境搭建(mac)
  3. python素描画_python实现彩照转黑白以及图片转素描画
  4. 要你命三千又三千 的 考研计划
  5. java毕业设计汽车配件管理系统mybatis+源码+调试部署+系统+数据库+lw
  6. 阿里云态势感知服务使用教程
  7. WARNING L1 UNRESOLVED EXTERNAL SYMBOL
  8. Path-Ranking:KBQA中path生成、召回、粗排与精排
  9. python re 简单实例_Python re.search方法代码示例
  10. 22 Herschel(1850)和麦克斯韦(1860)的推导