摘要: 前面讲解了平衡查找树中的2-3树以及其实现红黑树。2-3树种,一个节点最多有2个key,而红黑树则使用染色的方式来标识这两个key。 维基百科对B树的定义为“在计算机科学中,B树(B-tree)是一种树状数据结构,它能够存储数据、对其进行排序并允许以O(log n)的时间复杂度运行进行查找、顺序读取 阅读全文
posted @ 2016-11-09 17:35 ThinkDiff 阅读(401) 评论(0) 推荐(0) 编辑
摘要: 为什么文件存储要选用B+树这样的数据结构? “文件存储要选用B+树这样的数据结构”——没记错的话,这是严蔚敏那本数据结构书上的一句结论。不知道是我没细看还是她没细讲,反正当时纯粹应试地记了这么个结论。不求甚解终究不是一个好的学习态度,一直以来我都没有细想过这个事情,直到看到了这篇博文 。 此文信息量 阅读全文
posted @ 2016-11-09 17:12 ThinkDiff 阅读(1022) 评论(0) 推荐(0) 编辑
摘要: 日志文件系统可以在系统发生断电或者其它系统故障时保证整体数据的完整性,Linux是目前支持日志文件系统最多的操作系统之一,本文重点研究了Linux常用的日志文件系统:EXT3、ReiserFS、XFS和JFS日志技术,并采用标准的测试工具PostMark和Bonnie++对它们进行了测试,给出了详细 阅读全文
posted @ 2016-11-09 16:50 ThinkDiff 阅读(3930) 评论(0) 推荐(0) 编辑
摘要: 本文介绍了对 Linux IO 子系统性能进行优化时需要考虑的因素,以及一些 IO 性能检测工具。 本文的大部分内容来自 IBM Redbook - Linux Performance and Tuning Guidelines FileSystem VFS(Virtual FileSystem) 阅读全文
posted @ 2016-11-09 16:09 ThinkDiff 阅读(698) 评论(0) 推荐(0) 编辑
摘要: 在Linux 开发中,有几个关系到性能的东西,技术人员非常关注:进程,CPU,MEM,网络IO,磁盘IO。本篇文件打算详细全面,深入浅出。剖析文件IO的细节。从多个角度探索如何提高IO性能。本文尽量用通俗易懂的视角去阐述。不copy内核代码。 阐述之前,要先有个大视角,让我们站在万米高空,鸟瞰我们的 阅读全文
posted @ 2016-11-09 15:30 ThinkDiff 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 我们含有分析的,是基于2.6.32及其后的内核. 我们在linux上总是要保存数据,数据要么保存在文件系统里(如ext3),要么就保存在裸设备里。我们在使用这些数据的时候都是通过文件这个抽象来访问的,操作系统会把我们需要的数据提交给我们,而我们则无需和块设备打交道。 从下图,我们可以清除的看到: I 阅读全文
posted @ 2016-11-09 15:28 ThinkDiff 阅读(530) 评论(0) 推荐(0) 编辑