[蹭热度] 关于OceanBase在2020年第二次上榜TPCC的解读
OceanBase在2020年打破自己在2019年创造的记录,第二次问鼎,在最近又引起一波讨论,作为利益相关方(前ob初创团队员工、目前正在现东家做着类似的事情),也想蹭一波热度,来从数据层面分析解读下。关于tpcc的背景知识,请大家上tpcc官网了解,不要轻信各种公众号文章,顺便贴一下tpcc排名
Paxos成员组变更
本文是Paxos三部曲中的第三篇,在前一篇文章《使用Multi-Paxos协议的日志同步与恢复》([Paxos三部曲之二]使用Multi-Paxos协议的日志同步与恢复)中,我们讨论了基于Multi-Paxos协议的日志同步方案,在这个方案中,我们有一个隐含的前提,就是Paxos成员组是确定的,并且
使用Multi-Paxos协议的日志同步与恢复
本文是Paxos三部曲中的第二篇。在前一篇文章《使用Basic-Paxos协议的日志同步与恢复》([Paxos三部曲之一]使用Basic-Paxos协议的日志同步与恢复)中,我们讨论了基于Basic-Paxos协议的日志同步方案,在这个方案中,所有成员的身份都是平等的,任何成员都可以提出日志持久化的
[LockFree之美] 使用Hazard Version实现的无锁Stack与Queue
概述这篇文章([LockFree之美]共享变量的并发读写)的第6小节讲述了HazardVersion的实现原理,它的设计思想最早由OB团队的席华锋提出,本文不再赘述,本文主要分享HazardVersion的实现要点,以及使用它实现无锁Stack与Queue的方法,已经在多核系统上的性能测试,代码已在
数据库事务隔离标准分析
1概述与背景这是数据库事务原理和工程实践系列文章的第一篇,本文主要在JimGray的论文<ACritiqueofANSISQLIsolationLevels>基础上分析关系数据库的事务隔离级别标准和不同隔离级别情况下的行为。第2节主要讨论ANSI标准的下的隔离级别,第3节主要讨论基于悲观
两阶段提交的工程实践
两阶段提交(2PhaseCommit简称2PC)协议是用于在多个节点之间达成一致的通信协议,它是实现“有状态的”分布式系统所必须面对的经典问题之一。本文通过对比经典2PC协议,和Google工程实践的基础上,分析一种优化延迟的2PC协议。为了方便说明,本文主要针对分布式数据库中,跨域sharding
共享变量的并发读写
我blog上的老文,已经沉了,在专栏发一下。在高性能并发服务器中,对于共享对象的读写是最常见的操作之一,比如全局配置类对象的并发读取和更新,以及更复杂的如copyonwritebtree、堆栈等的并发读写,最基本的操作都可以简化理解为通过全局共享的指针,并发读取和更新指针所指向对象的操作。最简单的模
[转载] 谷歌 F1 Online DDL的关键点:状态间兼容性
这篇文章是我读到的对于F1Onlineschemachange最透彻的解读,作者是我的同事董欢庆,他曾在IBM、中科院、华为长期从事存储领域工作,现在是美团分布式数据库团队核心专家。原文地址:https://zhuanlan.zhihu.com/p/120719499摘要:OnlineDDL是分布式
谷歌 F1 Online DDL的关键点:状态间兼容性
Online DDL 是分布式数据库领域的重要基础,可以说与事务模型、共识协议一样重要。最近重读F1的Online Schema Change这篇 paper [1],也希望能用通俗易懂的方式帮助更多人理解它。因此有了这篇短文,实际上是个人的 Paper 阅读笔记。理解这篇文章的原理的关…
好书推荐——《大规模分布式存储系统》
这本书是分布式系统领域综述性质的经典著作,由OceanBase核心开发者(日照)撰写。理论方面,不仅讲解了大规模分布式存储系统的核心技术和基本原理,而且对Google、Amazon、Microsoft和阿里巴巴等大型互联网公司的大规模分布式存储系统进行了分析;实战方面…
《A Critique of ANSI SQL Isolation Levels》论文实验
1序言《A Critique of ANSI SQL Isolation Levels》是理解数据库隔离性的最关键论文之一。论文对异常现象给出了明确的定义。依据异常现象,可以确定的划分与比较数据库产品的隔离级别。主要异常现象包括:读未提交(A1)不可重复读(A2)幻象(A3)更新丢失…
数据库事务隔离标准分析
1 概述与背景这是数据库事务原理和工程实践系列文章的第一篇,本文主要在Jim Gray的论文<A Critique of ANSI SQL Isolation Levels>基础上分析关系数据库的事务隔离级别标准和不同隔离级别情况下的行为。第2节主要讨论ANSI标准的下的隔离级别,第3节主要讨…
数据库事务隔离标准分析
1概述与背景这是数据库事务原理和工程实践系列文章的第一篇,本文主要在JimGray的论文<ACritiqueofANSISQLIsolationLevels>基础上分析关系数据库的事务隔离级别标准和不同隔离级别情况下的行为。第2节主要讨论ANSI标准的下的隔离级别,第3节主要讨论基于悲观
[硬广] 华为2012实验室分布式数据团队招聘
分布式数据库团队隶属于华为2012实验室-中央软件院-分布式数据实验室,实验室由华为Fellow胡子昂亲自筹建,团队成员来自IBM、TeraData、神通数据库、阿里巴巴等,目前在进行华为自研的分布式数据项目。我本人也是看中了能够按照自己意愿重新造轮子的机会,…
两阶段提交的工程实践
两阶段提交(2 Phase Commit简称2PC)协议是用于在多个节点之间达成一致的通信协议,它是实现“有状态的”分布式系统所必须面对的经典问题之一。本文通过对比经典2PC协议,和Google工程实践的基础上,分析一种优化延迟的2PC协议。为了方便说明,本文主要针…
两阶段提交的工程实践
两阶段提交(2PhaseCommit简称2PC)协议是用于在多个节点之间达成一致的通信协议,它是实现“有状态的”分布式系统所必须面对的经典问题之一。本文通过对比经典2PC协议,和Google工程实践的基础上,分析一种优化延迟的2PC协议。为了方便说明,本文主要针对分布式数据库中,跨域sharding
[LockFree之美] 使用Hazard Version实现的无锁Stack与Queue
概述这篇文章([LockFree之美] 共享变量的并发读写)的第6小节讲述了Hazard Version的实现原理,它的设计思想最早由OB团队的席华锋提出,本文不再赘述,本文主要分享Hazard Version的实现要点,以及使用它实现无锁Stack与Queue的方法,已经在多核系统上的性…
[LockFree之美] 使用Hazard Version实现的无锁Stack与Queue
概述这篇文章(http://oceanbase.org.cn/?p=82)的第6小节讲述了HazardVersion的实现原理,它的设计思想最早由OB团队的席华锋提出,本文不再赘述,本文主要分享HazardVersion的实现要点,以及使用它实现无锁Stack与Queue的方法,已经在多核系统上的性
共享变量的并发读写
我blog上的老文,已经沉了,在专栏发一下。在高性能并发服务器中,对于共享对象的读写是最常见的操作之一,比如全局配置类对象的并发读取和更新,以及更复杂的如copy on write btree、堆栈等的并发读写,最基本的操作都可以简化理解为通过全局共享的指针,…
Paxos成员组变更
本文是Paxos三部曲中的第三篇,在前一篇文章《使用Multi-Paxos协议的日志同步与恢复》([Paxos三部曲之二] 使用Multi-Paxos协议的日志同步与恢复)中,我们讨论了基于Multi-Paxos协议的日志同步方案,在这个方案中,我们有一个隐含的前提,就是Paxos成员组…