开发者学堂课程【分布式文件存储系统技术及实现:元数据管理的可扩展性 】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/368/detail/4386
元数据管理的可扩展性
一、 元数据管理的可扩展性
结合三个系统来讲解,第一个是 HDFS NameNode,首先用户会在一个完整的目录处进行纵向切分,这样的切分翻开之后三个目录之间相互独立没有任何关系,但这时候用户的数据会共享存储节点,就是在 HDFS 里面的 Datenode 节点
如图 Datenode 里面存储了不同划分指数的数据
这样纵向划分的方法可以有效的进行水平扩展,但同时也会遇到一些问题,比如说在纵向划分的时候相关目录被切分,这是在做重用名命令的时候会遇见问题,同时这样的切分是一种静态切分会导致某些节点间的资源不平衡。
这种架构也是在盘古系统采用的一种方法,但是在盘古系统里这种方法针对数据迁移做了一整个完善的工具,可以做到在不同指数间不影响用户的前提下进行它的移动过程。
下面看一下在 Server 系统中 MDS 的扩展性,在 MDS 里面基于每个指数它都会进行 Root 的统计,这样可以发现,在用户请求的过程中某些目录可能已经成为热点,基于这些统计进行目录处的切分。
如上图所示,相同颜色的目录树会切分到不同的 mds 上,形成了一个动态切分的过程。
这样做的好处基于 MDS 切分,有效的解决了元数据水平扩展的能力。这种动态分裂的方式看起来很先进但在工业界用的很少,还需一段时间的磨练,使之更加实用。