![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分布式系统与高可用架构
分布式系统与高可用架构
~青萍之末~
弱者总有弱者的理由
展开
-
RAFT算法详解
一、RAFT算法1、Raft算法概述 Raft算法则是从多副本状态机的角度提出,用于管理多副本状态机的日志复制。Raft实现了和Paxos相同的功能,它将一致性分解为多个子问题:Leader选举(Leader election)、日志同步(Log replication)、安全性(Safety)、日志压缩(Log compaction)、成员变更(Membership change)等。同时...转载 2019-08-10 22:27:07 · 28617 阅读 · 13 评论 -
理解分布式事务
一、什么是事务介绍分布式事务之前,先介绍什么是事务。1、事务的具体定义事务提供一种机制将一个活动涉及的所有操作纳入到一个不可分割的执行单元,组成事务的所有操作只有在所有操作均能正常执行的情况下方能提交,只要其中任一操作执行失败,都将导致整个事务的回滚。简单地说,事务提供一种“ 要么什么都不做,要么做全套(All or Nothing)”机制。2、数据库事务的ACID属性参考:http...转载 2019-08-06 22:48:11 · 308 阅读 · 0 评论 -
WiredTiger的事务实现详解
WiredTiger从被MongoDB收购到成为MongoDB的默认存储引擎的一年半得到了迅猛的发展,也逐步被外部熟知。WiredTiger(以下简称WT)是一个优秀的单机数据库存储引擎,它拥有诸多的特性,既支持BTree索引,也支持LSM Tree索引,支持行存储和列存储,实现ACID级别事务、支持大到4G的记录等。WT的产生不是因为这些特性,而是和计算机发展的现状息息相关。 现代计算机...转载 2019-07-31 23:09:35 · 3124 阅读 · 1 评论 -
深入理解MongoDB
文章目录一、副本集详解1、基本概念(1)副本集的作用(2)oplog简介2、副本集的基本架构3、副本集选主过程(1)三个存储数据的集群(2)arbiter节点(3)Bully算法(4)MongoDB的选主过程(5)为什么副本集数量最好为奇数?(6)心跳和同步机制二、MongoDB的路由、分片技术1、MongoDB的Sharding架构2、分片的优势(1)chunk分裂及迁移(2)chunkSize...转载 2019-07-29 22:45:46 · 1969 阅读 · 0 评论 -
MongoDB和RocksDB数据库简介
文章目录一、MongoDB简介1、MongoDB的特点(1)文档结构的存储方式,能够更便捷的获取数据(2)内置GridFS,支持大容量的存储(3)通过副本集保证高可用性(4)可扩展性强,支持多数据存储引擎二、RocksDB简介1、LSM树简介2、LSM树的插入步骤3、LSM树的合并步骤一、MongoDB简介 MongoDB是一款由C++语言编写,基于分布式文件存储的NoSQL数据库,具有免费...转载 2019-07-29 22:33:36 · 3427 阅读 · 0 评论 -
SQL和NoSQL
1、关系型数据库的特点获取持久化数据:可以将数据持久化到磁盘,并且很容易访问到其中一小块数据。并发:关系型数据库中有“事务”的概念,有效保障了多个程序访问同一份数据时的一致性,事务的ACID(原子性、一致性、隔离性、持久性)特性相信大家都了熟于心了。集成:不同开发团队,不同平台,不同语言的应用程序可以共享同一份数据。标准的关系模型:之所以能够很方便地达到上述目的,是因为提供...转载 2019-07-24 11:19:44 · 170 阅读 · 0 评论 -
分布式系统的概念
一、基本概念 把数据放在多个能独立运行的计算机(称为结点)上,各个结点利用计算机网络进行信息传递,合作完成共同的任务。分布式系统是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。1、分布式存储即通过大量的PC连入互联网,统一对外提供存储服务。分为以下几部分:(1)分布式文件系统:以文件的方式进行存储,对外提供文件的操作。(2)分布式键值系统:以kv...转载 2019-07-22 22:09:38 · 1862 阅读 · 0 评论