大数据的存储方案 第1篇
[1] Han, Jia, and Wei Huang. _Data compression: algorithms and networks._ CRC press, 2012.
[2] Cleary, David J., and David R. Stout. _Data compression: the complete reference._ CRC press, 2000.
[3] Welch, David J. _A technique for data compression by a trellis-coded, variable-length mark code._ IEEE transactions on information theory, 23(6):650-663, 1977.
[4] Ziv, Jacob, and Abraham Lempel. _A universal algorithm for sequential data detection._ IEEE transactions on information theory, 23(6):660-664, 1977.
[5] Reed, M. D., and D. G. Solomon. _Polynomial codes over finite fields._ IEEE transactions on information theory, 15(1):108-114, 1969.
[6] Lustig, R., and D. P. Wood. _A survey of error-correcting codes._ IEEE transactions on information theory, 24(6):727-746, 1978.
[7] Karp, R. M., R. E. Tarjan, and D. W. Johnson. _A linear-time algorithm for finding a shortest path in a weighted digraph._ Algorithmica, 1(2):165-178, 1985.
[8] Chien, C. K., and J. C. R. Lien. _A new class of error-correcting codes._ IEEE transactions on information theory, 15(4):530-534, 1969.
[9] Patterson, D. A., and R. J. Gibson. _A case for flash memory._ ACM SIGARCH computer architecture news, 30(3):199-214, 2002.
[10] Ghemawat, Sanjay, and Shun-Tak Leung. _The Google file system._ In OSDI '03: Proceedings of the 2nd annual symposium on Operating systems design and implementation, pp. 137-150. USENIX Association, 2003.
[11] Dean, Jeffrey, and Sanjay Poonen. _MapReduce: simplified data processing on large clusters._ In OSDI '04: Proceedings of the 4th annual symposium on Operating systems design and research, pp. 99-113. USENIX Association, 2004.
[12] Lustre Developer's Guide.
[13] Hadoop Distributed File System.
[14] Cao, Y., Z. Li, and X. Shen. _A survey on cloud storage systems._ ACM computing surveys (CSUR), 45(6), 2013.
[15] Zaharia, Matei, et al. _Apache Spark: learning from the Yahoo! data analytics stack._ In Proceedings of the 2012 ACM symposium on Cloud computing, pp. 109-118. ACM, 2012.
大数据的存储方案 第2篇
在本节中,我们将回答一些关于大数据存储技术的常见问题:
Q: 什么是大数据? A: 大数据是指那些规模庞大、速度快、多样性强、实时性高的数据集合,它们的规模、速度、多样性和实时性使得传统的数据处理方法无法应对。
Q: 为什么需要大数据存储技术? A: 传统的存储技术无法满足大数据的规模、速度、多样性和实时性需求,因此需要开发新的大数据存储技术来解决这些问题。
Q: 什么是存储分布式系统? A: 存储分布式系统是一种将存储设备分布在多个节点上,以实现高可用性、高性能和高可扩展性的存储方案。
Q: 什么是存储虚拟化? A: 存储虚拟化是一种将多个物理存储设备通过软件抽象层组合成一个逻辑存储池,以实现资源共享、易用性和灵活性的存储方案。
Q: 什么是存储云? A: 存储云是一种将存储服务提供给用户的基于网络的存储方案,它的核心特点是将存储资源通过网络提供给用户,实现资源共享和易用性。
Q: 什么是存储安全? A: 存储安全是一种在存储系统中保护数据安全的方法,它的核心思想是通过技术手段保护数据不被未经授权的访问、篡改或泄露。
大数据的存储方案 第3篇
大数据是指由于互联网、物联网等技术的发展,数据量大、增长迅速、多样化、实时性强的数据集。大数据处理的核心问题是如何高效地存储这些数据。高效的存储解决方案能够有效地减少存储成本,提高数据访问速度,提升数据处理能力,从而实现大数据的高效处理和分析。
在大数据领域,存储技术的发展受到了高效存储的需求推动。随着数据量的增加,传统的磁盘存储和内存存储已经无法满足大数据处理的需求。因此,研究人员和企业开始关注新的存储技术,如非关系型数据库、分布式文件系统、存储类内存等。
在本文中,我们将从以下几个方面进行阐述:
大数据的存储方案 第4篇
在本节中,我们将通过一个具体的代码实例来详细解释如何实现高效的存储解决方案。
```python import heapq
class HuffmanNode: def init(self, char, freq): = char = freq = None = None
def buildhuffmantree(text): frequency = {} for char in text: frequency[char] = (char, 0) + 1
def buildhuffmancodes(node, code, codes): if node is not None: if is not None: codes[] = code buildhuffmancodes(, code + _0_, codes) buildhuffmancodes(, code + _1_, codes)
def huffmanencoding(text): huffmantree = buildhuffmantree(text) codes = {} buildhuffmancodes(huffman_tree, __, codes)
text = _this is an example of huffman encoding_ encodedtext, codes = huffmanencoding(text) print(_Encoded text:_, encoded_text) print(_Huffman codes:_, codes) ```
```python def lzwencoding(text): dictionary = {chr(i): i for i in range(256)} nextindex = 256
text = _this is an example of lzw encoding_ encodedtext, dictionary = lzwencoding(text) print(_Encoded text:_, encoded_text) print(_LZW dictionary:_, dictionary) ```
```python def rangepartition(data, chunksize): start = 0 while start < len(data): end = start + chunk_size if end > len(data): end = len(data) yield data[start:end] start = end
data = [i for i in range(100)] chunksize = 10 for chunk in rangepartition(data, chunk_size): print(chunk) ```
```python import hashlib
def hashpartition(data, chunksize, hashfunction=_md5_): hashtable = {} start = 0 while start < len(data): end = start + chunksize if end > len(data): end = len(data) key = hashfunction(data[start:end]).hexdigest() hash_table[key] = data[start:end] start = end
data = b_this is an example of hash partitioning_ chunksize = 5 hashtable = hashpartition(data, chunksize) for key, value in (): print(key, value) ```
```python def erencoding(data, redundancy): datablocks = [data[i:i+redundancy] for i in range(0, len(data), redundancy)] errorcheckcodes = [sum(block) % (redundancy + 1) for block in datablocks] encodeddata = [block + [errorcheckcode] for block, errorcheckcode in zip(datablocks, errorcheckcodes)] return encodeddata
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] redundancy = 2 encodeddata = erencoding(data, redundancy) print(_Encoded data:_, encoded_data) ```
```python import numpy as np
def reedsolomonencoding(data, t): n = len(data) k = n - t G = ([(i * (i - 1) // 2) % n for i in range(1, k + 1)]) G = (((k), G)).T H = ([((g, data), n) for g in G]).T Hbasis = (H, ((H), axis=0)) Hbasis = (((t), Hbasis)).T errorlocations = (((data, H) / n), axis=0) errorvalues = (data, G[:, errorlocations]) encodeddata = (data, errorlocations) encodeddata = ((encodeddata, errorvalues)) return encoded_data
data = ([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) t = 1 encodeddata = reedsolomonencoding(data, t) print(_Encoded data:_, encodeddata) ```
大数据的存储方案 第5篇
5年前,“大数据”对于我们还是一个陌生的词汇。而如今,这个词基本已经被所有IT从业人员挂在嘴边。是什么让其一夜之间风靡?SNIA技术专家、天云融创公司副总裁雷涛认为,存储介质价格下降、计算能力提高、带宽提升,以及各类消费设备的普及,构成了大数据现象。
“民主化大数据”,这是雷涛演讲的标题。从这个标题中我们就可以看出演讲者的思路。雷涛认为,大数据概念正在逐渐渗透到我们的生活中。“大数据不是做IT支撑,而更多的是面向业务驱动。其已经从IT的角色转向业务角色。”雷涛表示。无论是零售、证券,还是医疗行业,都在引入大数据概念。甚至于,收电费都同大数据脱不开干系。
这一概念如此深入人心,使得我们不禁要问:如何能够更加高效地对数据进行利用、再利用?Imation(怡敏信)公司Vertical Solution Leader行业解决方案总监洪福生在本次大会上带来了名为“激活大数据”的主题演讲。
洪福生表示,尽管目前还没有太多人在应用云计算服务,不过,其确实已经成为一个趋势。 如今,lmation所有产品都已经实现与云计算和云服务的绑定,不仅可以帮助用户将数据迁移到云服务上,而且可以进行安全的数据销毁。
“我们是以客户的角度去做我们产品的步骤和方案的规划。我们希望能够提供给客户最有效的方案,这是Imation要做的。”洪福生表示。
在下午的演讲中,来自EMC、惠普、CommVault以及Nutanix的演讲嘉宾,分别介绍了其对大数据、云计算以及数据存储的看法和市场观点。
同时,本届SNW 2012中国大会还将SNW大会在国外的特殊环节——存储课堂和动手实验室——引入国内。在存储课堂和动手实验室环节中,惠普企业服务事业部CTO 王纪奎、苏州捷泰科信息技术有限公司SSD产品部研发副总经理王旭光,以及天云融创公司的技术人员为现场听众进行了授课。
信息是IT发展的动力源泉。没有了信息和数据,人类社会的发展将会陷入停滞。而在今天,我们所做出的每一分努力,都是为了明天我们能够拥有更加美好的学习、工作和生活。“创建云架构,魅力大数据”,今年SNW 2012中国大会的这一主题,不仅带给了我们思考和启迪,同时也为我们展望了未来在信息技术支撑下的美好画卷。
通过前文的相关数据分析, 我们已经了解到, 随着大数据时代应用数量、应用数据量和使用者数量的增长, 系统对存储IOPS以及OLTP和O-LAP的要求越来越高。传统存储也越来越无法满足业务关键应用的性能需求, 这驱动了中国企业未来24个月新存储的部署。而固态盘、闪存技术作为新型存储, 已经得到越来越多的企业的青睐。中桥的调查数据也验证了这一点。企业采用固态盘或闪存技术的主要原因排列如下:提高桌面虚拟化的性能、提高OLAP性能需求、满足业务关键应用性能和低延迟要求、提高虚机密度应用性能等。而桌面虚拟化、OLAP高要求、业务关键应用、低延迟以及高虚拟机密度也正是大数据时代的典型特点。
那么对于中国企业而言, 所选择的新型存储技术应该以什么样的指标来权衡, 才能确保整个大数据分析流程平稳、高效运行?中桥对企业的调查结果显示 (图2) , 存储高可扩展性、高可用性和并行处理能力是企业评估大数据存储最重要的三个因素。高可扩展性可以确保企业的IT能够随着数据量的增长和性能需求进行扩展, 以满足海量数据的存储和处理需求;高可用性则能够保证大数据分析过程的平稳、无间断运行, 确保了业务连续性;高并行处理能力则能够确保在大数据处理过程中同时进行更多数据的处理, 高效地完成数据分析, 从而将分析结果转化为业务决策, 加快产品或技术的面市周期。此外, 低延迟、自动分层存储以及10Gb E支持等也是用户评估大数据存储的重要考核因素。
我们再换一个角度来继续解读一下存储。众所周知, 不同类型的数据, 其生命周期也是不同的, 而根据数据类型和生命周期来进行存储资源分配, 则能够有效提高存储利用率, 这对于大数据的存储开支非常关键。此外, 数据的有效管理也决定着生产应用的性能。中桥调查结果显示 (图3) , 大量中国用户所采用的数据库面临着性能压力 () , 且没能有效地进行数据的归档和清理, 其中, 的受访企业甚至不进行数据归档和清理, 还有高达的受访企业采取手动方式来进行数据归档和清理。将非活跃数据从主存储资源上清理出来, 并根据数据类型和生命周期进行分层存储和归档, 尽可能提高存储利用率的同时, 还能够确保生产应用性能的稳定性, 为数据分析提供所需的性能, 有效降低主存储开支, 延缓存储采购周期。
在大数据时代, 海量数据给企业带来的不仅仅是系统性能和存储难题, 数据保护也是企业的一大焦点。中桥调研结果显示 (图4) , 用户就面临的数据保护挑战排列如下:“数据备份影响业务性能” () 、“数据保护网络带宽需求大” () 、“分级存储读写性能不能满足要求” () 。这表明, 在大数据时代, 海量数据的备份和保护以及分级存储, 将对业务性能带来很大影响, 包括对网络带宽的影响。这也从侧面再一次表明数据的分级存储对企业的重要性。
数据是大数据时代通过IT创造价值的“种子”。在大数据分析的四个重要环节中———数据采集和存储、数据清理和整合、数据分析、分析呈现———满足大数据演进过程中对容量、性能和业务连续性的需求, 提升资源利用率降低存储开支, 不仅能保护好大数据这个“种子”, 也是选择大数据存储的重要考虑因素。
数据备份部分是整个网络系统的关键点,任何原因造成数据丢失都将带来无法估量的损失,因为这些数据涉及到公司各应用系统(包括缺陷、动态成本、点检、物质仓储、大宗物料、生产运营等系统),为了保证各系统的正常运行,必须保证能随时访问生产数据、查询历史数据。一旦发生意外导致数据丢失(包括系统崩溃、数据的丢失等),造成影响难以估计。
NAS(Network Attached Storage:网络附属存储)是一种将分布、独立的数据整合为大型、集中化管理的数据中心,以便于对不同主机和应用服务器进行访问的技术。按字面简单说就是连接在网络上, 具备资料存储功能的装置,因此也称为“网络存储器”。它是一种专用数据存储服务器。它以数据为中心,将存储设备与服务器彻底分离,集中管理数据,从而释放带宽、提高性能、降低总拥有成本、保护投资。其成本远远低于使用服务器存储,而效率却远远高于后者。
NAS数据存储的优点:
1、NAS适用于那些需要通过网络将文件数据传送到多台客户机上的用户。NAS设备在数据必须长距离传送的环境中可以很好地发挥作用。
2、NAS设备非常易于部署。可以使NAS主机、客户机和其他设备广泛分布在整个企业的网络环境中。NAS可以提供可靠的文件级数据整合,因为文件锁定是由设备自身来处理的。
3、NAS应用于高效的文件共享任务中,例如UNIX中的NFS和Windows NT中的CIFS,其中基于网络的文件级锁定提供了高级并发访问保护的功能。
公司现有存储及备份模式已经无法满足日益强大的信息系统,现急需建立一套先进的存储备份管理系统,以合理利用存储资源为基础,突出以数据为中心,实现高效的存储与数据管理,给诸多宝贵的数据提供安全、稳定的环境。
基于以上NAS系统的种种优点,结合公司实际情况,决定采用NAS系统来升级公司的存储与备份现有模式。
下图为目前的拓扑图,需要操作服务器的数量多,数据的完整性无法得
到很好的验证。
下图为添加NAS存储系统后的拓扑图,在不改变当_络环境的状态下,直接将NAS存储系统连接至二层交换机,快速投入使用,同时支持基于Web的GUI远程管理,大大提升了备份效率。
大数据之“大”
“大”是相对而言的概念。例如,对于像SAP HANA那样的 “内存数据库”来说,2TB可能就已经是大容量了;而对于像谷歌这样的搜索引擎,EB的数据量才能称得上是大数据。
“大”也是一个迅速变化的概念。HDS 在 2004 年发布的 USP 存储虚拟化平台具 备管理 32PB 内外部附加存储的能力。当时,大多数人认为,USP 的存储容量大得有些离谱。但是现在,大多数企业都已经拥有 PB 级的数据量,一些搜索引擎公司的数据存储量甚至达到了EB 级。由于许多家庭都保存了TB级的数据量,一些云计算公司正在推广其文件共享或家庭数据备份服务。
有容乃“大”
由此看来,大数据存储的首要需求存储容量可扩展。大数据对存储容量的需求已经超出目前用户现有的存储能力。我们现在正处于 PB 级时代,而EB级时代即将到来。过去,许多企业通常以五年作为 IT系统规划的一个周期。在这五年中,企业的存储容量可能会增加一倍。现在,企业则需要制定存储数据量级(比如从PB级到EB级)的增长计划,只有这样才能确保业务不受干扰地持续增长。这就要求实现存储虚拟化。存储虚拟化是目前为止提高存储效率最重要、最有效的技术手段。它为现有存储系统提供了自动分层和精简配置等提高存储效率的工具。拥有了虚拟化存储,用户可以将来自内部和外部存储系统中的结构化和非结构化数据全部整合到一个单一的存储平台上。当所有存储资产变成一个单一的存储资源池时,自动分层和精简配置功能就可以扩展到整个存储基础设施层面。在这种情况下,用户可以轻松实现容量回收和容量利用率的最大化,并延长现有存储系统的寿命,显著提高IT系统的灵活性和效率,以满足非结构化数据增长的需求。中型企业可以在不影响性能的情况下将HUS的容量扩展到近3PB,并可通过动态虚拟控制器实现系统的快速预配置。此外,通过HDS VSP 的虚拟化功能,大型企业可以创建容量的存储池。随着非结构化数据的快速增长,未来,文件与内容数据又该如何进行扩展呢?
不断“生长”的大数据
关键词:大数据存储,数据存储子系统,新型大数据存储技术
0前言
近年来, “大数据”产生速度越来越快, 其中隐藏着巨大的机会和价值, 使得它越来越为大众所熟知。毫无疑问, 大数据时代已经到来[1]。对于大数据的具体定义现在全世界还没有一个统一和确切的答案。不过一般认为比较权威和普遍的说法有三种, 从三个方面来进行定义:
(1) 属性定义:国际数据中心IDC在2011年的报告中定义了大数据[2]:大数据技术描述了一个技术和体系的新时代, 被设计于从大规模多样化的数据中通过高速捕获、发现和分析技术提取数据的价值。大数据有4个显著特点, 容量 (volume) 、多样性 (variety) 、速度 (velocity) 和价值 (value) , 简称为4Vs。
(2) 比较定义:2011年, Mc Kinsey公司的研究报告中将大数据定义为[3]:超过了典型数据库软件工具捕获、存储、管理和分析数据能力的数据集。
(3) 体系定义:美国国家标准和技术研究院NIST认为[4]:数据的容量、数据的获取速度或者数据的表示限制了使用传统关系方法对数据的分析处理能力, 需要使用水平扩展的机制以提高处理效率才称之为“大数据”。
总之, 不管是哪种定义, 大数据代表的是一种比现在所能储存数据量大得多的数据。这样巨量的数据如何存储是一个非常重要和核心的问题。
1 大数据中心数据类型
根据处理时间的需求不同, 大数据的分析处理可以分为两类:第一种为流式处理, 数据以流的方式到达, 大部分数据进行实时的处理, 只有小部分的流数据被保存在有限的内存中。第二种为批处理, 数据需要先存储后分析。而现在大部分的应用都是属于批处理的。流式处理所需的内存相对比较少, 所以这里我们只讨论批处理的数据储存问题。
大数据处理中心所储存的数据并不是关系数据库所存的结构型数据。而是前所未有的复杂异构数据。NIST认为它有五种属性[5]:容量、速度、多样性 (结构化、半结构化和无结构数据) 、水平扩展性 (合并能力) 和相关限制。
科学计算具有最小的属性值;商业数据源有较高的水平扩展性和相关限制需求;而网络领域的数据源具有较高的容量、速度和多样性特征[1]。
2 现有大数据存储技术
由于大数据异构的原因, 一般我们需要对数据进行预处理。比如:数据集成、数据清洗、消除冗余。进行这样的预处理后, 数据的集成度会更好, 数据出现错误的几率也会变低。不过由于数据的多样性, 我们没有办法对所有数据做统一的处理, 只能根据具体的数据性质来处理。这样也会造成有些数据预处理后效果很好, 但有些数据预处理却不能达到预想的效果。不管是能预处理好的数据还是不能处理好的数据, 我们都必须考虑如何存储这些数据。
我们把大数据中心的数据存储部分称为数据存储子系统, 这个子系统以适当的格式存放数据, 等待数据的分析和价值提取。存储子系统需要具备两个特征:硬件系统能持久、可靠的存储;有访问接口供用户查询和分析。
针对以上两个特征, 数据存储子系统应该分为两个主要部分, 一是硬件部分, 二是管理软件部分。现在存储硬件相对比较有限, 主要有RAM、磁盘阵列、非机械式存储媒体。这些硬件设备各自有自己的存储优势和劣势。RAM速度快, 但是断电数据就会丢失。磁盘阵列存储容量大, 但存储速度却较慢。非机械式存储运行延时小, 但成本相对高。人们也考虑将上述设备结合运用, 取各自优点。这样能够得到更大的空间和更快的存储速度。
由于存储介质的选择性比较少, 我们要扩大大数据中心存储的容量, 只能想办法构架更适合大数据存储的系统。
传统存储设备主要有三种系统:
第一种为DAS直联式存储, 显而易见这是不需要任何其他设备直接连接的方式。这种方式成本低、效率高;缺点而是容量小、不能共享。
第二种为NAS文件级的访问接口网络系统。这是可共享的网络多用户存储系统。
第三种为SAN块访问级的网络系统, 专门通过网络与大存储设备之间互连。
这三种系统基本都能提供TB级别的容量, 最多能达到几PB。不过对于大数据来说, 数据级别一般都是几PB或EB级。因此传统存储系统显然是不足以满足需要的。
现在的存储系统主流的有两种:分布式存储和云存储及其存储虚拟化。
分布式存储系统有一个著名的CAP理论:一个分布式系统不能同时达到一致性、可用性和分区容忍性。因此, 我们只能在这三者之间根据实际应用情况取舍。比较经典的是GFS (Google File System) 。GFS取了一致性和可用性, 弱化了分区容忍性。
云存储则云计算的思维的延伸, 通过运营商统一管理存储系统, 从而降低了成本, 解决了小企业存储大数据的问题。云存储通过一定的技术将网络中不同类型的存储设备协同工作, 共同对外提供数据存储和业务访问功能的一个系统。比较经典的有Dropbox提供商的基于AWS (Amazon Web Services) 的在线储存系统S3。
3 大数据存储新思路
大数据存储管理的主要问题有三个: (1) 大数据存储架构的选择问题:磁盘与主存速度的不匹配。 (2) 新型存储设备大数据管理算法的问题 (3) 大数据存储的硬件能耗大, 带来的沉重经济负担问题。
想要解决大数据中心存储我们必须从这么三个方面来考虑。
伴随新型存储介质的出现, 新型存储介质以多介质混合存储为主流。与此相应, 我们必须建立一种新的层次化的多介质存储体系。根据不同情况下、不同需求中, 数据的不同特性和不同存储介质的特性合理地分配存储空间, 从而实现海量存储、高性能以及低能耗的目标。当然要实现这一目标, 我们需要研究的问题还涉及多个方面的内容, 主要有多介质混合存储系统与一体化管理、存储器结构感知的数据管理技术以及大数据分布式协同存储技术等。
面向新型存储的大数据管理研究需要高效的系统核心算法。结合传统数据管理系统的现状, 我们还必须在索引、查询处理等方面集中进行研究。比如:基于新型存储的持久化算法、基于新型存储的可靠性保障方法、基于新型存储的索引算法、基于新型存储的查询执行算法、基于新型存储的查询优化算法等。
新型存储介质能耗相对更低, 设计能耗感知的大数据存储系统则能在此方面得到一定解决。这类技术主要考虑两个方面:一是进行DBMS能耗测试技术、能耗有效的查询处理;二是研究如何使存储大数据的设备和节点集群可以动态地切换电源状态, 以实现能耗与负载之间的匹配。比如:能耗查询优化技术、能耗节点体系结构、集群存储分配方法、面向集群的高能效缓冲区置换算法等。
4 结语
虽然大数据时代已经到来, 但大数据的很多应用尚未成熟。利用新型存储的独特性来解决大数据存储的关键问题是这一研究方向中的核心和要点。而对于大数据的数据存储问题还尚在初级阶段, 很多存储数据的方法还停留在理论阶段。而对于大数据来说, 存储问题是必须要解决的核心问题。大数据的非结构性特点有决定了它的存储面临的挑战。国外以及有大数据存储的提供运营商, 在我们中国才刚刚起步。如果能解决EB级数据甚至更大级别数据的存储, 就一定能大大促进大数据分析的发展。
参考文献
[1]李学龙, 龚海刚.大数据系统综述.中国科学:信息科学[J]..
[2]Gantz J, Reinsel value from i View, 2011:1-12.
[3]Manyika J, Chui M, Brown B, et data:the next frontier for innovation, competition, and Kinsey Global Institute, 2011.
[4]Laney Data Management:Controlling Data Volume, Velocity and , 2001.
大数据创造业务价值
有效利用大数据, 不仅可以实时监控各种潜在风险, 提高生产效率, 更重要的是为企业提供诸多洞见, 提升投资回报和竞争优势, 而且有助于企业从多维度判断全球市场潜在商机, 实现跳跃式快速发展。大数据通过IT创造价值主要分为三个阶段, 第一个阶段是批量分析, 数据主要来自企业内部结构化数据;第二个阶段是实时分析, 数据分析类型逐步从结构化演进到包括非结构化和半结构化数据;第三个阶段则是全方位事实分析, 不仅有来自企业内部的数据, 同时会纳入来自第三方的竞争数据, 以非结构化数据为主。
中国市场大数据分析现状
对于大数据分析在中国市场发展的现状, 中桥分析师表示, 中国市场90%以上的用户处于大数据分析第一阶段, 而且用户大数据分析主要围绕企业内部的结构化数据, 如数据库或事务性数据, 较少企业将日志、感应数据、社群数据纳入大数据分析。不过这一趋势将会发生变化, 因为半结构化和非结构化数据在中国大数据分析的占比在未来24个月将会快速增长。
大数据分析市场趋势
虽然中国用户尚处于大数据分析的第一阶段, 但中国企业已经意识到其重要性。那么在数据分析解决方案部署上, 中桥分析师表示, 在未来12个月的企业级用户考虑部署新的数据分析解决方案;而对于中小企业来说, 未来12-24个月将成为大数据分析新方案的强增长点。
大数据存储的挑战
那么, 在大数据创造价值的过程中, 中国用户又面临哪些存储挑战?分析师表示, 受访企业和机构在进行数据分析时面临的存储难题依次为:存储容量不能满足需求 () 、资源配置复杂 () 、采购和运营成本高 () 、不能满足并行处理能力需求 () 、非结构化数据的大数据分析 () 、存储硬件利用率低下 () 。
这表明在大数据时代, 在数据量飞速增长的情况下, 企业的存储容量面临的压力最大, 而应用的多元化和IT的分层管理, 带来了系统IT资源配置和管理的复杂;要满足如此海量数据和多种应用的需求, 企业的存储采购和运营成本也居高不下;而多个应用的同时运行, 则对系统的并行处理能力提出了更高要求;非结构化数据的大数据分析则进一步反映了企业数据类型的多样性和复杂性。因此, 为了满足大数据时代的IT需求, 企业需要大容量、高性能、保证数据生命周期高性价比的存储来满足大数据存储、数据保护和业务连续性需求。
戴尔流动数据特色
针对上述大数据时代中国用户普遍遇到的存储挑战, 以及用户对于新型存储的需求, 分析师认为, 戴尔流动数据架构可以简单快捷地实现存储容量和性能的升级扩展;横向扩展可以跨不同节点扩展, 保证了在容量扩展时性能不会衰减, 以及容量和性能的独立升级线性扩展;同时跨不同节点实现了无断代技术升级, 避免了叉车式断代升级带来的管理难度和对业务连续性的影响, 确保了存储生命周期的高可扩展性。此外, 戴尔通过一个“智能” (数据块级智能) 和三个“自动化” (数据分类自动化、映射自动化、迁移自动化) 、流动数据的分层结合、不同RAID级别和存储层, 满足不同工作负载对高可用、高性能和容量的需求, 以最微粒化的维度提高大数据分析过程中的资源利用率。戴尔流动数据架构还结合一系列的存储容量优化技术 (自动精简、数据压缩和重复数据删除) , 大大加少了资源浪费。其集群、闪存技术 (SLC和MLC) 和固态盘分层技术的结合, 有效提高了IOPS, 降低了时间延迟, 实现了大数据对OLTP和OLAP的高要求, 以及存储容量可扩展和资源优化的目的。
应用场景分析
英国某卫生行业云计算提供商对于客户各种需求的满足, 加大了对数据存储容量和性能、大数据分析频率和速度的要求。该提供商结合Microsoft SQL Server 2012 Enterprise软件和商业智能工具, 通过混合云平台, 为各种医疗机构和医生提供用户可选择的商业智能分析服务。大数据分析过程中, 存储主要面临的挑战是扩展和存储利用率以及近实时分析性能。
戴尔流动数据架构的横向扩展特性, 以及引入闪存带来的高性能和分层技术可以帮助医疗机构在实现存储资源优化的同时, 满足大数据分析的性能需求。
HANA应用
美国某电信供应商面临的问题是, 如何将不同来源的海量数据进行大数据近实时分析, 通过多种渠道为2100万用户提供所需服务。2012年, 该公司部署了SAP HANA, 对多种维度的数据进行大数据近实时和实时分析。快速部署SAP HANA, 以及SAP HA-NA分析平台对存储容量、存储性能、数据高可用性, 以及数据保护的需求对传统存储带来挑战。
戴尔不仅提供了SAP HANA认证整体解决方案, 其闪存优化大幅度提高了一层存储的性能, 并且流动数据架构的细粒度分层都保证了最大限度降低了SAP HANA部署、调优和管理所需的资源。
Secure Works作为信息安全服务商, 帮助从政府到企业的各种用户通过Web应用、网络、日志等扫描及全天候安全监控, 提高信息安全性。随着客户量的增加, 数据量快速攀升, 如何保证存储高可扩展性、数据高可用性, 以及存储动态资源配置能力, 是选择存储的关键。
戴尔Crowbar结合Cloudera Hadoop方案, 简化了Hadoop的方案整合, 提高了存储性能, 优化了存储资源利用率, 降低了业务风险。为从IT架构管理, 向IT服务交付提供了标准化、规范化、自动化的IT管理平台。
纽约某教育信息交换中心支持64所不同的高等教育机构, 为用户提供多种应用;同时, 为24所高教机构管理140个Oracle数据库、50多种Oracle应用, 对各种数据进行批量分析。随着数据库容量和课件的非结构化文件存储容量快速攀升, 如何提高存储资源利用率、对结构化和非结构化存储的集中统一管理, 并确保课件所需要的容量和吞吐量, 以及课件的在线响应速度是他们面临的挑战。
戴尔流动数据架构结合数据块级智能和虚拟页技术让用户制定灵活的RAID级别和存储层, 以及数据存储的盘道位置, 通过各种资源整合效应, 确保业务关键型工作负载性和高可用性需求。同时, 横向扩展保证容量扩展过程的性能满足课件所需要吞吐量, 保证课件在所有时段的响应速度。
某保险公司有450个保险代理、50万用户, 部署了1300个虚拟终端。随着虚拟终端数量以及应用的增多, 启动风暴导致每天上班时启动时间在15-30分钟。如何保证启动风暴所需要的IOPs, 同时控制桌面虚拟化存储成本, 满足存储容量需求, 是该保险用户提高桌面虚拟化投资回报的最大挑战。
戴尔12代服务器通过GPU技术, 提高了对于桌面虚拟化图形文件的处理能力, 大大降低保险行业处理高清影像文件对终端显卡的开支;同时, 通过C系列和VRTX, 为保险行业用户提供整体IT架构解决方案, 降低桌面虚拟化部署周期和管理难度。而戴尔流动数据架构同时保证了虚拟化性能, 保证了生产效率。
中桥观点
近年来,随着大数据处理技术的快速发展,对大数据的存储和调度成为大数据信息处理的关键。随着人们对分布式数据库的逐步关注、深入研究与常态化应用,采用分布式级联数据库进行大数据存储成为大数据处理应用的重要方向。研究大数据的分布式级联数据库优化设计,将在云存储和大数据智能信息处理等领域具有较高的应用价值[1]。
通过对数据库存储结构和数据访问技术的优化设计,提高数据库对大数据的存储和调度控制能力。传统的数据库存储采用堆栈列表控制方法进行大数据存储,随着存储量和干扰的增大,导致数据库的调度和访问准确性不高。在数据库访问中,目前主要有基于语义信息特征提取的数据库访问技术、基于词频特征分布的数据库访问技术和基于关键字的数据库访问技术等[2,3]。其中,文献[4]提出一种基于语义数据集特征提取的数据库优化设计方法,以实现数据库的优化存储和大数据处理。首先找出两个最不相关的语义数据集合,考查词频准确性和样本记录数量之间的关系,通过有向图模型设计方法,提高数据库的调度和访问指向性能力。但是该方法计算开销较大,收敛性不好[5]。针对上述问题,本文提出一种基于大数据存储区域自动筛选的数据库优化存储和访问技术,首先进行数据库中数据分布存储模型设计和数据结构分析,采用模糊C均值聚类算法进行大数据的存储区域优化聚类,提高数据聚敛能力。采用滤波算法进行数据库中的干扰滤波处理,对滤波输出的数据进行存储区域的自动筛选控制,实现数据库存储空间优化,提高数据库访问的指向性和配准性。最后通过仿真实验进行了性能测试,得出有效性结论,展示了较高的应用价值。
1 预备知识及数据库中大数据存储数据结构分析
数据库中数据分布存储模型设计
为了实现对大型网络级联数据库的优化设计和存储访问控制,首先采用分布式存储调度方法,对大型网络级联数据库的存储数据采集结构进行存储数据的数据结构分析,再用有向图表示云计算环境下大型网络级联数据库的数据分布存储模型,如图1所示,以此为基础进行数据的存储结构优化设计[6]。
数据结构分析与信息流时间序列分析
在上述构建了数据库中数据分布存储模型的基础上,为了实现对数据存储区域的自动筛选和访问控制,进行数据库结构和数据信息流时间序列分析及信号模型构建。求大型网络级联数据库存储数据每类样本的模糊神经网络控制的隶属度函数,先求得隶属度函数的特征采样均值,Kj为第j类样本符合K个分配因子的带宽,并抽取数据库访问特征序列的相空间模糊度点集作为数据库访问控制训练集的聚类中心S,取其最大值si作为资源带宽差值控制的第一个聚类中心,采用自适应波束形成进行特征采样和资源访问控制,假设访问控制函数为:
在数据库访问过程中,假设时间函数为一个非线性的时间序列,得到数据库访问过程的不确定干扰项为:
其中,U为数据库访问控制中的特征采样数据论域。这里采用粒子群算法进行数据库的访问时间序列分析,粒子群在搜索过程中经常会陷入局部最优解,采用混沌映射方法,带领粒子逃离局部最优解,混沌映射的状态空间更新迭代过程为:
依据混沌映射搜索的最小积分准则,当粒子群在搜索过程中簇的中心点收敛到数据库的资源聚类中心时,求得数据库的资源聚类训练集的功率谱密度函数作为特征,进行特征提取和时间序列分析,得到数据的特征向量为:
通过上述处理,实现对大型数据库数据结构和信息流时间序列的分析,为实现数据库的优化设计奠定基础。
2 大数据存储区域自动筛选及数据库优化
在上述进行了数据结构分析和信息流时间序列分析的基础上,进行数据库优化设计改进。提出一种基于大数据存储区域自动筛选的数据库优化存储和访问技术,采用模糊C均值聚类算法进行大数据的存储区域优化聚类,提高数据聚敛能力。模糊C均值聚类算法的实现过程如下,对大型网络级联数据库存储数据的结构特征优选的C均值聚类中心为:
式中hi(t)表示特征子集Si(i=1,2,…,L)的变异参数,计算数据库中作业运行队列的调度时长响应函数为:
式中,h′i(t)为S(t)数据库数据进行模糊C均值聚类的定期扫描算子,采用模糊C均值聚类得到输出的数据库聚类中心矢量为:
式中,对大数据特征调度的噪声干扰为:
为了实现对聚类输出大数据的干扰抑制,需要采用数据滤波算法进行数据滤波,采用滤波算法进行数据库中的干扰滤波处理,并采用IIR滤波器进行数据干扰滤波,滤波器的设计结构函数为:
对滤波输出的数据进行存储区域的自动筛选控制,采用模糊遗传算法,计算得到大型网络级联数据库的存储数据在云存储空间内的时域特征状态响应函数表达式为:
其中,数据库优化存储的大数据自动筛选控制的激活因子为:
通过上述算法改进设计,实现数据库优化存储的调度控制。
3 仿真实验与结果分析
为了测试本文算法在实现数据库优化存储中的性能,进行仿真实验。仿真的硬件CPU为Intel®CoreTM i7-2600,采用Matlab仿真工具进行数学仿真。大型网络级联数据库存储数据的云存储节点分布在均匀线列阵存储区域,存储数据的数据格式为vmdk、exe等。进行大型网络级联数据库存储数据的原始信息采集,大数据特征采样频率为21kHz,存储数据的频率范围为12~24kHz。根据上述仿真环境和参数设定,得到大数据存储区域的采样输出如图2所示,采用本文方法进行存储区域自动筛选后的输出如图3所示。
由图3可见,采用本文方法实现数据库存储空间优化,可提高数据库访问的指向性和配准性。仿真结果表明,利用该方法进行数据库优化设计,对大数据的存储和调度性能都有较大改善。
参考文献
[1]周涛.基于改进神经网络的电力系统中长期负荷预测研究[J].电气应用,2013,32(4):26-29.
[2]耿忠,刘三阳,齐小刚.基于非合作博弈的无线传感器网络功率控制研究[J].控制与决策,2011,26(7):1014-1018.
[3]_,王鹏,黄焱,等.基于相空间的云计算仿真系统研究与设计[J].计算机科学,2013,40(2):84-86.
[4]文天柱,许爱强,程恭.基于改进ENN2聚类算法的多故障诊断方法[J].控制与决策,2015,30(6):1021-1026.
[5]余晓东,雷英杰,岳韶华,等.基于粒子群优化的直觉模糊核聚类算法研究[J].通信学报,2015(5):74-80.
关键词:大数据,数据存储,数据分析,Hadoop,标签云
根据国际数据公司(IDC)监测,全球数据量大约每两年翻一番,预计到2020年全球将拥有35ZB的数据量,且85%以上的数据将以非结构化或半结构化的形式存在,大数据时代的到来毋庸置疑[1]。
1 大数据概述及发展趋势
大数据的概述
目前关于大数据的定义说法各异,维基百科给出的大数据定义是:利用常规软件工具捕获、管理和处理数据所耗时间超过可容忍时间的数据集;2011年5月,全球著名咨询机构麦肯锡公司发布了“大数据:下一个创新、竞争和生产力的前沿”,在报告中对大数据的定义进行了扩充。大数据是指其大小超出了典型数据库软件的采集、存储、管理和分析等能力的数据集。
大数据的特点可概括为4 V[2],即Volume(规模巨大)、Variety(模态繁多)、Velocity(生成快速)和Valu(价值大但密度低)。首先,数据集合的规模不断扩大,已到PB级甚至以ZB来计数。大数据蕴藏的价值虽大,但价值密度却较低,通常需要对海量的数据进行挖掘分析,才能获取潜在价值。
大数据的发展趋势
在未来一段时间内,大数据将成为企业、社会和国家层面重要的战略资源。大数据将不断成为各类机构,尤其是企业的重要资产,成为提升机构和公司竞争力的有力武器。企业将更加钟情于用户数据,充分利用客户与其在线产品或服务交互产生的数据,并从中获取价值。此外,大数据对广告、产品推销和消费者行为市场发挥重要影响。
大数据将面临隐私保护的重大挑战,数据公开是有必要的,若仅为了保护隐私就将现有的数据都加以隐藏,那么数据的价值根本无法体现,企事业单位、政府、科研机构可从中获取相关领域的数据进行挖掘分析;现有的隐私保护法规和技术手段难以适应大数据环境,个人隐私越来越难以保护,有可能会出现有偿隐私服务,Dwork[3]提出了新的差分隐私方法,差分隐私保护技术可能是解决隐私保护问题一个方向,预计各国都将会有一系列关于数据隐私的标准和条例出台。
大数据处理离不开云计算技术,云计算为大数据提供弹性可扩展的基础设施支撑环境以及数据服务的高效模式,大数据则为云计算提供了新的商业价值。因此,从2013年开始,大数据技术与云计算技术必然进入更完美的结合期。总体而言,云计算、物联网、移动互联网等新兴计算形态,既是产生大数据的地方,也是需要大数据分析方法的领域。
大数据分析将出现一系列重大变革。就像计算机和互联网一样,大数据可能是新一波的技术革命。基于大数据的深度学习、数据挖掘、机器学习和可视化可能会改变小数据中的众多算法和基础理论;如2006年,多伦多大学的Hinton等人使用无监督的逐层贪婪的预训练方法成功减轻了深度模型优化困难的问题[3],从而掀起了深度学习的浪潮,清晰的图形可直观展示分析过程,但是用户界面与交互设计,不确定性的量化,面向各领域的量化,并行化这些问题未得到很好解决,这几个方面可能会产生理论级别的突破。
2 大数据的处理流程
数据采集与集成
鉴于大数据的特点,对大数据的态势感知、质量评估及融合表示均面临新的挑战。大数据来源广泛,数据类型复杂,要想处理大数传统的数据库领域已对数据抽取和集成有了比较成熟的研究,随着新的数据源的出现,数据集成方法也在不断发展,现有的数据抽取和集成方式可分为4种类型[4,5]:基于物化或ETL方法的引擎、基于联邦数据库或中间件方法的引擎、基于数据流方法的引擎和基于搜索引擎的方法。
对大数据的质量评估需要建立数据模型或提出合适的采样方法,同时需要找到对采样数据的评估与检测方法。传统的数据库采样方法不能自由地从大数据中获取记录,因而不适合大数据的采样。文献[4]提出了基于图模型的增量式数据库采样方法WDB-Sampler,该方法通过查询接口从数据库中以增量的方式获取近似随机的样本。由于针对样本每条数据作为顶点去建立图模型,每轮查询后需要将查询结果扩充到图模型中来产生下一轮查询词,但这造成较高的代价。
这方面的成果有美国Uni SQL公司开发的Uni SQL/M是由一个异构数据库系统,其的目标是在SQL的基础上实现关系和面向对象的数据库的集成[6]。Uni SQL/M是一个完整的数据库系统,是ANSI SQL结合了面向对象数据模型概念的扩展。美国斯坦福大学在TSIMMIS/Lore项目中研制开发的Lore系统是一个异构信息源集成系统[7]。该系统采用了一种带标签树的自描述数据模型———对象交换模型(OEM),将各异构数据转化为OEM数据,并提供Lore L语言对这些数据进行访问。
数据的存储
行存储和列存储是两种典型的数据库物理存储方法,行存储中记录以行的形式存储在数据库关系表中,记录中所有列均需要存储,这种方式当读取一行记录数据时,行中所有列数据都会从磁盘中读取,导致额外的磁盘I/O查询开销和耗费额外的查询时间;列式存储将关系表按列垂直分割成多个子关系表,分割后的每组子关系表中的数据放在同一存储节点;不同的列可能分布在不同的数据节点上,读取不同列的数据会跨节点访问,增加了网络传输所耗费的时间;文献[8]提出了行列混合的数据存储结构(RCFile)来解决大规模数据加载速度快、缩短查询响应时间等问题。RCFile集中了行存储和列存储的优点,已经是分布式离线数据分析系统中数据存储结构的事实标准。
针对大数据,传统的存储方式有:适合存储海量非结构化数据的分布式文件系统HDFS、适合存储海量无模式的半结构化数据的分布式Key/Value存储引擎Hbase、适合存储海量结构化数据的分布式并行数据库系统Greenplum(Greenplum是基于Postgre SQL开发的一款MPP架构的、shared-nothing无共享的分布式并行数据库系统)。HDFS并不适合那些要求低延时访问的应用程序,不能较好地处理大量小文件,目前Hadoop只支持单用户写,不支持并发多用户写。Greenplum不支持触发器,只要涉及到要将行有Segment Host移动时会发生错误,故现有存储方式有待改进。
数据的挖掘与分析
大数据的分析是整个环节的核心部分,大数据分析的基本方法包括统计、快速傅里叶变换、基线和峰值、列表和作图。
如图1所示,大数据分析的理论核心是数据挖掘,各种数据挖掘的算法针对不同格式类型的数据,这些算法不仅能处理大数据的数据量,也一定程度地满足处理大数据的速度要求。例如挖掘算法之一关联规则,挖掘过程第一阶段必须先从资料集合中找出所有的频繁项集(Frequentltemsets),第二阶段再由这些频繁项集中产生关联规则(ASsOCiationRules)。最经典的关联规则提取算法是Apriori算法[9],当数据量大时,许多计算频繁项集的算法处理不了或计算的数度过慢,故最早在文献[9]提出了Apriori的3种并行算法cD、DD和caD。
预测性分析可让分析员根据可视化分析和数据挖掘结果做出一些预测性判断。异构数据带来了数据分析的新挑战与困难,需要一系列的工具去解析、提取、分析数据。语义引擎将基础设施能力、软件系统能力以及智能算法技术打包在一起,使之能从大数据中挖掘出特点,通过科学建模和输入新的数据,从而预测未来的数据。
挖掘大数据的价值必然要对大数据进行内容上的分析与计算,深度学习和知识计算是大数据分析的基础,而可视化既是数据分析的关键技术也是数据分析结果呈现的关键技术。
可视化技术
对于多数用户而言,若将晦涩难懂的数据以“更友好的”图形图像来表现,则更易理解;可视化技术注重技术的实现及其算法的优化,通过开发可视化工具变抽象为具象,在便于理解的同时加深印象。其涉及到计算机图形学、计算机仿真领域等。目前数据可视化的主要技术有:基于集合投影、面向像素、基于图标、基于层次和图形可视化和层叠式显示技术等。图2显示了典型的文本可视化技术是标签云[10],Word Tree结合后缀树的思想,用图3显示树状结构呈现查询词的上下文关系;本文提出一种用于快速识别网络媒体主题热度和内容联系的标签云技术的改进方法,如图4所示。
将大号不同颜色字体的关键词放在标签云的左边,同时将小号不同颜色字体的关键词放在标签云的右边。这样会直观地在左边位置寻找网络热搜词。如果要了解媒体内容联系,则可选择树结构的Word Tree。对大数据进行探索和可视化仍处在初始阶段,尤其是对于动态多维度大数据流的可视化技术还较为匮乏,需要扩展现有的可视化算法,研究新的数据转换方法以便能应变复杂的信息流数据。也需设计创新的交互方式来对大数据进行可视化交互和辅助决策。
数据平台设计与应用
大数据处理技术正在改变目前计算机的运行模式,其需要处理文本、音频、视频及其他形态的数据,要求处理速度快;因其所用的均是最普通成本的硬件,而云计算其将计算任务分布在众多计算机构成的系统上,使用户能按需获得信息服务。云计算分布式架构很好地支持大数据存储和处理需求,其并行处理技术是当前应对大计算量数据的普遍做法;其次云计算为大数据提供了可弹性扩展相对便宜的存储空间和计算资源,是异构系统较多的企业及时准确处理数据的有力方式。当然大数据要走向云计算还有赖于数据通信带宽的提高和云资源的建设,数据分析集逐步扩大,这些条件使得大数据在云平台上处理和利用成为可能。
3 大数据平台数据存储方案的改进
目前提供大数据平台的公司主要有Google,Amazon,Yahoo和Microsoft等。Amazon构建的大数据平台不仅服务自己内部的互联网应用,也公开对外进行收费服务,已形成成熟的盈利模式。Amazon以云计算为基础提供了一套租赁存储和计算服务的平台,包括弹性计算云EC2[11],基础存储架构Dynamo,简单存储服务S3,简单队列服务SQS和简单数据库服务SimpleDB等。Google的大数据平台包括分布式文件系统GFS,分布式计算框架MapReduce[12],分布式锁机制Chubby和非结构化数据库BigTable[13]等。Google这套系统运行在百万台服务器上来为其庞大的搜索引擎服务,处理的数据量达到PB级。大数据的处理技术已得到企业界的高度重视和应用。
此后,基于Google云计算框架的开源实现Hadoop一经提出,便吸引了大量的研究和开发人员的参与。经数年的丰富和发展,Hadoop已成为了功能齐全且性能稳定的开源大数据平台框架。Hadoop是现在较为流行的分布式计算的框架,其为处理海量数据,充分发挥集群的处理能力以及存储能力提供了方案。如图5所示,Hadoop的组成模块有MapReduce、Hive、HBase、HDFS、Avro和Chukwa等,Hadoop[14,15,16,17,18,19,20,21,22]是本文中提到的大数据平台。
HDFS的设计思想借鉴于Google的分布式文件系统GFS,是Hadoop整个系统构架的基础层,负责数据的存储、管理,错误检测和快速恢复。其不适合低延时的数据访问和大量小文件的存储及多用户并发写的情况。
Hive是基于Hadoop的一个数据仓库工具,可将结构化的数据文件映射为一张数据库表,并采用HQL(类SQL)语言对这些数据进行自动化管理和处理,可将sql语句转换为MapReduce任务并发执行。
MapReduce技术是Google提出的一种并行计算模型通过采用“映射”(map)、“化简”(reduce)等概念简化分布式计算的程序设计,其方便了编程人员将程序运行在分布式系统中。
HBase是一个分布式的、面向列的开源数据库,HBase不同于一般的关系数据库,其是一个适合于非结构化数据存储的数据库;另一个不同则是HBase基于列的存储模式。
随着数据规模的不断上升,传统数据仓库的局限性越来越明显,在大数据环境下,大量的半结构化、非结构化数据的存在,使的数据库设计者难以事先确定统一的数据模型;海量的数据需要并行化处理,而大部分的关系数据库不支持大规模的分布式存储;大数据处理需要较高的实时性,而关系数据库Join在面对大数据集时效率低下;但其对于存储、查询和管理结构化数据,有强大功能,关系数据库有许多成熟的工具,如图形化的客户端、基于ER模型的设计工具等。目前已有学者提出传统数据仓库与Hadoop大数据平台协作模式[23,24],且通过实验测试,该文在此基础上提出改进方法,如图6所示。
数据仓库与NoSQL的通信
数据仓库与Hive、HDFS间的数据交互
如图6所示,数据仓库与Hive[25]、HDFS之间的数据交互采用的是串行交互方式,基于JDBC的串行数据交互是利用JDBC创建与RDBMS的数据连接,然后读取RDBMS的数据到服务器本地磁盘(充当着服务器临时文件)然后再上传到HDFS文件系统和Hive数据库中,或先将HDFS数据文件下载服务器本地磁盘然后再导入到RDBMS。若使用RDBMS与HDFS没有在一个集群中,还需在RDBMS服务器和HDFS集群节点间拷贝数据。Hadoop的DB接口(Hadoop接口函数)基于JDBC实现,包括:DBInputForma、DBOutputFormat、DBConfiguration和DBWritable,其中DBInputFormat用来实现输入数据源是RDBM时的InputFormat,DBOutputFormat用来实现从HDFS到RDBMS的并行导出的输出格式,而其中DBConfiguration实现Hadoop与DB的JDBC连接和参数配置,DBWritale实现Hadoop和DB数据传输时的数据序列化和反序列化。
数据仓库与HBase之间的数据交互
数据仓库与HBase[26]的数据迁移中间件,本文主要讲到数据关联模块,通过自定义MySQL和HBase数据存储的规则,并创建数据表、写数据、删除数据表、删除数据和数据迁移等操作都遵循这些自定义的规则,从而维护MySQL和HBase之间数据关联性和一致性。数据关联模块定义了HBase和MySQL数据存储的规则:MySQL的数据库对应HBase的数据表和列族;MySQL的数据表对应HBase连续的行数据;MySQL的行、列对应HBase的行、列;“MySQL表名+主键值”对应HBase的行键值;“MySQL列名+列类型”对应HBase的列名。如表1所示:其他模块包括元数据管理、数据查询、数据挖掘和分析模块这里,数据仓库的数据通常采用行存储方式,Hive采用RCFile(行列存储方式),HBase是列存储,HDFS是基于块存储的。这里并未采用Sqoop迁移工具,因Sqoop命令行方式易出错,格式紧耦合,无法支持所有数据类型,架构复杂,配置部署繁琐。
实验结果
本次测试主要采用了基于Hadoop架构的计算存储集群。该集群由一个主(Master)节点,3个从(Slave)节点组成,所有节点均是基于X86架构的PC机。操作系统为CentOS ,软件开发工具如图8所示;数据存储功能模块分为结构化与非结构化数据存储两块,结构化数据可存储在传统数据仓库和Hadoop存储平台中,非结构化数据存储在Hadoop大数据平台中;我们现在比较新的数据迁移方法在数据迁移速度方面比传统的Sqoop迁移方法更快,有助于加快系统的查询效率。结果如图9所示,说明该文论述的迁移方法比Sqoop迁移方法在面对大量数据时迁移时间更短,更具优势。
4 结束语
大数据的发展首先需要企业突破技术障碍,加快系统全面升级,不断提高客户资料管理的安全保护能力,加强账号管理。优化网络运行环境,细分用户业务领域,实现数据流量与网络资源、用户匹配。运营商可尝试与第三方公司合作,在未明确需求的情况下,企业需要进行深入的数据整理、分析和挖掘,成本通常较高,与第三方合作,共同承担费用,挖掘第三方要求的商业数据可获得更多的利润。
大数据的存储方案 第6篇
在选择大数据存储方式时,需要考虑以下几个方面:
数据特点:分析数据的结构、大小、类型等对存储方式的选择有一定影响。例如,如果数据是结构化的且需要快速分析,可以选择列式数据库;如果数据是非结构化的且需要横向扩展,可以选择NoSQL数据库。
处理需求:根据对数据的处理需求,选择适合的存储方式。例如,如果需要进行大规模并行计算,可以选择分布式文件系统。
成本考虑:不同的存储方式有不同的成本,需要综合考虑成本与性能之间的平衡。