自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 【系统设计面试必备系列】一文带你完全弄懂NoSQL和SQL!!!

系统设计面试是大家在求职过程中非常重要的一环,本文就给大家细致讲解SQL和NoSQL的具体区别。

2023-12-13 17:57:10 144

原创 MIT6.824 Spark论文精读

文章目录IntroductionResilient Distributed DatasetsRDD AbstractionSpark Programming InterfaceAdvantages of the RDD ModelApplications Not Suitable for RDDsSpark Programming InterfaceRDD Operations in SparkRepresenting RDDsImplementationJob SchedulingInterpreter

2022-05-30 10:57:41 370

原创 MIT6.824 Lec14 FaRM

文章目录绪论Spanner与FaRMRDMASocket数据传输流程RDMA数据传输流程Optimistic Concurrency Control绪论Spanner与FaRMSpanner的主要特点:一个实际的系统部署方案专注于全球范围内的容错部署使用TrueTime来解决read-only transaction性能:read-write transaction大致需要10-100ms瓶颈:网络延迟FaRM的主要特点:探索性质的原型系统,挖掘了RDMA的潜能所有replica

2022-05-28 16:04:11 257

原创 MIT6.824 FaRM论文精读

文章目录IntroductionHardware trendsNon-volatile DRAMRDMA networkingProgramming model and architectureDistributed transactions and replicationIntroductionFaRM可以在提供ACID分布式事务的情况下保证strict serializability,high availability,high throughput,low latency。FaRM实现以上保证基

2022-05-27 18:26:18 508

原创 MIT6.824 Lec13 Spanner

文章目录SpannerRead-Write TransactionSpannerSpanner的架构设计如下图所示。采取这种设计原则的好处:Sharding allows huge total throughput via parallelismDatacenters fail independently – different cities.Clients can read local replica – fast!Can place replicas near relevant cus

2022-05-25 16:55:05 169

原创 MIT6.824 Spanner论文精读

文章目录IntroductionImplementationSpanserver Software StackDirectories and PlacementIntroductionSpanner是Google的全球分布式数据库,它主要具有以下特点:可细粒度动态控制数据副本的配置,包括数据的分片方式,数据的迁移等。读和写操作的外部一致性一个时间戳下跨数据库的全球一致性读Spanner能提供全球范围内的有序事务提交时间戳,而这个功能基于TrueTime API及其实现。Implementa

2022-05-23 12:08:07 386

原创 MIT 6.824 Lec12 Distributed Transactions

文章目录事务事务的基本概念ACID原则Serializable分布式事务Concurrency ControlTwo-phase lockingAtomic CommitTwo-phase Commitfailure discussionconclusion事务事务的基本概念简单来说,事务就是将一系列列数据库的基本操作看作一个基本执行单元。比如在银行转帐中可能设计多个基本数据库操作,但是转账这个操作本身应该被看作一个基本执行单元,因为我们不希望在转账的过程中出现异常,具体实例如下所示:example

2022-05-15 23:29:01 153

原创 MIT6.824 Lec11 Frangipani

文章目录背景应用背景特点cache coherence基本机制实例atomicitycrash recovery缺陷背景应用背景workstations in offices,most file access is to user’s own files,need to potentially share any file among any workstations特点Frangipani具有以下设计特点:strong consistencycaching in each workstat

2022-05-13 12:06:07 89

原创 MIT 6.824 Frangipani论文精读

文章目录IntroductionIntroduction如今,集群的不断增长给数据的存储带来了新的挑战。为了保存更多的文件,并为更多的用户服务,我们需要添加更多的磁盘并挂载到更多的机器上。但是,磁盘和扩展需要专业人员的管理维护,RAID技术也仅仅只能解决部分问题。...

2022-04-29 15:49:06 298

原创 MIT 6.824 Lec10 Aurora

Aurora的提出意义successful recent cloud service, solves serious problems for customersbig payoff for good designshows limits of general-purpose storage abstractionmany tidbits about what’s important in real-world cloud infrastructure现有的云服务缺陷lots of dat

2022-04-26 11:12:58 108

原创 MIT 6.824 Aurora论文精读

现代的分布式云服务通过将计算和存储进行解耦来获得更强的可扩展性和弹性。Amazon认为现在的分布式云服务还存在一些问题: - 计算和存储的解耦使得**性能瓶颈从I/O变为了发起请求的数据库和执行请求的底层存储系统之间的网络资源。** - 虽然现在大多数数据库操作可以并发执行,但是**在某些情况下仍然需要进行同步,这会导致cpu stall和context switch现象**。比如,数据库中的cache buffer miss,就需要进行换页或刷页。 - **事务的提交过程中意外中止会影响其它事务的

