E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
ddia
系统设计
DDIA
之Chapter 7 Transactions 之防止丢失更新
防止丢失更新涉及处理多个事务并发写入时发生的各种冲突类型。虽然“读已提交”和“快照隔离”等隔离级别管理与读取相关的冲突,但防止丢失更新需要额外的措施来处理写写冲突。丢失更新问题:当两个事务同时读取一个值,对其进行修改,然后将修改后的值写回时,会发生这种问题。一个修改可能会覆盖或“破坏”另一个修改,导致更新丢失。例子包括递增计数器、更新复杂文档,或多个用户同时编辑相同内容。防止丢失更新的解决方案:原
暴躁老哥在线刷题
·
2024-09-15 15:02
SystemDesign
数据库
系统设计
大数据
系统架构
DDIA
Designing Data-Intensive Application《数据密集型应用系统设计》笔记
DesigningData-IntensiveApplication中译《设计数据密集型应用》又名《数据密集型应用系统设计》,我看的是冯若航在gitbook开源的翻译版本,地址是https://vonng.gitbooks.io/
ddia
-cn
我想唱歌给你听
·
2024-02-20 03:31
杂
日志结构的存储引擎
参考《
DDIA
》如果你把东西整理的井井有条,下次就不用找了。为什么要关注数据库内部的存储和索引?
Dakini_Wind
·
2024-02-06 08:50
Designing Data-Intensive Applications
相对于读书笔记,本文更像是一篇阅读大纲,在初步阅读本书后,尚有许多疑难,借用此大纲,以后温故而知新
DDIA
讲了什么什么是data-intensive原文这样定义Data-intensiveapplicationsarepushingtheboundariesofwhatispossiblebymakinguseofthesetechnologicaldevelopments.Wecallanapp
bangshijian6100
·
2024-02-01 22:24
json
运维
数据结构与算法
DDIA
笔记4 Thrift, Protocol Buffer, gRPC
这三个词在程序员的生活中出现频率是极其之高,13年实习的时候就知道可以用Thrift和Protocolbuffer,当时也简单了解了下PB的编码原理,当时也不是不求甚解,能用就行,所以有的概念也模模糊糊。现在来稍微全面掉了解这些个东西,即使不到技术深处,也能做到技术选型的正确性。容易混淆的概念我以前只关注了Thrift和PB的序列化和反序列化,就会有种错觉,Thrift就是一个序列化的协议。可实际
听海吹牛逼的声音
·
2024-01-25 13:33
【分布式-6.824】MIT分布式系统概述
nil.csail.mit.edu/6.824/2020/schedule.html参考lab:https://github.com/aQuaYi/MIT-6.824-Distributed-Systems推荐书目:
DDIA
我要精通C++
·
2024-01-13 10:28
分布式
分布式
DDIA
第十章:批处理
本文是《数据密集型应用系统设计》(
DDIA
)的读书笔记,一共十二章,我已经全部阅读并且整理完毕。采用一问一答的形式,并且用列表形式整理了原文。
负雪明烛
·
2024-01-08 17:47
分布式
数据库架构
数据库
大数据
spark
DDIA
第五章:数据复制
本文是《数据密集型应用系统设计》(
DDIA
)的读书笔记,一共十二章,我已经全部阅读并且整理完毕。采用一问一答的形式,并且用列表形式整理了原文。
负雪明烛
·
2024-01-08 07:09
分布式
系统架构
面试
数据库
数据密集型应用系统设计
DDIA
第六章:分区
本文是《数据密集型应用系统设计》(
DDIA
)的读书笔记,一共十二章,我已经全部阅读并且整理完毕。采用一问一答的形式,并且用列表形式整理了原文。
负雪明烛
·
2024-01-07 22:32
数据库
大数据
分布式
系统架构
面试
DDIA
第九章:一致性与共识
本文是《数据密集型应用系统设计》(
DDIA
)的读书笔记,一共十二章,我已经全部阅读并且整理完毕。采用一问一答的形式,并且用列表形式整理了原文。
负雪明烛
·
2024-01-07 04:23
分布式
数据库架构
数据库
大数据
面试
DDIA
第八章:分布式系统的挑战
分布式系统面临哪些挑战?前面几章讨论的副本故障切换、复制延迟、事务控制;本章讨论的不可靠网络、时钟和时序问题等等;我们的假设:任何可能出错的东西都会出错。故障与部分失效单机上的软件比较稳定,要么功能完好,要么整个系统故障,而不是介于两者之间。分布式系统中,尽管系统的其他部分工作正常,但系统的某些部分可能会以某种不可预知的方式被破坏。这被称为部分失效(partialfailure)。难点在于部分失效
负雪明烛
·
2024-01-06 08:44
分布式
数据库
数据库架构
大数据
面试
DDIA
第四章:数据编码与演化
本文是《数据密集型应用系统设计》(
DDIA
)的读书笔记,一共十二章,我已经全部阅读并且整理完毕。采用一问一答的形式,并且用列表形式整理了原文。
负雪明烛
·
2024-01-05 21:09
数据密集型应用系统设计
读书
数据库
分布式
大数据
架构
程序人生
DDIA
读书笔记第一章——可靠性、可扩展性、可维护性
现今大多数系统是数据密集型系统,而非计算密集型,所以CPU一般很少成为这类系统的瓶颈,数据量、数据复杂性、数据的变更速度往往是这类系统更关心的问题。许多数据密集型系统都需要依赖通用组件,比如:存储数据,以便以后能够再次读取(数据库database)保存一些高昂开销的操作结果,以便以后能够快速访问(缓存cache)允许用户对存储的数据按照关键词搜索,同时可以按照某种方式过滤(搜索引擎searchin
fayadexinqing
·
2024-01-04 03:56
DDIA读书笔记
数据库
分布式
DDIA
- 第3章 数据存储与检索
文章目录第3章数据存储与检索1数据库核心:数据结构1.1哈希索引1.2SSTables和LSM-Tree1.2.1构建和维护SSTables1.2.2从SSTables到LSM-Tree1.2.3性能优化1.3B-trees1.3.1使B-tree可靠1.3.2优化B-tree1.4对比B-tree和LSM-tree1.4.1LSM-tree的优点1.4.2LSM-tree的缺点1.5其他索引结构
博_采_众_长
·
2024-01-04 03:26
数据库
database
DDIA
- 第5章 数据复制
文章目录第5章数据复制1主节点和从节点1.1同步复制与异步复制1.2配置新的从节点1.3处理节点失效1.3.1从节点失效:追赶式恢复1.3.2主节点失效:节点切换1.4复制日志的实现1.4.1基于语句的复制1.4.2基于预写日志(WAL)传输1.4.3基于行的逻辑日志复制1.4.4基于触发器的复制2复制滞后问题2.1读自己的写2.2单调读2.3前缀一致读2.4复制滞后的解决方案3多主节点复制3.1
博_采_众_长
·
2024-01-04 03:26
数据库
linq
java
DDIA
- 第9章 一致性与共识
文章目录第9章一致性与共识1一致性保证2可线性化2.1如何达到线性化?可线性化和可串行化2.2线性化的依赖条件2.2.1加锁与主节点选举2.2.2约束与唯一性保证2.2.3跨通道的时间依赖2.3实现线性化系统2.3.1线性化与quorum2.4线性化的代价CAP理论是否有用?2.4.1CAP理论2.4.2可线性化与网络延迟3顺序保证3.1顺序与因果关系3.1.1因果顺序并非全序3.1.2可线性化强
博_采_众_长
·
2024-01-04 03:26
java
数据库
分布式
DDIA
- 第1章 可靠、可扩展与可维护的应用系统
文章目录第1章可靠、可扩展与可维护的应用系统认识数据系统1可靠性(Reliability)1.1硬件故障1.2软件错误1.3人为错误1.4可靠性的重要性2可扩展性(Scalability)2.1描述负载2.2描述性能2.3应对负载增加的方法3可维护性(Maintainability)3.1可运维性:运维更轻松3.2简单性:简化复杂度3.3可演化性:易于改变小结信息是激发创新的力量本章目标:可靠性、
博_采_众_长
·
2024-01-04 03:55
DDIA
数据密集型
分布式
DDIA
学习笔记---第一章:可靠性,可扩展性,可维护性
一开始提到,现如今很多应用程序都是“数据密集型”,而非“计算密集型”。其实想想,对于我们普通群体来说,确实是这样的。就拿你自己手机上的大部分应用,社交,娱乐(游戏除外)类型基本都是“数据密集型”应用,而那些稍微专业点,涉及到图像处理,大型游戏等应用属于“计算密集型”了。因此,在可预见的时间内,我个人感觉数据密集型应用的使用频率和数量应该是更高的。可靠性硬件故障断电,洪水,地震,磁盘损坏等等非人为可
大家都叫我船长
·
2024-01-04 03:25
DDIA
DDIA
DDIA
读书分享 第一章 文字稿
第一章是很容易被跳过的一章,因为概念较多,容易泛泛而谈。但其给出的三个概念,确实是构建系统避不开的三个重点方向。ps.开源中文版本[1]有些地方翻译的不是很地道,读起来可能会有些难受,不过这是所有翻译难免的。本书为什么以数据系统为主题数据系统(datasystem)是一种模糊的统称。在信息社会中,一切皆可信息化,或者,某种程度上来说——数字化。这些数据的采集、存储和使用,是构成信息社会的基础。我们
木鸟杂记
·
2024-01-04 03:54
分布式点滴
分布式
ddia
-读书笔记 第一章
第一章可靠、可扩展与可维护的应用系统数据系统(datasystem)的核心设计目标可靠性(Reliability).当出现意外情况,系统可以继续正常运转可扩展性(Scalability).随着规模的增长,例如数据量,流量或复杂性,系统应以合理的方式匹配这种增长可维护性(Maintainability).故障类型硬件错误冗余通过软件容错软件错误全面测试进程隔离监控及时发现差异人为失误以最小出错的方式
J贝
·
2024-01-04 03:24
读书笔记
数据库
数据系统
读书笔记
ddia
DDIA
读书笔记-第一章
第一章-数据系统及可靠、可扩展、可维护概要数据系统常见的数据系统数据库:用以存储数据,这样之后应用可以再次面问。高速缓存缓存那些复杂或操作代价昂贵的结果,以加快下一次访问。索引用户可以按关键字搜索数据井支持各种过掳流式处理:持续发送消息至另个进程,处理采用异步方式。批处理定期处理大量的累积数据。越来越多应用系统需求广泛,单个组件往往无能满足所有数处理与求。因而需要将任务解,每个组件负责高效完成其中
乾坤有思
·
2024-01-04 03:52
DDIA
java
分布式
DDIA
第一章:可靠性,可扩展性,可维护性
本文是《数据密集型应用系统设计》(
DDIA
)的读书笔记,一共十二章,我已经全部阅读并且整理完毕。采用一问一答的形式,并且用列表形式整理了原文。
负雪明烛
·
2024-01-04 03:18
数据密集型应用系统设计
读书
数据库
大数据
分布式
系统架构
运维
个人博客汇总
博客汇总建设完成的博客建设中的博客规划建设的博客看过但是暂时不会整理的博客建设完成的博客建设中的博客集体智慧编程redis设计与实现GRPC规划建设的博客书籍类
DDIA
技术方案活动增长裂变增长裂变人群打标看过但是暂时不会整理的博客刑法学讲义蛤蟆先生去看心理医生
破幻星空
·
2023-11-21 05:47
个人开发
ddia
(5)----Chapter5.Replication
CHAPTER5.ReplicationReplicationmeanskeepingacopyofthesamedataonmultiplemachinesthatconnectedviaanetwork.Thereareseveralreasonsofwhywewanttoreplicatedata:Tokeepdatageographicallyclosetoyourusersandredu
back2childhood
·
2023-11-11 03:31
ddia
notes
spring
服务器
分布式
数据密集型应用(
DDIA
)读书笔记
第一章:https://app.yinxiang.com/fx/a168d44e-867e-434a-96de-67a7b5e9804a第二章:https://app.yinxiang.com/fx/54295830-b2ef-4477-ae2d-d978b87b5b79第三章:https://app.yinxiang.com/fx/7c96a2c4-88aa-463b-a0c3-1820b2ae
ThomasYoungK
·
2023-10-16 15:52
DDIA
Ch6
PartitionsplitofDBtomultiplenodesParitionkey-valuePartitioningbyKeyRangejustlikeencyclopedia,youassignrangeofkeytoanodePartitioningbyhashusingthehashofthekeyforpartitioningweloseanicepropertyofkey-ran
Wilbur_
·
2023-10-13 10:17
ddia
第五章 复制
复制的目的:高可用允许断网时继续工作低延迟高吞吐量由于数据会随着时间改变,流行的数据变更复制算法是个难题,流行的变更复制算法有下面三种:单领导多领导无领导单领导基于领导者的复制(主从复制):主库接受所有写操作,从库只接受读.主库发生变更时,将变更日志发送给所有的从库,从库根据日志更新数据.这种方式应用在PostgreSQL/MySQL等关系型数据库上,也用与MongoDB之类的非关系型数据库.同步
寻找傅里叶
·
2023-10-07 04:03
DDIA
Ch12
第12章开始这段总结了整本书的脉络,以及我们面对不同问题的时候应该知道有不同的选择,而当我们面对一个复杂系统的时候,通常要整合很多不同DB来用于不同的需求cache用来优化readheavy,columnindexstorage用来用于searchfeature等等CombiningspecializedtoolsbyderivingdataForexample,itiscommontoneedt
Wilbur_
·
2023-09-12 15:51
ddia
第三章 数据检索与存储
哈希索引:key->offset通过文件存储,为了避免磁盘空间耗尽,采用合并与压缩段文件,保留最新的键值.局限:文件需要放进内存,范围查询效率不高SSTable(排序字符串表):每个文件里的键值对有序,压缩时可以采用归并合并.将合并的段生成稀疏的索引,可以进行范围查询.如何保证文件里键值对有序?可以首先在内存中采用树结构(红黑树或者平衡树)写入(也被称为memtable),当到达一定阈值时,作为S
寻找傅里叶
·
2023-09-05 18:05
ddia
(4)----Chapter4.Encoding and Evolution
InChapter1,weintroducetheideaofevolvability:weshouldaimtobuildsystemsthatmakeiteasytoadapttochange.Inmostcases,achangetoanapplication’sfeaturesalsorequiresachangetodatathatitstores:perhapsanewfieldora
back2childhood
·
2023-08-28 10:57
ddia
notes
服务器
linux
数据库
【分布式系统】前言
现在的心得如下:不知道啥时候能破解哈~~内容包括部分6.824+读的论文+
DDIA
:DDIAmapreduceGFSVMwareFTRaftzookeeperchainreplication(CR)和CRAQtime
kkzz1x
·
2023-08-25 07:29
MIT6.824
+
分布式论文
唠嗑
分布式
如何成为软件架构师 ---《软件架构基础》书摘
在豆瓣上被称为和
DDIA
(DesigningData-IntensiveApplications)等同级别的书籍,作为修炼内功的经典书目。初读之下,逻辑流畅、论述充分,非常好读。
要厉害的
·
2023-08-21 15:26
DDIA
Ch7
Transactionsarenotalawofnature;theywerecreatedwithapurpose,namelytosimplifytheprogrammingmodelforapplicationsaccessingadatabase.工具的出现都是为了做事情更方便,这包括数学的工具,都是为了做一件事情更加顺手(比如虚数的出现就是为了能够计算一元三次方程的解)而工具出现以后可能
Wilbur_
·
2023-08-21 14:06
ddia
(3)----Chapter3. Storage and Retrieval
However,firstwe’llstartthischapterbytalkingaboutstorageenginesthatareusedinthekindsofdatabasesthatyou’reprobablyfamiliarwith:traditionalrelationaldatabases,andalsomostso-calledNoSQLdatabases.Wewillexa
back2childhood
·
2023-08-12 11:41
分布式系统
数据库
MIT 6.824 -- MapReduce -- 01
)一致性MapReduceMap函数和Reduce函数疑问课程b站视频地址:MIT6.824DistributedSystemsSpring2020分布式系统推荐伴读读物:极客时间–大数据经典论文解读
DDIA
Binary Oracle
·
2023-08-07 10:06
#
MIT
6.824
mapreduce
大数据
ddia
第四章 编码与演化
随着应用程序的升级,系统需要保持向后兼容(新代码读旧数据)和向前兼容(旧代码读新数据).数据的编码支持更好的兼容性尤为重要.编码数据序列化:将内存中的数据编码成字节序列(才能通过网络发送)反序列化:将字节序列解码成内存中的数据编程语言特定的编码特定的编程语言内置了序列化的方法,例如java.io.Serializable和pickle,但是却与语言紧密相关,其他语言难以读取.除非临时使用,采用语言
寻找傅里叶
·
2023-07-27 18:43
DDIA
(《数据密集型应用系统设计》)的阅读随笔:第6章 数据分区
DDIA
(《数据密集型应用系统设计》)的阅读随笔:第6章数据分区文章目录
DDIA
(《数据密集型应用系统设计》)的阅读随笔:第6章数据分区前言一、分区1.分区基本方法1)按键范围分区2)按散列分区2.一致性哈希
有莘不殁
·
2023-07-25 19:50
系统设计
分布式系统
数据库
分布式
深入理解CAP(2) - CP 和 CA
一个被广泛采纳的观点是,CAP里因为P是不可避免的,所以其实我们只能在C和A中2选1.这是EricBrewer在2012年自己写在论文中的观点
DDIA
的作者也在描述CAP时提到,CAP定理没有帮助CAP
西部小笼包
·
2023-07-21 01:23
DDIA
-Chapter3 数据存储与检索
数据存储与检索的相关底层实现与取舍这一章节讲述了数据存储与检索的相关知识,总结一下就是:在不同的应用场景下,如何实现数据的快速检索,而采用不同的存储方案。本章节讨论了两个存储引擎的实现,分别对应的是OLAP和OLTP的数据库,即日志结构的存储引擎(LSMTree)和面向页的存储引擎(BTree)。对于一个数据库而言核心就是数据结构,以下将步入正文哈希索引来解决appendlogfile存储的检索问
沙茶是个好名字
·
2023-06-17 06:29
DDIA
读书笔记 Chapter 5
这一章主要介绍了备份.备份是指把同样的信息存在多个机器上.主要有以下好处让数据在地理位置上更近.即使一部分系统down了,系统仍然可以正常工作.Scale!有多个备份可以服务更多的读请求.本章的假设是dataset足够小所以每台机器都可以单独的存下一部分.如果说dataset相对时间不变的话,那就相对很简单.难点在于dataset会变,如何解决dataset更新?有三种常见的方法来解决变化的dat
尚无花名
·
2023-06-12 22:22
DDIA
Ch11
Inbatchprocessing,afileiswrittenonceandthenpotentiallyreadbymultiplejobs.Analogously,instreamingterminology,aneventisgeneratedoncebyaproducer(alsoknownasapublisherorsender),andthenpotentiallyprocessed
Wilbur_
·
2023-04-10 18:00
DDIA
读书笔记第三章——存储与检索
两大类存储引擎的结构:日志结构(log-structured)的存储引擎,面向页(page-oriented)的存储引擎驱动数据库的数据结构以实现一个KV数据库为例,最简单的方案,支持Get、Put,不支持Delete#!/bin/bashdb_set(){echo"$1,$2">>database}db_get(){grep"^$1,"database|sed-e"s/^$1,//"|tail-
fayadexinqing
·
2023-03-29 22:40
DDIA读书笔记
linux
数据库
运维
分布式
DDIA
- 读书笔记
文章目录序前言第一部分数据系统基础
DDIA
-第1章可靠、可扩展与可维护的应用系统
DDIA
-第2章数据模型与查询语言
DDIA
-第3章数据存储与检索
DDIA
-第4章数据编码与演化第二部分分布式数据系统
DDIA
博_采_众_长
·
2023-03-29 22:57
DDIA
DDIA
分布式
数据密集
应用系统设计
DDIA
读书笔记 第五章 数据同步
数据同步多主无主主从关系同步方式同步同步异步同步半同步同步同步滞后read-after-write一致性单调读一致性前缀一致读实现基于语句基于WAL基于行拓扑结构环形星形全链接并发写冲突避免冲突覆盖合并失效节点上线1一主多从通常主节点负责写入,从节点负责读取,主节点的信息需要同步给从节点。主从同步按照同步方式可以分为同步同步,异步同步,半同步同步。同步同步需要等待从节点返回确认信息,才可以进行下一
朱明代月
·
2023-03-29 22:44
Engine
数据库
DDIA
(《数据密集型应用系统设计》)的阅读随笔:第5章 数据复制
DDIA
(《数据密集型应用系统设计》)的阅读随笔:第5章数据复制
DDIA
这本书,其实我买的挺早,可能中文版刚出的时候我就买了,不过一直在书架上吃灰。
有莘不殁
·
2023-03-29 22:11
系统设计
分布式系统
数据库架构
DDIA
读书笔记 | 第七章:事务
文章目录前言一、事务的相关概念1.1ACID含义1.2单对象和多对象操作简介1.2.1单对象写入1.2.2多对象事务的需求1.2.3处理错误和终止二、弱隔离级别2.1读已提交2.1.1脏读2.1.2脏写2.1.3读已提交的实现:2.2快照隔离和可重复读2.3防止丢失更新2.4写入偏斜与幻读2.4.1写入偏差例子:2.4.2导致写入偏差的幻读:三、可串行化3.1真正的可串行化3.1.1在存储过程中封
我是真的菜啊啊
·
2023-03-29 22:01
DDIA读书总结
数据库
DDIA
读书笔记 | 第一章:可靠性、可伸缩性、可维护性
第一章:可靠性、可伸缩性、可维护性文章目录第一章:可靠性、可伸缩性、可维护性前言一、可靠性1.定义2.硬件故障3.软件错误问题解决方案:4.人为错误二、可伸缩性1.可伸缩性(Scalability)描述负载描述性能应对负载三、可维护性1.可维护性(Maintainability)本章总结前言着重讨论三个在大多数软件系统中都很重要的问题:可靠性(Reliability)系统在困境(adversity
我是真的菜啊啊
·
2023-03-29 22:31
DDIA读书总结
服务器
运维
数据库
DDIA
读书笔记 | 第三章:数据存储与检索
文章目录前言一、驱动数据库的数据结构1.0日志索引结构索引:1.1散列索引散列表的局限性1.2SSTable和LSM树1.2.1排序字符串表(SortedStringTable)与使用散列索引的日志段相比,SSTable优势:1.2.2构建和维护SSTable1.2.3用SSTable制作LSM树1.3B树1.4B树与LSM树1.4.1LSM树的优点1.4.1LSM树的缺点1.4.2B树的优点1.
我是真的菜啊啊
·
2023-03-29 22:31
DDIA读书总结
数据库
nosql
java
DDIA
读书笔记 | 第六章:分区
文章目录前言为什么分区:简要概括一、分区与复制二、键值数据的分区2.1根据键的范围分区(KeyRange分区)2.2根据键的散列分区2.3负载偏斜与热点消除三、分区与次级索引3.1基于文档的次级索引进行分区3.2基于关键词的次级索引进行分区四、分区再平衡4.1再平衡策略五、请求路由本章小结前言对于非常大的数据集,或非常高的吞吐量,仅仅进行复制是不够的:我们需要将数据进行分区(partitions)
我是真的菜啊啊
·
2023-03-29 22:31
DDIA读书总结
数据库
database
DDIA
笔记——数据复制
TableofContentsgeneratedwithDocToc此篇为《数据密集型应用系统设计》(
DDIA
)读书笔记,笔记可能存在遗漏,建议直接阅读原书。
会飞的bird
·
2023-03-29 22:30
DDIA
数据库
分布式存储
上一页
1
2
3
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他