文件系统技术内幕:大数据时代海量数据存储之道

文件系统技术内幕:大数据时代海量数据存储之道

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

文件系统是大数据、AI、自动驾驶及物联网数据存储的基石,文件系统与数据存储紧密相关,在大数据时代,要掌握AI、云计算、自动驾驶、物联网等前沿知识,至少要了解文件系统背后的原理。本书是相关前沿领域的从业人员、专业程序员、架构师值得学习和收藏的文件系统宝典。

内容简介

本书通过理论与实践相结合的方式,深入浅出地介绍了文件系统的概念、原理和具体实现。本书涵盖本地文件系统、网络文件系统、分布式文件系统和对象存储等内容,可以说涵盖了数据持久化文件系统的主要领域。为了使读者更加深入地理解文件系统的原理,本书不仅介绍了文件系统的原理和关键技术,还结合开源项目介绍了文件系统的实现细节。最后,本书介绍了在互联网领域广泛使用的对象存储、承载海量访问请求的原理及可存储海量数据的架构。希望读者通过阅读本书对文件系统有全面、深入的认识。

本书既可以作为文件系统及其他存储系统开发人员的指导用书,也可以作为软件架构师、程序员和 Linux 运维人员的参考用书。


作者简介

张书宁,戴尔科技(Dell Technologies)首席软件开发工程师,负责公司核心存储产品Unity和PowerStore的研发工作。

先后就职于华为、甲骨文(Oracle)、戴尔科技等世界五百强公司,曾负责分布式存储产品FusionStorage及中端企业级存储产品Unity和PowerStore等的系统设计和开发工作,深耕存储领域十几载。

章节目录

版权信息

内容简介

推荐序

前言

第1章 从文件系统是什么说起

1.1 什么是文件系统

1.1.1 普通用户角度的文件系统

1.1.2 操作系统层面的文件系统

1.1.3 文件系统的基本原理

1.2 常见文件系统及分类

1.2.1 本地文件系统

1.2.2 伪文件系统

1.2.3 网络文件系统

1.2.4 集群文件系统

1.2.5 分布式文件系统

第2章 知其然——如何使用文件系统

2.1 巧妇之炊——准备开发环境

2.2 文件内容的访问——读/写文件

2.2.1 文件系统的API

2.2.2 文件访问的一般流程

2.2.3 文件内容的读/写实例

2.2.4 关于API函数的进一步解释

2.3 如何遍历目录中的文件

2.4 格式化文件系统与挂载

2.5 文件系统与权限管理

2.5.1 Linux权限管理简介

2.5.2 设置文件的RWX权限

2.5.3 设置文件的ACL权限

2.6 文件系统的锁机制

2.6.1 文件锁的分类与模式

2.6.2 Linux文件锁的使用

2.7 文件系统的扩展属性

2.8 文件的零拷贝

2.8.1 零拷贝的基本原理

2.8.2 零拷贝的系统API

第3章 知其所以然——本地文件系统原理及核心技术

3.1 Linux文件系统整体架构简介

3.1.1 从VFS到具体文件系统

3.1.2 关键处理流程举例

3.2 本地文件系统的关键技术与特性

3.2.1 磁盘空间布局(Layout)

3.2.2 文件的数据管理

3.2.3 缓存技术

3.2.4 快照与克隆技术

3.2.5 日志技术

3.2.6 权限管理

3.2.7 配额管理

3.2.8 文件锁的原理

3.2.9 扩展属性与ADS

3.2.10 其他技术简介

3.3 常见本地文件系统简介

3.3.1 ExtX文件系统

3.3.2 XFS文件系统

3.3.3 ZFS文件系统

3.3.4 Btrfs文件系统

3.3.5 FAT文件系统

3.3.6 NTFS文件系统

第4章 从理论到实战——Ext2文件系统代码详解

4.1 本地文件系统的分析方法与工具

4.1.1 基于文件构建文件系统

4.1.2 了解函数调用流程的利器

4.2 从Ext2文件系统磁盘布局说起

4.2.1 Ext2文件系统整体布局概述

4.2.2 超级块(SuperBlock)

4.2.3 块组描述符(Block Group Descriptor)

4.2.4 块位图(Block Bitmap)

4.2.5 inode位图(inode Bitmap)

4.2.6 inode与inode表

4.3 Ext2文件系统的根目录与目录数据布局

4.4 Ext2文件系统的挂载

4.5 如何创建一个文件

4.5.1 创建普通文件

4.5.2 创建软硬链接

4.5.3 创建目录

4.6 Ext2文件系统删除文件的流程

4.7 Ext2文件系统中文件的数据管理与写数据流程

4.7.1 Ext2文件系统中的文件数据是如何管理的

4.7.2 从VFS到Ext2文件系统的写流程

4.7.3 不同写模式的流程分析

4.7.4 缓存数据刷写及流程

4.8 读数据的流程分析

4.8.1 缓存命中场景

4.8.2 非缓存命中场景

4.8.3 数据预读逻辑

4.9 如何分配磁盘空间

4.9.1 计算存储路径

4.9.2 获取存储路径

4.9.3 分配磁盘空间

4.10 Ext2文件系统的扩展属性

4.10.1 Ext2文件系统扩展属性是怎么在磁盘存储的

