qkfile的广泛应用

QKFile分布式存储文件的广泛应用

什么事分布式存储文件

分布式数据库是用计算机网络将物理上分散的多个数据库单元连接起来组成的一个逻辑上统一的数据库。每个被连接起来的数据库单元称为站点或节点。分布式数据库有一个统一的数据库管理系统来进行管理,称为分布式数据库管理系统。分布式数据库的基本特点包括:物理分布性、逻辑整体性和站点自治性。从这三个基本特点还可以导出的其它特点有:数据分布透明性、按既定协议达成共识的机制、适当的数据冗余度和事务管理的分布性。

大数据时代,面对日益增长的海量数据,传统的集中式数据库的弊端日益显现,分布式数据库相对传统的集中式数据库有如下优点。

更高的数据访问速度:分布式数据库为了保证数据的高可靠性,往往采用备份的策略实现容错,所以,在读取数据的时候,客户端可以并发地从多个

备份服务器同时读取,从而提高了数据访问速度。

更强的可扩展性:分布式数据库可以通过增添存储节点来实现存储容量的线性扩展,而集中式数据库的可扩展性十分有限。

更高的并发访问量:分布式数据库由于采用多台主机组成存储集群,所以相对集中式数据库,它可以提供更高的用户并发访问量。

对于目前所接触到的主流分布式文件系统来看,根据系统架构的特点大多可做如下划分:

有无中心管理节点

存储节点是否有主从之分

这两种架构都有着自己明显的优势和缺点,对整个分布式文件系统的实现起决定作用,直接影响采用何种一致性协议保持备份间的一致性,以及集群如何管理,数据丢失或损坏该如何恢复、数据清理等等功能的实现,后面会单独对此做阐述和说明

集群管理

集群管理主要解决以下几个问题:

存储节点上下线通知,自动剔除不可用节点等

集群各节点心跳和状态的维护,是否健康,可读可写

维护系统的逻辑模型,如分区、用户等逻辑概念的关系,如swift系统中提到的region,zone,node,patition等逻辑概念及从属关系

那么对与无中心节点的系统,数据恢复的实现只能由各个存储节点负责,如swift,根据ring的信息获取副本的位置,通过数据恢复的进程,维持副本的数量和位置的正确性

也就是哈希算法是最常见的数据分布方式,其方法是按照数据的某一特征计算哈希值,并将哈希值与机器中的磁盘建立映射关系,以swift为代表的一致性哈希算法也属于此类的改良品种,用哈希的方式优点是明显的,不需要记录的元信息,在某种程度上


分享到:


相關文章: