![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分布式
辽宁大学
毕业于朝阳科技大学
展开
-
anna 单击版测试用例。
单击版:所有文件下的ip都是本机ip#ifndef __COMMON_H__#define __COMMON_H__#include <atomic>#include <string>#include <boost/functional/hash.hpp>#include <boost/format.hpp>#include <boost/crc.hpp>#include <functional>#include原创 2020-12-26 10:24:15 · 208 阅读 · 1 评论 -
anna的安装与安装过程遇到的问题2
接上次继续 安装。安装的protobuf可能版本不对,我换成了3.9.1版本。然后进行覆盖。重复一遍,安装成功。 [-Wdeprecated-declarations] if ((res = socket->recv(&msgs.back(), ZMQ_DONTWAIT)) == false) return false; ^/home/wg/anna/build/vendor/zeromqcpp/zeromqcpp原创 2020-12-25 22:26:45 · 336 阅读 · 1 评论 -
anna的安装与安装过程遇到的问题
anna地址:https://github.com/ucbrise/anna安装步骤代码:1.Install Clang and libc++, run:sudo apt-get updatesudo apt-get install -y build-essential autoconf automake libtool curl make g++ unzip pkg-config wget clang-3.9输入命令过程中可能会出现以下错误:E: 无法获得锁 /var/lib/dp原创 2020-12-25 20:14:02 · 522 阅读 · 3 评论 -
Automating the Choice of Consistency Levels in Replicated Systems(2014)
作者:ChengLi期刊:usenixAbstract:提出了SIEVE系统,能够根据目标语义进行自动选择一致性方法。能够静态和动态的分析,自动分类的负载是很低的。Introduction:很多一致性的方法:都需要程序员指定操作。然后才可能进行强一致性和弱一致性的选择。还有一种方式,讲操作和一致性进行关联。对一致性级别进行排序和分配实现。(交易强一致性)、(弱一致性)缺点:这些策略的问题是,它们给应用程序程序员带来了不小的负担,要理解每个操作的语义,以及为不同操作分配不同的一致性级别如何原创 2020-12-17 16:38:45 · 171 阅读 · 0 评论 -
masstree-inspired结构
masstree类似于B树,具有快速并发的特点。局限:1.仅支持序列化的2.单key的事务。原创 2020-12-14 08:54:20 · 475 阅读 · 0 评论 -
TPC-C测试
TPC-C 测试TPC 是国际事务处理性能委员会简称,该组织是一个负责制定性能测试基准的非盈利委员会,其制定的 TPC-C 测试可衡量数据库在线事务处理能力。性能和性价比是TPC-C 测试的两个衡量。性能由 tpmC(transactions per minute,tpm)衡量,C 指 TPC 中的 C 基准程序,它的定义是每分钟内系统处理的新订单个数。性价比衡量数据库单位成本,以系统的总价格/tpmC 数值得出。TPC-C 是开放的测试基准,这样即便是参与测试公司的硬件架构和数据库软件架构有所原创 2020-12-13 23:21:59 · 2112 阅读 · 1 评论 -
自反性对称传递性
A={1,2,3}R1={<1,1>,<2,2>,<3,3>}R2={<1,3>}说明R1具有自反性.R2是反自反的。R1即是对称的,又是反对称的。R3={<1,1>,<1,2>,<2,1>}R4={<2,1>,<3,2>}对称的逆就是反对称。(<x,y>与<y,x>为对称,如果一个集合中只包括不同的<x,y>且没有<y,x>原创 2020-12-11 23:19:52 · 13408 阅读 · 2 评论 -
什么时候一致性需要协调?定义了invariant confluence
问题:什么时候一致性需要协调?众所周知,很多强属性像符合“ACID”的线性化和串行化没有协调或并发之间通信是不能完成的。不符合invariant confluence属性的既可以无协调。invariant confluence(不变式+merge)可以理解为:所有局部提交的决策必须符合全局不变式的。例如我在数据库状态的本地副本上提交操作,我必须确保在merge的时候,没有其他并发操作会使提交决策无效。如果不存在这样的状态,就不必协调操作。...原创 2020-12-08 21:17:40 · 260 阅读 · 0 评论 -
什么是原子操作
一. 何谓"原子操作":原子操作就是: 不可中断的一个或者一系列操作, 也就是不会被线程调度机制打断的操作, 运行期间不会有任何的上下文切换(context switch).二. 为什么关注原子操作?1. 如果确定某个操作是原子的, 就不用为了去保护这个操作而加上会耗费昂贵性能开销的锁. - (巧妙的利用原子操作和实现无锁编程)2. 借助原子操作可以实现互斥锁(mutex). (linux中的mutex_lock_t)3. 借助互斥锁, 可以实现让更多的操作变成原子操作.三. 单核CPU的原..转载 2020-08-21 15:02:02 · 17482 阅读 · 5 评论 -
两阶段提交协议
在分布式系统中通常存在着多个机器节点,每个节点只能控制自己事务的成功与失败而无法获知其他节点的事务执行结果,这时当事务操作跨越多个节点时就会存在无法满足分布式系统ACID中的数据一致性(Consistency)问题,这时就需要一个协调节点了统一调到分布式系统中其他节点的事务操作。 在分布式系统中通常存在两个问题,可用性、数据一致性,通常我们会在可用性与数据一致性之间做一个衡量,在这需求中就产生了一致性协议;在解决分布式一致性问题中产生了不少经典的分布式一致性算法;MongoDB的分支TokuMX也开发了转载 2020-08-08 13:16:29 · 829 阅读 · 0 评论