分布式系统原理 之5 日志技术

日志技术是分布式系统实现宕机恢复的关键,尤其是Redo Log和Check point技术。Redo Log通过先写日志后更新内存,保证了数据一致性。Check point通过定期数据dump,减少了恢复时的日志回放量,提高效率。0/1目录技术提供批量事务的原子性,简化实现。分布式系统如Zookeeper、MySQL主从库、Mola和Armor都广泛应用了日志技术。
摘要由CSDN通过智能技术生成

分布式系统原理

日志技术

日志技术是宕机恢复的主要技术之一[3]。日志技术最初使用在数据库系统中。严格来说日志技术不是一种分布式系统的技术,但在分布式系统的实践中,却广泛使用了日志技术做宕机恢复,甚至如 BigTable 等系统将日志保存到一个分布式系统中进一步增强了系统容错能力。

本章首先简单介绍数据库系统中的日志技术,进而抽象简化问题模型,在简化模型的基础上介绍两种实用的日志技术 Redo Log 与 No Redo/No undo Log。

1. 数据库系统日志技术简述

在数据库系统中实现宕机恢复,其难点在于数据库操作需要满足 ACID,尤其在支持事务(transaction)的数据库系统中宕机往往发生在某些事务只执行了部分操作的时候。此时宕机恢复的主要目标就是数据库系统恢复到一个稳定可靠状态,消除未完成的事务对数据库状态的影响。

数据库的日志主要分为 Undo Log、Redo Log、Redo/Undo Log 与 No Redo/No Undo Log。这四类日志的区别在更新日志文件和数据文件的时间点要求不同,从而造成性能和效率也不相同。本文不就数据库中的这四类日志技术做深入讨论,相关信息可以参考有关数据库系统方面的资料。

2. Redo Log 与 Check point

2.1 问题模型

首先简化原数据库系统中的问题模型为一个较为简单的模型:假设需要设计一个高速的单机查询系统,将数据全部存放在内存中以实现高速的数据查询,每次更新操作更新一小部分数据(例如key-value 中的某一个 key)。现在问题为利用日志技术实现该内存查询系统的宕机恢复。与数据库的事务不同的是,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值