DDIA】的更多相关文章

https://vonng.gitbooks.io/ddia-cn/content/ch7.html…
在MongoDB3.6引入的新feature中,change stream无疑是非常吸引人的. Change streams allow applications to access real-time data changes without the complexity and risk of tailing the oplog. Change stream允许应用实时获取mongodb数据的变更,这是个呼声很高的一个的需求,可以用于ETL.跨平台数据同步.通知服务等.以前没有change…
本文是典型分布式系统分析的第三篇,分析的是Bigtable,一个结构化的分布式存储系统. Bigtable作为一个分布式存储系统,和其他分布式系统一样,需要保证可扩展.高可用与高性能.与此同时,Bigtable还有应用广泛的特点(wide applicability),既能满足对延时敏感的.面向终端用户的应用需求,又能hold住高吞吐需求的批处理程序. 不过,通读完整篇论文,会发现,Bigtable这个系统是建立在很多其他google的产品上的,如GFS.Chubby.GFS为Bigtable提…
第一步. 首先建立Hello项目同时建立Maven约定的目录结构 Hello     --src     -----main     ----------java     ----------resources     -----test     ---------java     ---------resources     -- target     --pom.xml 第二步:在项目Hello根目录建立pom.xml <project xmlns="http://maven.apac…
参考博客:http://blog.csdn.net/fengspg/article/details/22507737   .1. Maven私服 关于中央仓库注意事项 l  地址: 目前来说: http://repo1.maven.org/maven2/是真正的Maven中央仓库的地址,该地址内置在Maven的源码中其他的都是镜像 l  索引: 中央仓库带有索引文件以方便用户对其进行搜索,完整的索引文件大小约为60M,索引每周更新一次 l  黑名单: 如果某个IP地址恶意的下载中央仓库内容,例如…
一.GC可回收的对象 二:什么是内存泄露--->Java的一个最显著的优势是内存管理.你只需要简单的创建对象而不需要负责释放空间,因为Java的垃圾回收器会负责内存的回收.然而,情况并不是这样简单,内存泄露还是经常会在Java应用程序中出现--->内存泄露的定义:对于应用程序来说,当对象已经不再被使用,但是Java的垃圾回收器不能回收它们的时候,就产生了内存泄露.要理解这个定义,我们需要理解对象在内存中的状态.如下图所示,展示了哪些对象是无用对象,哪些是未被引用的对象:…
背景 最近在学习DDIA(Designing Data-Intensive Applications)这本分布式领域非常急经典的入门书籍,里面第二章<数据模型与查询语言>,强调了对一对多.多对一.多对多等各种不同的数据关系进行建模时要怎样选择合适的数据库模型,并重点阐述了关系型数据库(如PostgreSQL.MySQL).文档性数据库(MongoDB).以及进来大热的图数据库在不同数据关系建模时的使用.这个学习过程中收益匪浅.其中为了加强对相关知识的理解消化,又选择了一些重点的资料进行阅读.…
最近思路有些枯竭,找些务虚的话题来凑.本文内容完全来自于Martin Kelppmann在2019年Kafka伦敦峰会上的演讲.顺便提一句,Kelppmann是<Designing Data-Intensive Applications>的作者.提起DDIA的大名想必各位应该是有所耳闻的. Apache Kafka是数据库吗?你可能会觉得奇怪,Kafka怎么可能是数据库呢?它没有schema,也没有表,更没有索引.它仅仅是生产消息流.消费消息流而已.从这个角度来说Kafka的确不像数据库,至少…
目录 顺序存储与哈希索引 SSTable和LSM tree B-Tree 存储结构的比对 小结 本篇主要讨论的是不同存储结构(主要是LSM-tree和B-tree),它们应对的不同场景,所采用的底层存储结构,以及对应用以提升效率的索引. 所谓数据库,最基础的功能,就是保存数据,并且在需要的时候可以方便地检索到需要的数据.在这个基础上,演化出了不同的数据库系统,以及多种索引机制帮助检索数据.这篇我们就来讨论几种常见的数据存储和索引机制,主要是B-tree,LSM-Tree,以及它们对应的优缺点.…
本文是典型分布式系统分析系列的第四篇,主要介绍 Dynamo,一个在 Amazon 公司内部使用的去中心化的.高可用的分布式 key-value 存储系统. 在典型分布式系统分析系列的第一篇 MapReduce 中提出了本系列主要关心的问题: 系统在性能.可扩展性.可用性.一致性之间的衡量,特别是CAP 系统的水平扩展是如何实现的,是如何分片的 系统的元数据服务器的性能.可用性 系统的副本控制协议,是中心化还是去中心化 对于中心化副本控制协议,中心是如何选举的 系统还用到了哪些协议.理论.算法…