大数据的增长带来了对不断增长的处理能力和高效存储的需求。例如,DigitalGlobe 的数据库每天大约扩展 100TB,估计每月存储成本为 50 万美元。
压缩大数据可以通过减少数据集所需的存储量和带宽来帮助满足这些需求。压缩还可以删除不相关或冗余的数据,使分析和处理更轻松、更快速。
您可能还喜欢:如何将数据压缩 90%。
大数据压缩的提示和注意事项
为了最大化数据的价值,您需要能够最大化存储和处理资源并最大程度地降低成本。
考虑添加协处理器
压缩数据时,必须使用可用于分析或处理的计算资源和时间。如果资源被压缩占用,您的工作效率将下降,直到压缩完成。为了避免这种功耗和时间损失,请考虑向系统添加协处理器。
现场可编程门阵列 (FPGA)是微芯片,可自定义配置为机器的附加处理器。您可以使用 FPGA 加速硬件,并与主要中央处理单元 (CPU) 共享计算责任
您可以将 FPGA 处理能力用于压缩数据并对这些芯片进行队列压缩作业。通过对作业进行排队,无需等待资源可用于压缩。由于您的主 CPU 不再被数据压缩所垄断,因此您可以继续分析和处理,而无需等待。
称量压缩类型
压缩数据时,您可以在无损或无损方法之间进行选择。无损压缩通过将重复的数据替换为变量或对文件中数据的第一个实例的引用来保留所有数据。
有损压缩可消除数据,从而大致近似数据最初是什么。无损压缩通常用于数据库、文本文档和其他离散数据。有损压缩通常用于图像、音频或视频。
虽然无损压缩可确保在解压缩时检索所有数据,但它也占用的存储空间比损耗更大。为了适应这种差异,您可以考虑使用两种压缩方法,具体取决于数据类型。
例如,您可以压缩不需要高分辨率的机器学习的视频或图像集。如果您对集使用内容管理系统,通常包含用于自动压缩视频大小或优化图像的功能。
仔细选择编解码器
编解码器是压缩机/解压缩器的缩写。它是指软件、硬件或两者的组合。您可以使用编解码器将数据应用压缩/解压缩算法。
能够使用的编解码器类型取决于您尝试压缩的数据和文件类型。它还取决于是否需要压缩文件是可拆分的。可拆分文件可以由不同的处理器并行处理com/文章/gzip-压缩和解压缩-变压器与mule”rel=”nofollow”=gzip = 提供不可分割的无损压缩。它通常用于 HTTP 压缩。格子压缩比约为 2.7x-3x。压缩速度在 100MB/s 之间,解压缩速度约为 440MB/s。
优化 JSON 性能
JavaScript 对象符号 (JSON) 格式通常用于序列化和传输 Web 应用程序的结构化数据。这意味着收集的大部分大数据都以 JSON 格式存储。
遗憾的是,在大数据工具(如 Hadoop)中使用 JSON 文件可能会很慢,因为它既不是架构式文件,也不是强类型化文件。要解决此问题,您可以通过以Parquet或Avro格式存储文件来优化 JSON 性能。
Parquet 是一种基于列的格式,可压缩和可拆分。Parquet 将数据存储在带有元数据的二进制文件中。此结构使 Spark 等工具能够确定列名称、数据类型以及压缩和编码,而无需分析文件。Parquet 存储元数据的顺序支持快速、单通道写入。
如果您只需要访问特定字段,则 Parquet 最有用。遗憾的是,无法从流数据创建此格式。它通常用于读取繁重的工作负载和复杂的分析。
Avro 是一种基于行的格式,可拆分和可压缩。Avro 文件具有以 JSON 格式存储的架构和以二进制格式存储的数据。此结构可减小文件大小并最大限度地提高效率。
Avro 可以从流数据创建,如果需要访问数据集中的所有字段,则 Avro 最有用。它通常用于编写繁重的工作负载,因为可以简单快速地添加新行。
结论
大数据的压缩正成为许多企业维持成本和生产力的关键。值得庆幸的是,正在研究和创造新的技术和算法,以满足这一需求。
希望此处介绍的压缩方法和优化策略可以帮助您管理数据,直到有更好的选项可用。通过利用现有工具,您应该能够在降低成本的同时获得竞争优势。