大数据
wangleigiser
这个作者很懒,什么都没留下…
展开
-
phi增量故障检测器设计原理
phi增量故障检测器概念phi增量(φ-accrual)故障检测器不是将节点故障视为二元判断问题(即进程只能处于两种状态:在线或宕机),而是用连续范围来捕获被监视进程崩溃的概率。它的工作方式是维护一个滑动窗口,从对等进程收集最近心跳的到达时间。该信息用于估算下一个心跳的到达时间,将该近似值与实际到达时间进行比较,并计算可疑程度φ:代表在给定当前网络条件下,故障检测器对故障的置信度。phi增量故障检测器原理该算法的原理是:收集和采样到达时间,创建出一个可用于对节点健康状况做出可靠判断的视图,然后使用这些原创 2022-10-23 15:39:55 · 258 阅读 · 0 评论 -
一致性语义说明:严格一次,至少一次,最多一次
严格一次关于是否可以做到严格一次传递(exactly-once delivery)指的消息只严格传递一次到接收方并能成功被接收方处理。至少一次由于链路故障可能导致传递消息的第一次尝试无法成功,因此大多数实际的系统都采用至少一次传递(at-least-once delivery),它确保了发送方将重试直到收到确认为止,否则就认为对方没有收到该消息。最多一次最多一次(at-most-once):发送方仅仅发送消息而不期待得到任何确认。什么是共识?为了确保严格一次传递,各节点需要一个共识:每个节点都原创 2022-10-19 08:12:48 · 594 阅读 · 0 评论 -
分布式系统常见故意及解决思路
什么是级联故障?我们做不到总是完全隔离故障:被高负载压垮的进程会增加集群其余部分的负载,从而使其他节点更有可能发生故障。级联故障能够从系统的一部分传播到另一部分,扩大了问题的范围。有时,级联故障甚至可能来源于完全善意的目的。例如,某个节点离线了一段时间,因而没有接收到最近的更新。当它恢复在线时,乐于助人的其他节点希望帮助它追赶上最近的变化,于是开始向它发送缺失的数据,而这又导致网络资源耗尽,或是导致该节点启动后短时间内再次发生故障。通过熔断器防止故障扩散为了防止系统的故障扩散并妥善处理故障场景,我们原创 2022-10-18 23:32:49 · 223 阅读 · 1 评论 -
常用故障模拟工具
1:Toxiproxy用于模拟网络问题:限制带宽、引入延迟、超时等。2:Chaos Monkey的方法更为激进,它通过随机关闭服务使工程师直面生产环境故障风险3:CharybdeFS模拟文件系统及硬件错误与故障。4:CrashMonkey是一个与文件系统无关的记录–重放–测试框架,用于测试持久性文件的数据及元数据一致性。可以用这些工具来测试软件,以确保在这些故障出现时软件仍能正确工作。原创 2022-10-18 23:05:39 · 529 阅读 · 0 评论 -
队列在分布式系统&多进程&多线程中的作用
任务解耦使接收和处理在时间上分开,并各自独立发生。流水线化(pipline)编程不同阶段的请求由系统中独立的部分处理。负责接收消息的子系统不用阻塞到上一条消息处理完成。流量削峰填谷(流量优化)系统负载可能经常变化,但是请求到达的间隔时间对负责处理请求的组件是隐藏的。总体的系统延迟会由于排队而增加,但这通常仍比响应失败并重试请求更好。队列大小取决于工作负载和应用程序。对于相对稳定的工作负载,我们可以通过测量任务处理时间以及各任务的平均排队时间来确定队列大小,从而确保在提升吞吐量的同时,延迟仍保持在原创 2022-10-18 22:43:59 · 84 阅读 · 0 评论 -
数据库的写缓冲、不可变性和有序性
写缓冲增加内存缓冲区总是对写放大有积极的影响。在像WiredTiger和LA树这样使用原地更新的数据结构中,内存缓冲区有助于通过合并多个相同页的写入来均摊它们的开销。换句话说,缓冲有助于减少写放大。不可变数据结构在不可变数据结构中(如多组件LSM树和FD树),缓冲具有类似的积极作用,但是以未来发生的重写为代价,这些重写发生在将数据从一个不可变的层移动到另一个不可变层时。换句话说,使用不可变性可能会将写放大延迟。同时,使用不可变性对并发性和空间放大有积极的影响,因为所讨论的大多数不可变结构使用的页是全满原创 2022-10-18 00:05:25 · 161 阅读 · 0 评论 -
LSM树中的并发技术解密
LSM树并发的难点LSM树中的并发挑战主要与切换表视图(在刷写和压缩过程中更改的内存驻留表和磁盘驻留表的集合)和日志同步有关。memtable通常也是并发访问的。LSM树并发需要遵守的原则1.新的memtable必须对读写可用。2. 旧的(正在刷写的)memtable必须对读保持可见。3. 正在刷写的memtable必须写到磁盘上。4. 丢弃已经刷写的memtable与创建刷写磁盘驻留表这两个操作必须被原子地执行。5. 预写日志中,记录之前曾应用于被刷写memtable的操作的日志段必须被原创 2022-10-15 23:16:15 · 356 阅读 · 0 评论 -
布隆过滤器原理和使用
LSM读放大问题背景LSM树中读放大的来源是,我们必须寻址多个磁盘驻留表,以便完成读取操作。这是因为我们不一定能预先知道一个磁盘驻留表是否包含要搜索的键指向的数据记录。LSM使用bloomfilter减少数据扫描防止表查询的方法之一是在元数据中存储其键的范围(存储给定表中的最小和最大键),并检查要搜索的键是否在该表的范围之内。这一信息是不精确的,它只能告诉我们数据记录是否可能会出现在表中。为了改进这种情况,包括Apache Cassandra和RocksDB在内的许多实现都使用一种称为布隆过滤器(Bl原创 2022-10-15 17:16:28 · 555 阅读 · 1 评论 -
数据库中的读写放大与空间放大
在实现最优compaction策略时,我们必须考虑多个因素。一种方法是回收重复记录占用的空间,减少空间开销,但这会产生由不断重写表导致的更高的写放大。替代方案是避免连续重写数据,而这又增加了读放大(在读取期间协调关联到相同键的数据记录的开销)和空间放大(因为冗余记录会被保存更长时间)。读放大:由为了检索数据而需要读取多个表所引起。写放大: 由compaction过程中不断进行的重写所引起。空间放大由: 存储关联到同一键的多个记录所引起。原创 2022-10-15 00:04:11 · 1590 阅读 · 0 评论 -
LSM之memtable
刷写memtable可以被周期性地触发,也可以通过大小阈值来触发。在其可被刷写之前,必须进行memtable切换:分配一个新的memtable,它成为所有新的写入操作的目标,而旧的memtable则变成刷写状态。这两个步骤必须被原子地执行。在其内容被完全刷写之前,被刷写的memtable仍可用于读取。在此之后,旧的memtable将被丢弃,取而代之的是一个新写入的磁盘驻留表,该表可用于读取。LSM树的组件、它们之间的关系,以及实现它们之间转换的操作。当前的memtable:接收写请求并服务读请求。正在原创 2022-10-14 23:27:24 · 208 阅读 · 0 评论 -
LSM树的结构
LSM树由较小的内存驻留组件和较大的磁盘驻留组件组成。要在磁盘上写出不可变的文件内容,首先需要在内存中对其进行缓冲和排序。内存驻留组件(通常称为memtable)是可变的:它缓冲数据记录,并充当读写操作的目标。当其大小达到一个可配阈值时,memtable中的内容将会被持久化到磁盘上。memtable的更新不需要磁盘访问,也没有相关的I/O开销。需要一个单独的预写日志文件以保证数据记录的持久性。在向客户端确认操作之前,数据记录会被追加到日志中并提交到内存。缓冲是在内存中完成的:所有读写操作都应用于一个内存原创 2022-10-14 23:11:04 · 275 阅读 · 0 评论 -
Doris Stream Load导入CSV文件
Doris Stream Load导入CSV文件原创 2022-07-13 12:58:03 · 2006 阅读 · 0 评论 -
Spark提交任务到Yarn并查看任务日志
spark提交任务到yarn查看yarn任务原创 2022-07-01 11:24:39 · 855 阅读 · 0 评论 -
大数据时代的 10 个重大变化
大数据时代的 10 个重大变化:从数据资源到数据资产;从基于知识到基于数据;从统计学到数据科学;从复杂算法到简单算法;从业务数据化到数据业务化;从目标驱动型到数据驱动型;从以战略为中心到以数据为中心;从不接受到接受数据的复杂性;从小众参与到大众协同...转载 2022-06-27 13:01:14 · 1270 阅读 · 0 评论 -
Doris整合Iceberg+Spark联邦查询实战
Doris整合Iceberg+Spark联邦查询实战原创 2022-06-23 14:53:06 · 1124 阅读 · 0 评论 -
thrift centos安装
thrift centos 安装原创 2022-05-07 18:30:03 · 694 阅读 · 0 评论 -
Spark3.0新特性-AQE
想要更全面了解Spark内核和应用实战,可以购买我的新书。《图解Spark 大数据快速分析实战》(王磊)【摘要 书评 试读】- 京东图书https://item.jd.com/13613302.htmlAQE1.AQE的概念Spark SQL是Spark开发中使用最广泛的引擎,它使得我们通过简单的几条SQL语句就能完成海量数据(TB或PB级数据)的分析。AQE(Adaptive Query Execution,自适应查询执行)的作用是对正在执行的查询任务进行优化。AQE使Spark计划.原创 2022-03-15 23:27:13 · 3826 阅读 · 0 评论