分布式日志存储系统 LogDevice
- 授权协议: BSD
- 开发语言: C/C++
- 操作系统: 跨平台
- 软件首页: https://logdevice.io/
- 软件文档: https://logdevice.io/docs/Overview.html
- 官方下载: https://github.com/facebookincubator/LogDevice
软件介绍
LogDevice 是 Facebook 开源的一个可扩展,具备容错性的分布式日志系统。
LogDevice 是专为日志设计的分布式数据存储系统。一般的文件系统会将数据储存为文件,LogDevice 会将数据存储为日志,这些日志可被视为记录式的,追加式的和可修剪的文件。
记录式的(record-oriented)意味着数据作为不可分割的记录写入日志,而不是单个字节。日志实质上是问题的最小单元,用户也一定是读取整行日志。日志的存储原则是按照日志序列号(LSN)来存放,且编号不保证是连续的,可能存在间隙。作者不会事先知道成功写入后将为其日志分配什么 LSN ,这样日志系统就可以优先高写入需求,对写入失败容错。
日志是追加式的(append-only),不支持修改现有记录。
日志在被删除之前预计会存在相对较长一段时间:几天、几月甚至几年。日志的主要空间回收机制是修剪(trimming),根据基于时间或基于空间的保留策略,删除最旧的记录,或响应修剪日志的请求。
LogDevice 从头开始设计,可提供大规模、高可靠性和高效率的多种日志类型。它还具备高度可调性,允许对每个用例进行优化,以便在从耐久性到效率性,一致性到可用性中进行恰当的权衡取舍。
LogDevice 支持的一些 workload 示例:
预写式日志
在分布式数据库中记录日志
事件日志
流处理
ML 训练流程
复制状态机
延期工作项目进度
C程序设计的抽象思维
Eric S.Roberts / 闪四清 / 机械工业出版社 / 2012-5 / 99.00元
Eric S. Roberts所著的《C程序设计的抽象思维》是一本关于C语言的经典图书。本书共计17章,分为4部分,第一部分概述计算机导论课程中涉及的基本编程概念;第二部分讨论递归算法,其中结合大量示例,有助于读者轻松理解和掌握晦涩的概念;第三部分不仅介绍了用非递归算法实现的抽象数据类型,还提供了一些工具,有助于读者理解数据抽象的概念;第四部分重点介绍采用递归算法实现的抽象数据类型。本书重点突出,......一起来看看 《C程序设计的抽象思维》 这本书的介绍吧!