2022-04-23 16:24:58 2821

原创 MIT 6.824 Lec9 Chain Replication

Chain Replication将replicated server组织成chain样式,如S1, S2, S3, S4。其中,S1为head node,S4为tail node。Chain Replication处理写操作的机制如下:Client sends to headForwarded down the chain, in orderEach server overwrites old data with new dataTail responds to clientChain

2022-04-20 10:59:28 155

原创 MIT 6.824 CRAQ论文精读

文章目录IntroductionBasic System ModelInterface and Consistency ModelChain ReplicationChain Replication with Apportioned QueriesConsistency Model on CRAQFailure Recovery in CRAQScaling CRAQChain Placement StrategiesCRAQ within a DatacenterCRAQ Across Multiple

2022-04-18 18:35:58 354

原创 MIT 6.824 Lec8 Zookeeper

ZooKeeper拟解决的问题能否将分布式系统中的不同的协作服务进行统一?如何设计统一的API接口?上层应用该如何使用?为了系统的容错性,我们需要搭建N个副本机器,我们能否同样获得N倍的性能提升?Raft机制下的性能问题理想情况下,在分布式系统中,我们希望可以通过水平扩展集群规模来增加提升系统性能。然而,在Raft机制下水平扩展甚至会降低系统的性能。 在Raft机制下,所有的操作都需要通过Leader来进行处理,因此Leader才是影响系统性能的瓶颈节点。ZooKeeper性能解决方案读

2022-04-17 16:53:35 1352

原创 MIT 6.824 ZooKeeper论文精读

文章目录IntroductionThe ZooKeeper ServiceService OverviewData ModelSessionsClient APIZooKeeper GuaranteesExamples of primitivesIntroduction现有coordinate service的缺陷:不同的分布式应用有不同的协调需求,如队列协调需求,选举需求,配置更改需求等,每个coordinate service只适用于解决一种协调需求。大量的使用锁机制,导致系统性能的整体下降。

2022-03-10 10:53:41 4608

原创 MIT 6.824 Lec5&6&7. Fault Tolerance: Raft

文章目录Split-BarinFault-tolerant SystemWhat is Split-brainMajority VotingRaftLeader ElectionSplit-BarinFault-tolerant System目前我们已经学习了多个Fault-tolerant System:MapReduce:会对compute tasks进行复制,但是依赖single master来实现该机制GFS:GFS会对data进行复制,但是依赖single master来选择prima

2021-12-30 19:24:24 694

原创 MIT 6.824 Lec5&6&7 Fault Tolerance: Raft Q&A

Does Raft sacrifice anything for simplicity?Raft为了简便易用,牺牲了一些性能,例如:每个operation都需要单独写入log进行持久化存储,如果将很多operations构成一个batch一起写入会更好Leader和每个Follower之间只能存在一个有效的AppendEntries RPC。已pipline的形式构建多个RPCs可能更好。snapshot的设计只适用于状态空间比较少的情况,因为需要将所有状态全部存储在disk中。对于大型系统来.

2021-12-24 11:42:19 375

原创 MIT 6.824 Raft论文精读

文章目录Introduction本文主要对raft协议的相关论文进行了总结。Introduction目前大多数分布式系统都采用replicated state machines的容错机制,raft协议作为一种共识算法,就是用来保证不同的servers上的replicated log的一致性。上图描述了共识算法在分布式系统容错机制中的作用。client发送多个commands给serversserver的共识算法模块将多个commands记录在log中,并使log在多个servers上保持一致

2021-12-24 09:51:04 2061 1

原创 MIT 6.824 Lec4.Primary-Backup Replication

文章目录概述Primary-Backup Replication故障恢复复制策略Replicated state machine困难复制级别VM FTOverview容错机制Time Interrupts概述本文是MIT 6.824 Lec4的相关课程笔记。Primary-Backup Replication故障恢复对于分布式系统来说,常见的故障有以下几种:fail-stop:server因各种原因停止工作Bugs:软件或硬件存在bugsenvironment:地震,停电replica

2021-12-19 17:03:33 265

原创 MIT 6.824 Lec4 VMware FT Q&A

The introduction says that it is more difficult to ensuredeterministic execution on physical servers than on VMs. Why is thisthe case?在vm上更容易实现是因为hypervisor可以模拟和控制硬件的行为,使得primary vm和backup vm保持同步,比如时钟中断。What is a hypervisor?hypervisor是虚拟机系统中的一部分,相.

