面向大数据的分布式系统设计关键技术研究
2014-12-09毛文彬
毛文彬
摘 要:随着云计算、物联网等信息技术的飞速发展,异构数据源越来越多,数据信息量在飞速增长,数据的类型也复杂多样,不仅使得信息系统规模日益庞大,也导致海量非结构化数据管理复杂、异构数据存储利用率低下、资源不易扩展等问题。
关键词:大数据;云存储
1 大数据的特点及存储要求
海量非确定性异构数据产生的原因复杂多样,在应用中也具有新的特点:随着各种应用规模及领域的扩大,数据量会呈现爆炸性增长及海量数据存储的趋势和特点;在非确定数据的典型应用中数据源很多,数据种类也繁多,数据资源具有异构性特点;数据还呈现数据块大小、数据类型和数据访问方式等不确定的特点;云计算、物联网等应用的不断丰富,数据产生、应用、访问方式十分复杂,还使得数据具有时效性和空间性,高频度访问和高并发的特点。
非确定数据应用中的海量数据对数据的存储体系结构带来了很大的挑战。首先,海量数据的组织必然采用分布式数据组织与管理策略,这需要实现适合于非确定数据应用的(元)数据和数据组织方式;其次,由于海量数据是通过持续增长积累而成,而积累的过程需要很长的时间,因此需要存储支持可保证规模与性能同时扩展的存储组织模式以及相应的索引机制。
针对海量不确定性数据,使用基于传统的信息存储结构和对象查询方法的实际运行效率呈现下降趋势,因此必须采用新的元数据组织结构和查询方法来提高效率,为用户提供高性能的多并发数据查询服务。
由于在分布式环境中,数据源分布在不同的网络结点,这就存在网络传输性能低的问题。而各个数据源有很强的自治性,它们可以自治地改变自身的结构和更新数据,这就会给数据集成系统的一致性带来了困难。由于数据存在非确定性,针对海量非确定性异构数据的集成工作将变得更为复杂,可以采用分布式并行处理技术实现计算资源和存储资源的全局最优化的管理。
数据的海量性、非确定性以及异构性为传统的数据挖掘算法提出了挑战。由于数据的异构、海量、分布性和决策控制的实时性,需要调整数据挖掘引擎的布局及多引擎的调度策略。结构化或者非结构化数据都涉及数据的存储、管理(索引、并发、一致性、查询等)等,这是因为用户对大数据使用方面的要求(对海量非结构化数据查询仍然要准确和快速),导致对数据逻辑结构和物理存储方式的新要求。
2 面向大数据的分布式系统关键技术
2.1 分布式文件管理技术
在大数据应用过程中,传统的数据存储和管理技术已经无法满足需求,因此,诸多科学工作者对其文件管理技术进行了研究。2010年,冯幼乐等人在文件管理系统中提出了CEPH动态元数据管理技术,该方法可以有效地改进异构元数据服务器和网络延迟较大时存在的问题,提高文件管理系统的使用范围和性能。方君等人详细的分析了国外分布式文件系统的研究和应用现状,开发设计了一个较好的分布式文件系统K-DFS,该系统可以解决大数据中多存储节点访问和同步的问题,实现负载均衡,避免部分数据集中于少量存储服务器中,使用冗余存储技术,保障远程文件的安全性,防止存储节点因宕机导致文件丢失,更好的提高了文件系统的高安全性,并且该系统已经在金融数据分析、电信数据分析和网络电商数据分析中得到了广泛的使用。目前,文件系统已经在实际应用中得到了广泛的发展和进步,尤其是具有海量用户和数据存储访问的互联网企业中,比如Google提出了GFS文件管理系统,该系统集成数据文件地管理、存储和应用,并且构建过程中服务器较为廉价,同时具有极强的可扩展性,数据被存储于不同的服务器中,通过关联链接、分块存储、追加更新等技术保障文件管理系统的正常运行和传输,同时引入了缓冲层、内存加载部分元数据等新理念,提升了文件管理系统存储和读取的效率,促进大数据文件管理步入集群管理阶段,有效的提高了分布式文件管理系统的应用效能。
2.2 分布式数据处理技术
大数据应用系统中,信息处理方式包括两种,分别是批处理方式和流处理方式。批处理方式是指将待处理的逻辑事务执行存储操作之后,再对其实施业务处理操作,因此批处理方式可以使用某种分割方式,将数据分割为不同的数据块,这些数据库逻辑独立,其可以在不同的终端上操作执行,增强了大数据系统中共享服务资源的优势,淡化了数据之间的关联关系,有效的提升了数据的集群性、可调度性,目前,批处理方式应用的难点和关键是数据的分割、分发和实时处理。流处理方式将用户需要的海量数据看做是一个不间断的数据流,数据流可以实时的进入大数据应用系统中,并且能够得到快速的响应和反馈,获得数据处理的结果,该分布式数据处理方式极大的提高了系统的实时性,已经在许多金融数据挖掘、电信数据挖掘过程中得到了广泛的应用。
2.3 分布式数据库技术
传统的数据库技术通常采用关系型数据库管理系统,该数据库在大数据处理过程中存在多样性弱、规模性小、处理过程逻辑关联性强等弱点,提出在大数据应用系统中采用分布式数据库管理技术,实现大数据的易用性和易扩充性,同时增强分布式数据库管理能力。目前,分布式数据库管理技术已经得到了广泛的研究和应用,Bigtable技术在实施操作和管理过程中,将数据访问信息作为字符串进行管理,并且其不直接解释字符串的含义,使得分布式数据具有半结构化或者结构化特征,可以提高数据库存储类型,比如视频数据、图像数据、文本数据等,同样大大地简化了数据库管理系统操作方法。
Dynamo技术在分布式数据库应用过程中,采用分布式哈希表、键值存储和向量时钟等关键技术,实现大数据库管理系统的高效运行和管理,推动了关系型数据库的前进和发展。随着智能技术的发展,分布式数据库引入了模式识别、机器学习、神经网络等算法,有效的促进了数据一致性、业务处理快速化。
3 云存储在大数据存储中的应用
针对数据的飞速发展和数据安全要求的不断提高,如何建立安全、性价比高的存储成为业界的普遍需求。云存储成为首要选择,因为它能够根据所需容量大小对用户进行定制,用户不需要进行硬件的管理维护,缩减了用户成本和人力投入。而且云存储具有易扩容、易管理、价格低、数据安全、服务不中断等优点。
3.1 大规模级别存储系统的构建
大规模的存储需要跨数据中心,跨城市、省、甚至国家进行存储设备、存储数据、存储服务的组织和管理,并支持跨域的访问、备份、容灾等功能。同时大规模的存储要求存储提供不同等级的管理和服务权限,并按照区域、级别分配不同的权限。系统对资源的访问必须经过严格的权限控制。只有用户确认共享的资源才能被其他用户或业务进行访问,即使是被授权的访问也会根据不同的权限控制方式受到访问权限控制。
云存储就是将不同种类的存储设备协调起来进行工作。这些存储设备使用的存储介质也是多种多样的,而且随着技术的发展,设备种类和存储介质种类会越来越多,如何调度这些设备和存储介质协调工作,需要在云存储管理软件上考虑和优化,以保证组织好的资源被高效利用。
3.2 存储设备在线扩展和收缩
在存储设备的使用过程中,会遇到调整存储资源池的需求,要求存储资源池根据业务的需求增加或者减少存储设备。在调整的过程中,业务不能被中断,也不能使上层业务感受存储资源池的变化,同时被裁剪设备的数据要在较短的时间内在其他设备上恢复、备份,并在较短的时间内完成增加存储设备和原有存储你设备的数据均衡。
云存储系统要优化和调整数据组织和管理方法,即使存储规模增加后,性能要随之线性增加。数据变得庞大后,元数据管理要考虑中心化或多节点方式,以降低元数据管理对整个系统读写性能的影响。对于热点数据支持自动的多副本复制,则会在多个存储节点提供读能力,以降低硬盘、网口、处理器对性能能力的限制。采用多级缓存技术,热点数据则会先读入智能加速卡,并由智能加速卡对外提供读服务,在写数据时,也是先写入到智能加速卡,由加速卡组织分发到存储设备上。
4 结语
随着互联网、移动互联网、物联网的发展,“大数据”逐渐成为发展的趋势,数据产生的原因复杂多样,在应用中也具有新的特点。随着各种应用规模的扩大,数据量会呈现爆炸性增长的趋势及海量数据存储的特点。新业务环境和应用场景对海量云存储需求越来越迫切,这需要海量存储平台打破原有的框架,改变组网和管理方式,满足业务需求。
[参考文献]
[1]王珊,王会举,覃雄派,周烜.架构大数据:挑战、现状与展望[J].计算机学报.2011(10).
[2]覃雄派,王会举,杜小勇,王珊.大数据分析——RDBMS与MapReduce的竞争与共生[J].软件学报.2012(01).
[3]姜奇平.大数据与信息社会的意义结构[J].互联网周刊.2012(12).