文档章节

【论文学习】HAT, vldb2013

LewisChan
 LewisChan
发布于 04/11 22:37
字数 708
阅读 0
收藏 0

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

Highly Available Transactions - Virtues and Limitations,vldb

Peter Bailis, Aaron Davidson, Alan Fekete


由[35]正式证明,CAP定理中的C指的是Linear

此篇对consis模型作了分类,与高可用可以搭配的模型称为HAT-compliant; 像Seria, snapshot ioslation, repeatable read都是与HAT不兼容的,因为它们要检测并发的冲突(为了阻止lost update, write skew);

采用了一个修改版的可用性,client至少对一个server有亲和性

HAT模型可以获得1-3 order的延时下降,相比于当前的infrastruture

3 ACID

[28]中说在网络分区时,Seria和高可用性不能同时存在

在传统单机环境下,seria的代价是昂贵的,and are manifested in the form of decreased concurrency, subsequently performance degradation

先前的著作中,没有谁谈到weak model和HA间的关系。(谈的是Seria与HA间的关系,和weak model的综述)

4 高可用性

informally 就是Client请求始终可以得到服务,而且是low latency(不需要等到server间都同步完);

sticky availability: client 总是联系同一组replica处理请求,因为要维护和servers间的亲和性或stickiness; 事务可用性 有副本可用性:对于事务要访问的item,至少能联系到一replica 事务可用性:给定副本可用性,事务最终提交或者主动abort(internal abort)

5 HAT

介绍一些与HAT兼容的consis semanics,着眼于可行性,而不是性能

read committed与HAT兼容,阻止脏写与脏读(措施可以是:client buffer their writes until they commit)

session guarantee

  • 单调读
  • 单调写
  • writes follow reads
  • read your writes
  • PARM(pipelined random access memory)
  • causal consitency

it's impossible to prevent lost update in a highly available env

write skew is a generalization of lost update to multiple keys.

SI, Cursor都要阻止lost update, RR阻止lost update and write skew,所以它们都与HAT不兼容(not achievable in HAT system);

recencey guarantee由Linea来保证,但在HAT环境下也不可能

5.3 总结

this is the first unification of transsactional isolation, distributed consistency, and session gurantee modesl.

画了个表格和图,总结有哪些weak model可以在HAT中使用,哪些不行。

6 HAT implications

用TPC-C中的五种事务来检验HAT的有用性。其中4种能运行

用leveldb, thrift做了个HAT DB prototype来做测验

7 related work

we believe this paper is the first to explore the connections between transactional semantics, data consitency and availability

google spanner提供了1SR (strong one-copy serializable Tx),对于那些可以接受unavailability and incresed latency的用户而言,这是合理的选择

今天很多DB系统提供的语义在HAT环境下都可实现,说明分布式DB并不一定要Compromise availability, low latency or scalability

© 著作权归作者所有

LewisChan

LewisChan

粉丝 0
博文 1
码字总数 708
作品 0
东城
后端工程师
私信 提问
加载中

评论(1)

LewisChan
LewisChan 博主
2019.6月论文总结转移到阿里yuque平台
目标检测:YOLO

1.官网教程的翻译,重点是微调和继续训练部分 http://www.jianshu.com/p/ebce76db119b 2.使用YOLO训练自己的数据样本经验总结,重点是训练输出参数的介绍以及如何跟踪查看代码 http://blog....

lilai619
2017/04/21
0
0
中国省市县数据sql

MySQL-Front 5.1 (Build 2.7) /!40101 SET @OLDSQLMODE=@@SQL_MODE /;/!40101 SET SQL_MODE='' /;/!40111 SET @OLDSQLNOTES=@@SQL_NOTES /;/!40103 SET SQL_NOTES='ON' /; Host: localhost D......

crazymus
2013/12/17
665
1
java 省市区数据data 

java 省市区数据data CREATE TABLE hat_province ( sid number(11) NOT NULL , provinceID varchar2(6) default NULL, province varchar2(40) default NULL, PRIMARY KEY (sid) ); --市 CREA......

DemonsI
2018/12/28
20
0
【笔记】元学习专题视频(台大·李宏毅)学习记录

目录 一、概述 Meta Learning = Learn to learn 让机器去学习如何进行学习:使用一系列的任务来训练模型,模型根据在这些任务上汲取的经验,成为了一个强大的学习者,能够更快的学习新任务。...

Veagau
10/24
0
0
red hat as 5 注册码

Red Hat Enterprise Linux 5 Install Number redhat AS5 cdkey AS 5 key 红帽子 企业版 5 注册码 如下: Server: * Red Hat Enterprise Linux (Server including virtualization): 2515dd4e2......

JavaGG
2010/03/24
2.2K
0

没有更多内容

加载失败,请刷新页面

加载更多

类比思想歪解Java线程

在操作系统的概念里,有内核态,用户态。其实,操作系统的最小执行单位是进程,而进程是分类型的,有两种类型,内核进程,用户进程。 内核进程由操作系统启动时创建,用户进程是由用户程序启...

萧默
48分钟前
2
0
Git推送错误“ [[远程拒绝]主机->主机(分支当前已签出)”)

昨天,我发布了一个有关如何将Git存储库从我的一台计算机克隆到另一台计算机的问题 , 如何从另一台计算机“ git clone”? 。 现在,我可以成功地将Git存储库从源(192.168.1.2)克隆到目标...

javail
58分钟前
4
0
Selenium 4.0 Alpha更新日志

早在2018年8月,整个测试自动化社区就发生了一件重大新闻:Selenium的创始成员Simon Stewart在班加罗尔Selenium会议上正式确认了Selenium 4的发布日期和一些重要更新。 Selenium 4.0 Alpha版...

八音弦
今天
7
0
2、编写程序求Sn=a+aa+aaa+…+aa…aa的值,其中a是1—9之间的一位数字,n表示 a的位数

//编写程序求Sn=a+aa+aaa+…+aa…aa的值,其中a是1-9之间的一位数字, //n表示 a的位数 #include<stdio.h> int main() { int a,n,i,Sn=0,Z=0; printf("please intput a:\n"); scanf("%d",&a......

201905021729吴建森
今天
5
0
Git中的HEAD是什么?

您会看到Git文档说出类似 分支必须在HEAD中完全合并。 但是到底什么是Git HEAD ? #1楼 了解正确答案的一种好方法是运行git reflog HEAD ,您可以获得HEAD所指向的所有位置的历史记录。 #2楼...

技术盛宴
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部