服务器架构的发展
摘要:
1 背景 商业化处理器都致力于单核处理器的发展,通过在芯片上集成更多数目的晶体管,加快运算速度 (即主频),从而提升系统性能。 2005年,当主频接近 4GHz 时,Intel 和 AMD 发现,单纯提升主频已无法明显提升系统整体性能。单核处理器利用冗长的运算流水线 (即增加每个始终周期同时执行的运
OLAP 系统
摘要:
1 诞生背景 受益于 IT 技术的发展,ERP、CRM 这类 IT 系统在电力、金融等多个行业均得以实施。这些系统提供了协助企业完成日常流程办公的功能,例如流程审批、数据录入和填报等,其应用可以看作线下工作线上化的过程。 —— 通常将这类系统称为联机事务处理 (OLTP) 系统 企业在生产经营过程中
ClickHouse 目前的事务
摘要:
各版本对事务的支持 v22.4 开始在单机 MergeTree 上支持事务,需要 "Begin Transaction" 和 "Commit/Rollback"。只支持 insert, update, delete 语句。 v22.7 增加参数 implicit transaction,设为 tru
Node* p = new Node(); 与 new Node;
摘要:
```c++ int main() { Node* p = new Node(); cout data data = 9; cout data data data = 91; cout data << endl; // 91 return 0; } ```
Linearizability versus Serializability
摘要:
原文 Linearizability 和 Serializability 是在数据库和分布式系统中重要的两个概念,而且比较容易混淆,这篇文章试着对两个概念的不同进行简单、简短的解释。 Linearizability: single-operation, single-object, real-tim
FoundationDB 架构
摘要:
FoundationDB(简称 FDB),是 Apple 公司开源的一个支持分布式事务的 Key-Value 存储,可以认为类似 PingCAP 开源的 TiKV。它最近发表了一篇论文 FoundationDB: A Distributed Unbundled Transactional KeyVa
ZAB 🆚 Raft
摘要:
共同点: 1️⃣ 都采用多数派。 2️⃣ 都引入 Leader 角色,且是一个强 Leader 的算法,只有 Leader 处理写请求。 3️⃣ 都保证了写的线性一致性和读的最终一致性。 不同点: 1️⃣ ZAB 划分阶段:崩溃恢复(领导者选举,成员发现,数据同步)、消息广播;Raft:领导者选举、
共识算法 ZAB
摘要:
ZAB 的作者说 ZAB 不是 Paxos,但后面我们又把 ZAB 归纳为 Paxos。我认为这两个说法都对,只是他们描述的时间不一致。在 ZAB诞生时,它解决了 Paxos 不能保证顺序执行的问题,从某些角度来说 ZAB 是要比 Paxos 优秀的,说它不是 Paxos 也没问题。但是后来随来越来
共识算法 Paxos
摘要:
共识算法引入 分布式:同一个应用的不同模块分别部署,它们之间通过约定的通信协议进行交互。 集群:将一个应用部署到多台服务器上,它们拥有相同的功能,所有成员都是平等的。 分布式和集群并不冲突,分布式架构也可用集群的方式部署。在后端部署过程中,“分布式+集群”的部署方式也很常见。 🌰 将订单服务拆分为
Paxos lecture (Raft user study)
摘要:
本篇文章以 John Ousterhout(斯坦福大学教授) 和 Diego Ongaro(斯坦福大学获得博士学位,Raft算法发明人) 在 Youtube 上的讲解视频及 ppt 为蓝本,深入分析 Paxos 的内部机制,并以日志复制同步(Replicated Logs)为背景,详细介绍使用 Pa