大数据时代档案管理系统分布式文件存储的几点思考

2021-04-28 08:14耿正臣
山东档案 2021年1期
关键词:分片分布式客户端

文·耿正臣

随着信息技术以及信息产业的高速发展,以数字化、网络化、智能化、智慧化为特征的信息化浪潮蓬勃兴起。现如今,信息化在社会各个领域中得到了广泛深入应用,已成为创新驱动发展的先导力量。信息技术的发展和应用,也让档案信息资源的生成环境、生成方式、传播媒介等产生了革命性变化,数字档案资源日渐成为档案信息资源的主要形态,建立一个侧重于数字档案资源管理与服务的档案数字资源中心也势在必行。它可以围绕着数字档案生成、归档、管理、存储、安全、传播与利用等方面的特点,利用云计算、大数据、移动互联网、可视化、物联网、人工智能等新技术,解决数字档案的收集归档、长期存储、信息安全、有序管理与高效利用等问题。其中,文件存储是档案管理系统中的重要组成部分,由于计算机操作系统自带的文件系统在容量大小、容量增长速度、数据备份、数据安全等方面的表现都差强人意,所以如何长久、安全地保存电子文件、多媒体文件等就成为一个必须研究的问题。笔者认为,档案信息资源中心文件存储应采用当下主流、业界认可的文件存储架构,即分布式文件存储架构,以提高文件管理的安全性,支持大文件及海量文件的有效管理,并实现文件的高效传输。

一、分布式文件存储

分布式文件存储,就是借助分布式文件存储系统把大量数据分散到不同的节点上存储,从而减小数据丢失的风险。分布式文件系统具有冗余性,部分节点的故障并不影响整体的正常运行,而且即使出现故障的计算机存储的数据已经损坏,也可以由其它节点将损坏的数据恢复出来。因此,安全性是分布式文件系统最主要的特征。分布式文件系统通过网络将大量零散的计算机连接在一起,形成一个巨大的计算机集群,使各主机均可以充分发挥其作用。此外,集群之外的计算机只需要经过简单的配置就可以加入到分布式文件系统中,具有极强的可扩展能力。

(一)分布式文件存储技术

主流的分布式文件系统架构,包括主控服务器(或称元数据服务器、名字服务器等,通常会配置备用主控服务器以便在故障时接管服务,也可以两个都为主的模式)、多个数据服务器(或称存储服务器,存储节点等)以及多个客户端(客户端可以是各种应用服务器,也可以是终端用户)。

分布式文件系统的数据存储解决方案,归根结底是将大问题划分为小问题。大量的文件,均匀分布到多个数据服务器上后,每个数据服务器存储的文件数量就少了。另外,通过使用大文件存储多个小文件的方式,总能把单个数据服务器上存储的文件数降到单机能解决的规模;对于很大的文件,将大文件划分成多个相对较小的片段,存储在多个数据服务器上,如图1分布式数据分块结构图所示。

图1 分布式数据分块结构图

应用分布式文件存储系统的优点是:一提高数据安全性。分布式文件存储系统中每个文件都被分割为不同大小的数据块,每个数据块都有多个数据副本保存在不同的存储空间中,并使用了纠删码的方式来节省副本存储空间,在文件损坏时可快速对数据进行恢复;二支持单个文件的大容量存储,也支持海量的数据文件存储;三提高数据吞吐量。分布式文件系统采用“一次性写,多次读”的简单的数据一致性模型,该简单模型大大地提高了吞吐量;四可以单次大量文件提取。通过流式数据访问技术,对数据进行批量处理,支持应用对系统的单次大量数据访问;五可以进行文件权限控制。通过分布式文件系统的权限控制,进而增加文件使用的安全保障。理论上,分布式文件系统可以只有客户端和多个数据服务器组成,客户端根据文件名决定将文件存储到哪个数据服务器。但其弊端是,一旦有数据服务器失效,因客户端并不知道数据服务器宕机的消息,仍然连接它进行数据存取,会导致整个系统的可靠性极大降低,而且完全由客户端决定数据分配也非常不灵活,因为它不能根据文件特性制定不同的分布策略。

二、数据库架构

众所周知,应用系统执行效率的瓶颈一般都在数据库方面。因为单机运行的数据库对磁盘读写压力大,数据的查询检索在单机的计算压力也非常大,在数据安全性方面也存在着不足。档案信息资源中心建设中,不仅涉及了多数据库的使用需求,还对数据库的容量与安全有着较大的需求。因此需要采用分布式数据库架构来解决大数据存储、快速数据读写、高数据安全性等问题。

(一)分布式数据库

分布式数据库系统通常使用较小的计算机系统,每台计算机可单独放在一个地方,每台计算机中都可能有DBMS 的一份完整拷贝副本,或者部分拷贝副本,并具有自己局部的数据库。位于不同地点的许多计算机通过网络互相连接,共同组成一个完整的、全局的逻辑上集中、物理上分布的大型数据库。分布式数据库可分为四层,即全局外层、全局概念层、局部概念层、局部内容。数据库可看作为逻辑上的全局数据库和局部的物理数据的集合。全局数据库到局部数据库由分配合分片的模式进行描述。

(二)分布式数据库架构技术

水平分片是解决数据库存储容量限制的直接途径,以逻辑表中的数据行记录为单位,把原有逻辑数据库切分成多个物理数据库分片,表数据记录分布存储在各个分片上,如图2水平分片实现原理所示。分布式数据库系统中则实现了自动水平分片,应用无需关心某个数据该存储在哪一块分片上。

图2 水平分片实现原理

分片架构的特点是底层数据通过一定的规则,比如hash 或者range ,让数据打散分别分布到不同的数据节点上,计算时底层多个节点共同参与计算,可以算是一种 mpp 并行计算的架构,同时数据节点可以扩展,上层由协调节点进行 sql 解析和转发,这是目前典型的分布式数据库架构。分布式数据库三大组件,协调节点、数据节点、全局事务管理器。协调节点负责 SQL 解析转发,充当的是类似 proxy 的角色,数据节点负责计算和数据存储,全局事务管理器负责全局事务一致性的保证。

应用分布式文件存储系统的优势是:一提高档案数据的可靠性和可用性。当数据和分布式数据库软件分布在多个节点上时,一个节点可能会失败而其他站点继续运行,因此可以提高可靠性和可用性;二数据容量更易扩展,在分布式环境中,可是实现动态数据库扩容;三更快的数据读写能力,分布式数据库的读写分离功能能有效地加快数据读写速度,并对数据读写进行控制。

猜你喜欢
分片分布式客户端
你的手机安装了多少个客户端
上下分片與詞的時空佈局
“人民网+客户端”推出数据新闻
——稳就业、惠民生,“数”读十年成绩单
新一代分布式母线保护装置
基于MongoDB 分片集群的海量数据存储设计
多四旋翼无人机系统分布式分层编队合围控制
物联网区块链中基于演化博弈的分片算法
居民分布式储能系统对电网削峰填谷效果分析
基于Paxos的分布式一致性算法的实现与优化
虚拟专用网络访问保护机制研究