4.10.2 设置扩展属性的VFS流程

4.10.3 Ext2文件系统扩展属性接口实现

4.11 权限管理代码解析

4.11.1 ACL的设置与获取

4.11.2 ACL权限检查

4.12 文件锁代码解析

4.12.1 flock()函数的内核实现

4.12.2 fcntl()函数的内核实现

第5章 基于网络共享的网络文件系统

5.1 什么是网络文件系统

5.2 网络文件系统与本地文件系统的异同

5.3 常见的网络文件系统简析

5.3.1 NFS文件系统

5.3.2 SMB协议与CIFS协议

5.4 网络文件系统关键技术

5.4.1 远程过程调用(RPC协议)

5.4.2 客户端与服务端的语言——文件系统协议

5.4.3 文件锁的网络实现

5.5 准备学习环境与工具

5.5.1 搭建一个NFS服务

5.5.2 学习网络文件系统的利器

5.6 网络文件系统实例

5.6.1 NFS文件系统架构及流程简析

5.6.2 RPC协议简析

5.6.3 NFS协议简析

5.6.4 NFS协议的具体实现

5.7 NFS服务端及实例解析

5.7.1 NFSD

5.7.2 NFS-Ganesha

第6章 提供横向扩展的分布式文件系统

6.1 什么是分布式文件系统

6.2 分布式文件系统与网络文件系统的异同

6.3 常见分布式文件系统

6.3.1 GFS

6.3.2 CephFS

6.3.3 GlusterFS

6.4 分布式文件系统的横向扩展架构

6.4.1 中心架构

6.4.2 对等架构

6.5 分布式文件系统的关键技术

6.5.1 分布式数据布局

6.5.2 分布式数据可靠性(Reliability)

6.5.3 分布式数据一致性(Consistency)

6.5.4 设备故障与容错(Fault Tolerance)

6.6 分布式文件系统实例之CephFS

6.6.1 搭建一个CephFS分布式文件系统

6.6.2 CephFS分布式文件系统架构简析

6.6.3 CephFS客户端架构

6.6.4 CephFS集群端架构

6.6.5 CephFS数据组织简析

6.6.6 CephFS文件创建流程解析

6.6.7 CephFS写数据流程解析

6.7 分布式系统实例之GlusterFS

6.7.1 GlusterFS的安装与使用

6.7.2 GlusterFS整体架构简析

6.7.3 转换器与转换器树

6.7.4 GlusterFS数据分布与可靠性

6.7.5 GlusterFS客户端架构与I/O流程

6.7.6 GlusterFS服务端架构与I/O流程

第7章 百花争艳——文件系统的其他形态

7.1 用户态文件系统框架

7.1.1 Linux中的用户态文件系统框架Fuse

7.1.2 Windows中的用户态文件系统框架Dokany

7.2 对象存储与常见实现简析

7.2.1 从文件系统到对象存储

7.2.2 S3对象存储简析

7.2.3 Haystack对象存储简析

参考文献

文件系统技术内幕:大数据时代海量数据存储之道是2022年由电子工业出版社出版,作者张书宁。

得书感谢您对《文件系统技术内幕:大数据时代海量数据存储之道》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
大数据原理与技术 电子书
本书则是华为公司针对华为ICT学院大数据方向的在读学生,专门组织合作伙伴和华为公司内部员工开发的标准化教材,这套教材的目的在于循序渐进地帮助华为ICT学院大数据方向的学生掌握大数据技术的基本原理与应用场景,能够在面对真实的业务场景时,独立完成大数据平台的搭建、维护及故障的处理。
数据共享与数据整合技术 电子书
本教材一共6个项目,项目1为SOA基础知识导入,主要介绍了SOA的基本概念、发展历程,与企业IT战略之间的关系;项目2介绍了Web服务的相关基础知识,包括Web服务的体系结构特性、服务规范、SOAP、WSDL、UDDI等;项目3介绍了ESB的相关知识,明确了ESB与EAI之间的关系,介绍了SOA思想针对实际问题的具体实现思路,重点讲解了iESB引擎和iESB设计器的安装配置方法;项目4至项目6比较
数据库安全技术 电子书
本书共8章,重点介绍与数据库安全相关的理论和技术,主要内容包括数据库安全基础、数据库安全层次、SQL和Web应用基础、SQL注入与防范、数据库访问控制、数据库备份与恢复、数据加密与审核、大数据与安全。本书适合作为高等院校信息安全、信息管理、大数据等相关专业的教材,也可作为对数据库安全感兴趣的读者的自学教材。
数据浪潮:大数据技术演进之路 电子书
本书结合大数据和数据库系统,从技术历史的角度介绍了数据管理系统的发展。
机器学习与大数据技术 电子书
本书较为全面地论述了机器学习、深度学习、大数据技术与图像处理技术的基本概念、基础原理和基本方法,以农业为应用场景,力求通缩易懂,深入浅出的介绍了与机器学习、深度学习、大数据技术与图像处理技术问题联系密切的内容。全书主要分为4大部分:机器学习、大数据技术和图像处理技术的基础知识;经典的机器学习基本理论和方法,以及深度学习和大数据未来的发展;实践应用;机器学习和人工智能的数学基础与编程基础。