2020年1月28日

DDIA学习笔记8——chapter11:流处理

摘要: DDIA_Chapter11 学习笔记 之前,我们讨论了批处理技术,它读取一组文件作为输入,并生成一组新的文件作为输出。输出是衍生数据(derived data)的一种形式;也就是说,如果需要,可以通过再次运行批处理过程来重新创建数据集。我们看到了如何使用这个简单而强大的想法来建立搜索索引,推荐系统 阅读全文

posted @ 2020-01-28 00:35 ybonfire 阅读(198) 评论(0) 推荐(0)

2020年1月27日

DDIA学习笔记7——chapter10:批处理

摘要: DDIA_Chapter10 学习笔记 不同类型的系统: 服务: 基于Request和Response的系统。系统接收用户发送的Request,系统对其进行处理后返回一个Response。 批处理系统: 一个批处理系统有大量的输入数据,跑一个Job来处理它,并生成一些输出数据,这往往需要一段时间(从 阅读全文

posted @ 2020-01-27 22:50 ybonfire 阅读(189) 评论(0) 推荐(0)

DDIA学习笔记6——chapter9:一致性与共识

摘要: DDIA_Chapter9 学习笔记 分布式系统最重要的抽象之一就是共识(consensus):就是让所有的节点对某件事达成一致。 一致性保证: 具有较强一致性的系统可能会比一致性较差的系统具有更差的性能或更少的容错性,需要根据业务进行取舍。 线性一致性(Linearizability):一旦新的值 阅读全文

posted @ 2020-01-27 20:38 ybonfire 阅读(277) 评论(0) 推荐(0)

2020年1月21日

DDIA学习笔记5——chapter8:分布式系统的麻烦

摘要: DDIA_Chapter8 学习笔记 故障与部分失效: 当我们在单机上编写程序时,我们所编写的程序只有两种确定的状态——功能完好or完全失效。 而当我们在分布式系统上编写程序时(例如微服务系统),我们所编写的程序会存在不确定的状态。例如,当服务A调用服务B时,没有响应,可能存在的结果包括:1、服务B 阅读全文

posted @ 2020-01-21 17:08 ybonfire 阅读(178) 评论(0) 推荐(0)

DDIA学习笔记4——chapter7:事务(Transaction)

摘要: DDIA_Chapter7 学习笔记 ACID:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability) 原子性(Atomicity): 一般来说,原子是指不能分解成小部分的东西。在多线程编程中,如果一个线程执行一个原子操作,这意味 阅读全文

posted @ 2020-01-21 16:25 ybonfire 阅读(215) 评论(0) 推荐(0)

2020年1月20日

DDIA学习笔记3——chapter6:分区(Sharding/Partition)

摘要: DDIA_Chapter6 学习笔记 ​ Partition主要是为了可扩展性,不同的Partition可以放在不共享集群中的不同节点上。因此,大数据集可以分布在多个磁盘上,并且查询负载可以分布在多个处理器上。 ​ 实际上,每个Partition都是自己的小型数据库,尽管数据库可能支持同时进行多个分 阅读全文

posted @ 2020-01-20 17:37 ybonfire 阅读(291) 评论(0) 推荐(0)

2020年1月16日

DDIA学习笔记2——chapter5:复制(Replication)

摘要: DDIA_Chapter5 学习笔记 Replication: 多个结点存储相同数据的副本: 1.减少延迟——数据和用户再地理位置上相近(CDN?) 2.容错——结点出现异常,其他结点可以继续提供服务 3.扩展性——多结点可以处理更多读请求,提高系统吞吐量 Leader&Follower: Mast 阅读全文

posted @ 2020-01-16 14:35 ybonfire 阅读(402) 评论(0) 推荐(0)

2020年1月9日

DDIA学习笔记1——chapter3:存储与检索

摘要: DDIA_Chapter3 学习笔记 索引:如果不建立索引,那么我们从Database中查询数据的时候,就没有查询规则,那样我们查询某条数据时只能遍历全部数据,时间复杂度为O(N),随着数据量的增大,查询性能会快速降低。所以创建索引可以提高查询效率,但是由于写入时需要同步维护索引结构,因此会降低写入 阅读全文

posted @ 2020-01-09 18:49 ybonfire 阅读(297) 评论(0) 推荐(0)

2019年11月11日

Kafka学习笔记3——Consumer

摘要: 《Kafka 设计解析(四):Kafka Consumer 解析》学习笔记 High Level Consumer——Kafka High Level Consumer 提供了一个从 Kafka 消费数据的高层抽象,从而屏蔽掉其中的细节并提供丰富的语义: Kafka 保证同一 Consumer Gr 阅读全文

posted @ 2019-11-11 09:17 ybonfire 阅读(150) 评论(0) 推荐(0)

2019年11月9日

Kafka学习笔记2——Kafka中的HA

摘要: 《Kafka 设计解析(二):Kafka High Availability (上)》 和《Kafka 设计解析(三):Kafka High Availability (下)》学习笔记 保证Topic中的单个Partition高可用(Partition Replication): 数据传播: Pro 阅读全文

posted @ 2019-11-09 08:58 ybonfire 阅读(189) 评论(0) 推荐(0)

导航