2021-12-16 10:41:29 730

原创 MIT 6.824 Fault-Tolerant Virtual Machines 论文精读

文章目录概述Introduction基本FT设计Deterministic Replay Implementation概述本文是MIT 6.824 Lec4的先修内容。Introduction实现一个fault-tolerant系统基本上由两种设计思路:主从备份:这种方法backup server的状态必须时刻与master server保持同步,这样master宕机后,backup才可以立刻变为新的master。但保持相同的状态需要master不断地发送自己地状态信息,需要占用大量带宽。状态

2021-12-16 09:28:47 417

原创 MIT 6.824 Lec3.GFS

文章目录概述分布式存储系统困难与挑战一致性强一致性错误的多Server模型GFS特点Master读写操作读操作写操作概述本文章是MIT 6.824 分布式系统课程 Lec3的课程笔记。分布式存储系统困难与挑战构建一个良好的分布式存储系统需要面临很多挑战,主要有如下几个方面。high performance →\rightarrow→ shard data over many serversmany servers →\rightarrow→ constant faultsfault tol

2021-12-13 11:43:13 237

原创 MIT 6.824 Lec3 GFS Q&A

文章目录本文是MIT 6.824 Lec3 关于GFS的课前问题和答案。Why is atomic record append at-least-once, rather than exactly once?根据论文Section 3.1,Step 7。如果writer在某一个secondaries失败,client会重新尝试write操作,这会导致数据在正常的replicas上被写入了超过一次。How does an application know what sections of a c

2021-12-11 19:46:52 220

原创 MIT 6.824 GFS论文精读

文章目录概述简介设计概览机遇和挑战接口API架构概述本文是Lec3的先修内容,需要精读GFS论文。简介Google设计GFS的原因是旧的文件系统已经无法适配现有的集群环境,主要体现在以下几点。集群中的节点发生故障成为一种常见现象,新系统必须具备持续监控、异常检测、容错和自动恢复的能力文件变得十分庞大(TB),原有的基于小文件(KB)的I/O设计思路需要改变。文件的追加写入操作次数远高于覆盖次数。需要提升系统的易用性设计概览机遇和挑战GFS面临的挑战主要有如下几点。系统通常由许多

2021-12-10 10:27:04 912

原创 MIT 6.824 Lab1 MapReduce

文章目录概述基本需求基本数据结构CoordinatorWorker具体功能Worker注册任务请求与执行宕机处理总结概述本文章主要讲述lab1的基本实现思路,具体的实验要求见MIT-Lab1基本需求 一个Coordinator管理多个Worker,通过RPC进行通信 Worker向Corrdinator请求任务,Coordinator向Worker分配任务 Coordinator能够处理Worker Crash基本数据结构Coordinatortype Coordinator stru

2021-11-25 19:23:32 406

原创 MIT 6.824 Lec2.RPC and Threads

文章目录线程使用线程的优点事件驱动编程线程中的挑战Example: web crawlerSerial crawlerConcurrentMutex crawlerConcurrentChannel crawlerRPC调用流程异常处理学习本次课程需要对Go语言有一定的了解,推荐Google官方的Go教程 A Tour of Go线程多个线程允许一个程序同时进行多项任务,每个线程内部程序串行运行,并且有自己的程序计数器、寄存器和栈空间。使用线程的优点多线程的应用在分布式系统中非常常见,因为它能够支

2021-11-15 13:11:47 2109

原创 MIT 6.284 Lec1.Introduction

文章目录概述什么是分布式系统为什么需要分布式系统分布式系统的难点分布式系统的设计目标分布式系统中的核心问题Fault ToleranceConsistencyPerformance课堂问题MapReduceWhat will likely limit the performance?How does detailed design reduce effect of slow network?How does MR get good load balance?What about fault toleranc

2021-11-05 15:45:17 271

原创 MapReduce论文精读

文章目录概述研究意义编程模型与系统实现编程模型MapReduce示例:统计文档中所有单词的出现次数系统实现基本流程容错处理worker异常master异常localityTask GranularityBackup TasksCombination Function总结概述本文主要目的是记录MapReduce论文中的核心思想,方便个人和大家进行记录和查看。MapReduce同时也是MIT 6.824的必读论文之一,希望大家能看完本文后再进行Lec1的学习。研究意义MapReduce的研究意义是给复

2021-11-02 23:33:28 2339 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除