首页 > 编程知识 正文

大数据应用在哪些方面,大数据时代怎么保护隐私

时间:2023-05-03 23:50:57 阅读:53316 作者:872

目录1结构布局1.1行存储数据数组1.2列存储数据数组2对比3优化4总结

1结构布局

目前,大数据存储有两种方案:原始存储和列存储。 业界在两种存储方案之间存在许多竞争,重点是谁可以更高效地处理大量数据,同时兼顾安全性、可靠性和完整性。 从目前的发展状况来看,相关数据库还不能适应如此巨大的存储量和计算要求,基本被淘汰。 在已知的几个大数据处理软件中,Hadoop的HBase采用列存储,MongoDB为文档型原始存储,Lexst为二进制原始存储。 这里不讨论这些软件的技术、优缺点,只围绕机械磁盘的物理特性分析原始存储和列存储的存储特性,以及由此产生的一些问题和解决方案。

1.1行存储数据数组常规MySQL、oracle结构化数据存储

1.2列存储数据数组

在列存储中,存储空间中的下一个对象将从同一记录的下一个属性转换为下一个记录的相同属性。 虽然这转了90圈。 的存储方法并不减少数据量,但有以下好处:

)大数据APP应用往往需要批量访问列数据(如果用户主要关注同一属性的统计特性),此时列存储方式的优势显现,列存储方式与行存储方式相比对属性的访问非常快,相关报道称

(2)有利于提高数据的压缩率,同类数据一起存储有助于提高数据之间的相关性,有利于高效压缩算法(如笔划压缩算法等)的实施。

表的灰色背景部分表示矩阵结构,白色背景部分表示数据的物理分布。 这两个存储数据都从上到下、从左到右排列。 这些横向一列地存储在硬盘上。 这样,行包含完整的记录,列包含多个记录的同一字段数据。 原始存储以一行记录为单位,列存储以列数据的集合为单位,或称为列族。 原始存储的读写过程是一致的,从第一列开始,到最后一列结束。 列存储读取是列数据集的一部分或全部数据,写入时将一行记录分成多个列,每列的数据添加到相应列的末尾。

2比较

从上表中可以看到,对原始存储的写入操作一次完成。 如果在操作系统的文件系统上构建这样的写入,将保证写入过程的成功或失败,并保证数据的完整性。 列存储需要将一行记录分成一列进行存储,因此写入次数明显多于行存储,而且磁头在磁盘上移动和定位所需的时间较长,实际时间消耗较大。 因此,原始存储对写入具有很大的好处。

也有数据的修正。 这实际上也是一个写入过程。 区别在于,数据的更改是将磁盘上的记录标记为删除。 原始存储器写入指定位置一次,列存储器通过将磁盘放置在多个列中分别写入。 此过程保持为原始存储的列数倍。 因此,数据更改在原始存储方面也很好。 读取数据时,原始存储通常完全读取一行数据。 如果只需要其中几列数据,则存在冗馀的列。 从缩短处理时间的观点出发,消除冗馀列的过程通常在内存中进行。 每次读取时,列存储的数据都是集合的一部分或全部,如果要读取多个列,则必须移动磁头,使其再次位于下一列的位置并继续读取。 谈两种存储的数据分布。 存储在列中的各列的数据类型相同,因此没有二义性问题。 例如,如果一列的数据类型为整数(int ),则该数据集合始终为整数数据。 这使数据分析变得非常容易。 相比之下,原始存储非常复杂。 由于一个行记录包含多种类型的数据,因此数据分析需要在多种类型的数据之间频繁转换,这将消耗CPU并增加分析时间。 因此,列存储分析过程有助于分析大数据。

3优化表明,这两种存储格式都有各自的优缺点。 原始存储的写入一次完成,比列存储消耗的时间少,可以保证数据的完整性。 缺点是读取数据时会产生冗馀的数据。 如果只有少量数据,这种影响可以忽略。 量大可能会影响数据的处理效率。 列存储在保证写入效率、数据完整性方面不如行存储,具有读取时不生成冗馀数据的优点。 对于不要求数据完整性的大数据处理领域(如互联网),这仍然很重要。

改进集中在两个方面:在原始存储读取过程中避免冗馀数据的产生,列存储提高读写效率。

如何改善缺点,保证优点呢?

改善原始存储:减少冗馀数据首先是在用户定义数据时避免出现冗馀列。 其次,优化数据存储器的记录结构,保证从盘读出的数据在进入存储器后迅速分解,消除冗馀的列。 要知道,目前市场上最低的CPU和内存也比机械磁盘快100-1000倍。 使用高端硬件配置,此过程会更快。

列存储有两个改进。 1 .在计算机上安装多个硬盘,以多线程并行方式读写。 通过并行运行多个硬盘,可以减少磁盘读取和写入冲突。 这对提高处理效率是非常大的好处。 缺点是需要更多的硬盘,增加了投资成本,在大型数据处理APP应用中数量不少,运营商需要认真研究这个问题。 2 .对于正在写入的数据完整性问题,可以考虑在写入过程中嵌入类似关系数据库的“回滚”机制。 如果某列中的写入失败,则在禁用所有以前写入的数据的同时,还会进行哈希代码检查,以进一步保证数据的完整性。

这两种存储方案有共同改进的地方。 频繁的少量数据写入对磁盘有很大的影响。 更好的解决方案是将数据临时存储和组织在内存中,达到一定数量后一次写入磁盘,从而减少消耗时间。 目前,机械磁盘的写入速度为20M-50M/秒,可以批量写入磁盘,效果很好。

4总结

p>两种存储方式各自的特性都决定了它们都不可能是完美的解决方案。如果首要考虑的是数据的完整性和可靠性,那么行存储方式是不二的选择,列存储方式只有在增加磁盘并改进软件设计后才能接近这样的目标。如果以保存数据为主,则行存储方式的写入性能比列存储方式高很多。在需要频繁读取单列数据的应用中,列存储方式是最合适的。如果每次读取多列数据,则两个方案可酌情选择:采用行存储方式时,设计中应考虑减少或避免冗余列;采用列存储方式时,为保证读写效率,每列数据应尽可能分别保存在不同的磁盘上,多个线程并行读写各自的数据,这样就可避免磁盘竞用的同时提高读写效率。无论选择哪种存储方式,将相同属性的数据存放在一起都是必需的,可减少磁头在磁盘上的移动,提高数据的读写效率。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。