分布式
Lailikes
这个作者很懒,什么都没留下…
展开
-
SparkSQL教程
https://www.edureka.co/blog/spark-sql-tutorial/原创 2020-03-16 22:00:49 · 234 阅读 · 0 评论 -
Docker核心命令笔记
进入container内部执行命令:docker exec -it demo /bin/bash-i 保持从标准输入读取数据,互动-t 伪终端原创 2020-02-16 14:37:00 · 206 阅读 · 0 评论 -
彻底理解序列化和反序列化
https://tech.meituan.com/2015/02/26/serialization-vs-deserialization.html目录摘要简介一、定义以及相关概念数据结构、对象与二进制串二、序列化协议特性通用性强健性/鲁棒性可调试性/可读性性能可扩展性/兼容性安全性/访问限制三、序列化和反序列化的组件序列化组件与数据库访问组件...转载 2020-01-16 13:27:54 · 2824 阅读 · 0 评论 -
LevelDB之Leveled-Compaction
https://github.com/imjoey/blog/issues/6https://www.jianshu.com/p/99cc0df8ed21https://juejin.im/post/5c99f0556fb9a070e82c1fcf目录一、前言二、LSM1、MemTable2、ImmutableMemTable3、SSTable4、SSTable...转载 2020-01-11 11:51:09 · 1847 阅读 · 0 评论 -
Docker Compose 快速一键部署 TiDB 测试集群
https://blog.csdn.net/buster_zr/article/details/81985374错误:ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0原因:单机配置不够,主要是tikv的资源不够,需要修改...转载 2019-06-14 10:53:24 · 215 阅读 · 0 评论 -
三篇文章了解 TiDB 技术内幕 - 说存储
三篇文章了解 TiDB 技术内幕 - 说存储引言数据库、操作系统和编译器并称为三大系统,可以说是整个计算机软件的基石。其中数据库更靠近应用层,是很多业务的支撑。这一领域经过了几十年的发展,不断的有新的进展。很多人用过数据库,但是很少有人实现过一个数据库,特别是实现一个分布式数据库。了解数据库的实现原理和细节,一方面可以提高个人技术,对构建其他系统有帮助,另一方面也有利于用好数据库。...转载 2019-06-10 07:55:38 · 185 阅读 · 0 评论 -
三篇文章了解 TiDB 技术内幕 - 谈调度
三篇文章了解 TiDB 技术内幕 - 谈调度为什么要进行调度先回忆一下第一篇文章提到的一些信息,TiKV 集群是 TiDB 数据库的分布式 KV 存储引擎,数据以 Region 为单位进行复制和管理,每个 Region 会有多个 Replica(副本),这些 Replica 会分布在不同的 TiKV 节点上,其中 Leader 负责读/写,Follower 负责同步 Leader 发来的 ...转载 2019-06-10 07:56:02 · 346 阅读 · 0 评论 -
How do we build TiDB
首先我们聊聊 Database 的历史,在已经有这么多种数据库的背景下我们为什么要创建另外一个数据库;以及说一下现在方案遇到的困境,说一下 Google Spanner 和 F1,TiKV 和 TiDB,说一下架构的事情,在这里我们会重点聊一下 TiKV。因为我们产品的很多特性是 TiKV 提供的,比如说跨数据中心的复制,Transaction,auto-scale。再聊一下为什么 TiKV ...转载 2019-06-10 10:01:55 · 235 阅读 · 0 评论 -
性能调优所使用的工具
使用 iostat 定位磁盘问题在一个性能测试集群,我们选择了 AWS c3.4xlarge 机型,主要是为了在一台机器的两块盘上面分别跑 TiKV。在测试一段时间之后,我们发现有一台 TiKV 响应很慢,但是 RocksDB 并没有相关的 Stall 日志,而且慢查询也没有。于是我登上 AWS 机器,使用iostat -d -x -m 5命令查看,得到如下输出:Device: ...转载 2019-06-10 10:27:27 · 696 阅读 · 1 评论 -
分布式限流令牌桶算法
https://blog.csdn.net/SunnyYoona/article/details/512284561. 简介令牌桶算法最初来源于计算机网络。在网络传输数据时,为了防止网络拥塞,需限制流出网络的流量,使流量以比较均匀的速度向外发送。令牌桶算法就实现了这个功能,可控制发送到网络上数据的数目,并允许突发数据的发送。令牌桶算法是网络流量整形(Traffic Shaping)和速...转载 2019-07-03 17:50:42 · 2054 阅读 · 0 评论 -
隔离级别、SI 和 SSI(四种隔离级别和快照隔离)
https://www.jianshu.com/p/c348f68fecde本文是我对最近读的几篇论文的总结,没有太多引用原文,纯靠自己的理解和印象串联起来。主要是为日后深入了解相关知识做个简单“索引”。本文描述得不是很严谨,也不保证完全正确,建议有兴趣的同学去阅读论文——根据论文名称搜索就可以找到。ACID事务是关系数据库操作的逻辑单位。事务的存在,是为从数据库层面保证数据的安...转载 2019-07-29 11:23:19 · 8822 阅读 · 0 评论 -
etcd raft如何实现Linearizable Read
https://zhuanlan.zhihu.com/p/27869566为了防止stale read,leader需要首先check自己是否在当前term commit过entry,这也是raft小论文中 5.4节 Safety中明确提到的,需要注意的事,这一步既为了防止stale read,也为了防止脏读(没有commit的数据)。代码如下:if r.raftLog.zeroTerm...转载 2019-05-17 17:16:18 · 405 阅读 · 0 评论 -
对Raft协议的一些思考
https://zhuanlan.zhihu.com/p/51358042什么一致?一致性协议都是为了保证所有的节点状态是一致的,而一致的日志输出到状态机就可以产生一致的状态,所以只需要保证日志是一致的。怎么保证?简化问题首先明确一下适用的场景:异步网络通信环境,非拜占庭错误。设想一种理想情况,没有节点宕机和网络分区发生。这样保证起来就会很简单,所有的请求都发给leader,l...转载 2019-05-17 17:12:46 · 699 阅读 · 0 评论 -
Raft翻译
寻找一种易于理解的一致性算法(扩展版)摘要Raft 是一种为了管理复制日志的一致性算法(日志一致,则能保证状态机一致)。它提供了和 Paxos 算法相同的功能和性能,但是它的算法结构和 Paxos 不同,使得 Raft 算法更加容易理解并且更容易构建实际的系统。为了提升可理解性,Raft 将一致性算法分解成了几个关键模块,例如领导人选举、日志复制和安全性。同时它通过实施一个更强的一致性来减...转载 2019-05-17 15:53:13 · 297 阅读 · 0 评论 -
ZooKeeper C Client的使用(ZooKeeper 的C语言接口)
Zookeeper C API 指南一(准备工作)http://www.cnblogs.com/haippy/archive/2013/02/21/2919365.htmlZookeeper C API 指南二(监视(Wathes), 基本常量和结构体介绍)http://www.cnblogs.com/haippy/archive/2013/02/21/2920241.htmlZo...转载 2019-02-20 11:59:42 · 4941 阅读 · 0 评论 -
震惊了!原来这才是kafka!
简介kafka是一个分布式消息队列。具有高性能、持久化、多副本备份、横向扩展能力。生产者往队列里写消息,消费者从队列里取消息进行业务逻辑。一般在架构设计中起到解耦、削峰、异步处理的作用。kafka对外使用topic的概念,生产者往topic里写消息,消费者从读消息。为了做到水平扩展,一个topic实际是由多个partition组成的,遇到瓶颈时,可以通过增加partition的数量来进行横...转载 2019-02-20 16:47:53 · 625 阅读 · 0 评论 -
LevelDb日知录
目录LevelDb日知录之一:LevelDb 简介LevelDb日知录之二:整体架构LevelDb日知录之三:log文件LevelDb日知录之四:SSTable文件LevelDb日知录之五:MemTable详解LevelDb日知录之六写入与删除记录LevelDb日知录之七:读取记录LevelDb日知录之八:Compaction操作LevelDb日知录之九...转载 2019-04-01 19:59:07 · 176 阅读 · 0 评论 -
分布式数据库数据一致性原理说明与实现
分布式数据库数据一致性原理说明与实现http://database.51cto.com/art/201710/554743.htm分布式数据库的数据一致性管理是其最重要的内核技术之一,也是保证分布式数据库满足数据库最基本的ACID特性中的 “一致性”(Consistency)的保障。在分布式技术发展下,数据一致性的解决方法和技术也在不断的演进,本文就以作者实际研发的分布式数据库作为案例,介...转载 2019-04-20 19:51:45 · 391 阅读 · 0 评论 -
全球分布式数据库:Google Spanner翻译
本文总体转自:http://www.sohu.com/a/126470421_463989但在原博客基础上有批注。目录1 介绍2 实现2.1 Spanserver 软件栈2.2 目录和放置2.3 数据模型4 并发控制4.1 时间戳管理4.1.1 Paxos 领导者租约4.1.2 为读写事务分配时间戳4.1.3 在某个时间戳下的读操作4.1.4...转载 2019-05-05 09:52:23 · 932 阅读 · 0 评论 -
理解数据库的事务,ACID,CAP和内外一致性
https://www.jianshu.com/p/2c30d1fe5c4e目录什么是事务什么是ACID理解一致性理解隔离性CAP定理Reference什么是事务事务是指由一系列数据库操作组成的一个完整的逻辑过程,这个过程中的所有操作要么都成功,要么都不成功。比如:常见的例子就是银行转账的例子,一次转账操作会包含多个数据库操作,而这些数据库操作需要放到一个...转载 2019-05-05 10:01:19 · 945 阅读 · 0 评论 -
CAP 定理的含义
http://www.ruanyifeng.com/blog/2018/07/cap.html分布式系统(distributed system)正变得越来越重要,大型网站几乎都是分布式的。分布式系统的最大难点,就是各个节点的状态如何同步。CAP 定理是这方面的基本定理,也是理解分布式系统的起点。本文介绍该定理。它其实很好懂,而且是显而易见的。下面的内容主要参考了 Michael Whi...转载 2019-05-05 12:01:35 · 127 阅读 · 0 评论 -
Paxos、2PC辨析
http://www.cnblogs.com/cchust/p/5617989.htmlQ&A1.分布式事务与Paxos协议的关系? 在数据库领域,提到分布式系统,就会提到分布式事务。Paxos协议与分布式事务并不是同一层面的东西。分布式事务的作用是保证跨节点事务的原子性,涉及事务的节点要么都提交(执行成功),要么都不提交(回滚)。分布式事务的一致性通常通过2P...转载 2019-05-08 21:09:40 · 1085 阅读 · 0 评论 -
Raft
https://www.jianshu.com/p/8e4bbe7e276c针对简化版拜占庭将军问题,Raft 解决方案类比我们还是用拜占庭将军的例子来帮助理解 Raft。假设将军中没有叛军,信使的信息可靠但有可能被暗杀(如果信使不可靠,也就是在分布式信道上可以进行恶意篡改,无法实现一致性)的情况下,将军们如何达成一致性决定?Raft 的解决方案大概可以理解成 先在所有将军中选...转载 2019-05-08 21:32:50 · 376 阅读 · 0 评论 -
Raft 5.4.2 Committing entries from previous terms的理解
Raft: Committing entries from previous termsRAFT论文中5.4.2节的Committing entries from previous terms大概是整篇文章中最难理解的一部分,Diego Ongrao应该也意识到了这个问题,在他的博士论文中把这张图改了一下:A time sequence showing why a leader can...转载 2019-05-19 20:19:51 · 998 阅读 · 5 评论 -
多版本并发控制(MVCC)在分布式系统中的应用
https://coolshell.cn/articles/6790.html问题最近项目中遇到了一个分布式系统的并发控制问题。该问题可以抽象为:某分布式系统由一个数据中心D和若干业务处理中心L1,L2 … Ln组成;D本质上是一个key-value存储,它对外提供基于HTTP协议的CRUD(crud是指在做计算处理时的增加(Create)、读取查询(Retrieve)、更新(Update...转载 2019-05-15 09:26:07 · 213 阅读 · 0 评论 -
分布式一致性算法和分布式锁的关系
http://baotiao.github.io/2017/09/12/distributed-lock/talk about consensus algorithm and distributed lock 关于一致性协议, 分布式锁以及如何使用分布式锁最近看antirez 和 Martin 关于redlock 的分布式锁是否安全的问题的争吵, 非常有意思http://mar...转载 2019-02-18 16:09:49 · 1164 阅读 · 1 评论