由于优化的列文件格式有助于大数据生态系统具有 SQL 查询功能,因此组织现在能够快速重新培训其现有数据仓库或数据库开发人员,并将其分析应用程序迁移到内部 Hadoop 群集或云中的廉价对象存储。
当在 2010 年代早期首次提出列拉尔文件格式时,其意图是在 Hadoop 文件系统之上启用更快的查询执行引擎。与传统的基于行的文件格式相比,列格式被显式设计为提供大大改进的查询性能。当查询表中的部分列集时,列式文件格式的性能比基于行的文件格式(在常规数据库和数据仓库中使用)要好得多。
开源开发人员社区和组织不断在列拉尔文件格式方面做出贡献,改进了列文件格式的编码和压缩。除了查询速度外,数据文件大小还显著减少了列格式。这些列文件格式开源项目中支持所有主要编程语言(如 Java、Python、C、C++或 Go)。
得益于最近的增强功能,列拉尔文件格式可用于许多地方,而不仅仅是在 Hadoop 群集或基于对象的云数据湖中使用。特别是在工业制造领域,列拉尔文件格式可以带来许多好处——减少系统延迟、降低系统成本和数据安全性。
下图显示了从边缘(工厂生产车间)到云的数据流。
在数据流 (1) 中,数据直接流式传输到云,无需进行大量数据准备。原始数据在云中整合,云中的 ETL 工具将处理这些原始数据流和结构数据,以便进一步进行操作分析。在此参考体系结构中,总体系统延迟主要是三个值的总和:将数据从云传输到云数据准备层的时间、批量在云中准备原始数据的时间以及将数据库中复制准备好的数据的时间.
在数据流 (2) 中,数据在 Cloudlet(通常称为框中的云)以几乎实时的小批量方式处理,并转换为列文件格式。由于数据已准备就绪,因此可以直接将数据插入到数据湖中。由于在数据准备中节省了大量时间,因此数据可在接近实时时进一步使用。
我使用上述数据流模式创建了两个集成,结果清楚地显示了在边缘层或 Cloudlet 层中使用列格式的好处尽管这是一个有限的测试,但它显示了数据流 (2) 比数据流 (1) 的令人信服的优势。
数据流 (1) |
数据流 (2) |
|
在 Cloudlet [a] 准备数据的时间 |
不适用 |
0.87 |
将数据从云传输到云的时间 [b] |
20.63 分 |
5.29 分 |
在云 [c] 准备数据的时间 |
1.305 分 |
不适用 |
整体系统延迟 [a_b_c] |
21.935 分 |
6.16 分 |
云 (GB) 的存储空间 |
1.256 GB |
0.25 GB |
主要优势:
速度:更少的数据准备和更小的文件大小有助于提高数据复制的整体速度。最重要的是,扩展能力成倍增加,无需任何额外费用。
数据传输成本:较小的文件大小(几乎比传统基于行的格式小 4 倍)降低了通过互联网将数据从内部传输到云数据湖的成本和时间。
存储成本:由于数据准备几乎从云中删除(根据数据流 (2)),并且数据文件大小降低,因此云存储成本将大大降低。
数据安全:在列格式(数据流(2)的情况下,从数据源到数据湖都可以进行加密,以确保数据安全。
可以如上所述,利用柱式数据格式为工业世界创建经济高效的实时运营分析解决方案。