分布式数据库中为什么要使用Vector Clock?
一、分布式数据库中为什么要使用Vector Clock
分布式系统的本地操作和数据交换当做事件,则理想系统中,事件时间上的先后关系和因果关系如果是全序,则系统中的进程按照全序关系执行处理事件,很容易达成一致。实际的情况是, 进程存在空间隔离、时钟漂移、网络延迟等原因导致事件的全序关系(注意,不能采用中央协调的方式)难以确定,其他答主提及Lamport的论文Time, Clocks and the Ordering of Events in a Distributed System,对此进行详细对确定事件的顺序进行了详细的表述,可以细心研读。
实际上我们可以通过Lamport clock和Vector clock获得事件的偏序关系, 不存在偏序关系的两个事件为并发。其实,dynamo,Riak用到的算法为version vector。 如果多个用户并发地修改存储在多节点上的需要保持某种约束的一组数值,而且只能有一个成功,怎么处理这种问题? 需要检查写写冲突! version vector就是一种检测写写冲突的算法,如果并发事务存在写写冲突,可以按照一定的策略只让一个事务commit,其他事务rollback。 我贴出的三篇文档已经给出了详细的实例,此处不在赘述了。 建议看看分布式事务,STM, spanner等相关知识。
延伸阅读:
二、Power BI是什么
Power BI(power business intelligence)是软件服务、应用和连接器的集合,它们协同工作以将相关数据来源转换为连贯的视觉逼真的交互式见解。 无论用户的数据是简单的 Excel 电子表格,还是基于云和本地混合数据仓库的集合,Power BI 都可让用户轻松地连接到数据源,直观看到(或发现)重要内容,与任何所希望的人进行共享。
Power BI 简单且快速,能够从 Excel 电子表格或本地数据库创建快速见解。 同时 Power BI 也可进行丰富的建模和实时分析,及自定义开发。 因此它既是用户的个人报表和可视化工具,还可用作组项目、部门或整个企业背后的分析和决策引擎。

相关推荐HOT
更多>>
受到关注的前沿技术有哪些?
一、人工智能(AI)人工智能是目前最受关注的技术领域之一,涵盖机器学习、深度学习、自然语言处理等方面。AI技术的广泛应用带动了对AI专业人才...详情>>
2023-10-17 23:43:19
有什么免费且稳定可以远程连接的Mysql云数据库?
一、免费且稳定可以远程连接的Mysql云数据库1、SQL FiddleSQL Fiddle 提供了 MySQL、Oracle、PostgreSQL、SQLite 以及 SQL Server 数据库环境详情>>
2023-10-17 12:52:43
为什么mysql从8.0.0版本开始,zip方式安装就不支持32位了?
一、为什么mysql从8.0.0版本开始,zip方式安装就不支持32位目前mysql支持win32的版本最新只到5.7.33,具体如下图,打开下载页面之后点击红框里...详情>>
2023-10-17 09:29:42
MySQL InnoDB引擎中的各种锁具体是怎么实现的?
一、MySQL InnoDB引擎中的各种锁的实现方式MySQL InnoDB引擎中的各种锁是通过多种机制实现的1、共享锁(Shared Lock)和排他锁(Exclusive Lock...详情>>
2023-10-17 08:59:33