炎凰数据:一篇文章教你用读时建模搞定异构数据

  • A+
所属分类:安全闲碎
炎凰数据:一篇文章教你用读时建模搞定异构数据
撰稿 | 流苏
编辑 | 图图



炎凰数据:一篇文章教你用读时建模搞定异构数据


随着万物互联时代的到来,大量的数字化设备每时每刻都在井喷式地产生数据。它们往往来源不同,格式不一,是企业难以高效处理的异构数据。因此,这些数据要么极少被访问,白白浪费存储成本;要么是需要经过写时建模(schema on write)的清洗、转换和预载(ETL)处理后才能使用。

炎凰数据:一篇文章教你用读时建模搞定异构数据


当下,企业新业务领域层出不穷,使得未来需要的数据模型难以预测,导致ETL持续地消耗大量的人力物力,却依旧无法很好地处理异构数据。


总的来说,异构大数据的处理难点主要在于如何满足以下三点需求:

1.数据海量多样:现代大数据应用中,不仅数据量大,数据类型也纷繁复杂。一个企业拥有众多不同系统产生的各种异构数据,这些数据需要有统一的存储手段和索引工具。

2.高效查询分析:只有对数据进行高效的查询和分析,才能通过历史数据了解过去,通过实时数据感知现在,将两者结合起来提取和挖掘有效信息从而洞察未来。

3.便捷展示分享:在面对复杂多变的业务需求和问题时,需要能灵活便捷地展示和分享分析结果,才可以帮助用户快速实现数据到价值的转变。


因此,一种支持对海量异构数据进行高效存储索引、查询分析和便捷展示的数据处理方式成为了企业的迫切需求。为了满足这一需求,炎凰数据平台作为新一代异构大数据即时分析平台应运而生,首先在国内自主实现了能够有效处理异构大数据的读时建模(schema on read),并将真正助力企业的数字化转型。那么,炎凰数据究竟是怎么做到的呢?本文将重点介绍炎凰数据对于读时建模的探索和实践。


炎凰数据:一篇文章教你用读时建模搞定异构数据


炎凰数据平台架构 



无模式数据采集和索引


炎凰数据平台以读时建模为核心,而读时建模的首要特性是支持无模式数据采集和索引,从而解决了数据海量多样的问题,奠定了炎凰数据平台处理异构数据的基础。


与需要预先定义数据模型的传统数据系统不同,在炎凰数据平台上无须预定义数据模型,通过简单的配置就可以接收来自Fluentd、gRPC、REST等各类API的数据推送,也可以从文件、消息队列、数据库等多种数据源拉取数据。数据进入后,经过事件切分和时间戳抽取等处理,得到由时间戳等内建字段和原始数据组成的一条条事件记录,从而完成数据采集。


炎凰数据:一篇文章教你用读时建模搞定异构数据


其次,炎凰数据平台在事件记录的基础上,融合了读时建模的灵活和写时建模的查询效率,设计并实现了新型的数据索引,不仅能在保证数据完整性的同时维持较高的数据导入速度,还支持同时在多个数据源、不同数据模型上进行查询。此外,因为查询往往需要限制在某个时间窗口内,而且事件的关联也可以通过时间先后来发现,因此时序对于数据分析至关重要。炎黄数据平台的索引也针对数据时序进行了优化,从而提高了时间窗口限制、关键词匹配、范围限制等常用查询的速度。


最后,数据和索引分层次按列存储并持久化保存,这样可以充分利用不同速度和成本的存储设施,还减少了不必要的I/O和序列化开销,也为后续向量化执行提供了数据存储方面的基础。



高效SQL查询和分析


从数据的生命周期来看,采集、存储之后便是查询和分析。炎凰数据平台支持对数据的高效查询和分析,而在查询分析过程中的多种字段生成方式则体现了读时建模的灵活性: 


* 可解析JSON、CSV、XML、KV等常见格式的数据;


炎凰数据:一篇文章教你用读时建模搞定异构数据


* 可通过正则表达式提取,如提取特定的IP地址生成新字段; 


炎凰数据:一篇文章教你用读时建模搞定异构数据


* 可通过计算已有字段和表达式生成计算结果作为新字段,例如求和、平均值等; 


炎凰数据:一篇文章教你用读时建模搞定异构数据


* 可通过查找(lookup)表生成,例如通过IP地址字段和IP地址-主机名的查找表找到对应的主机名,生成主机名这一新字段。 


炎凰数据:一篇文章教你用读时建模搞定异构数据


当然,这些仅仅是炎凰数据平台的一小部分功能。可以明确的是,正是因为这些功能,数据字段和模型可以在查询的执行过程中逐渐构建。当数据处理或信息提取的需求发生变化时,只需要简单更新规则配置或者查询语句,而无须费时费力地重新导入、清洗数据或者执行数据迁移。在信息安全、运维等领域或者业务需要快速迭代的场景下,未来的数据模型和查询无法预估,因而需要大量的临时建模和查询, 读时建模的灵活性将会特别有帮助,从而为高效的查询分析打下坚实的基础。


而在具体实现上,炎凰数据平台以广为使用的标准SQL作为查询语言,除了支持过滤,映射,去重,聚合,排序,关联等基本SQL查询能力之外,还提供了大量标量函数和表函数的扩展,同时也支持用户自定义函数。整个查询经过了大量的优化,如表达式优化、下推等。而查询执行过程也充分利用了现代处理器、编译器的各种能力,如应用了SIMD指令集向量化执行、即时编译计算表达式生成等诸多工程实现,实现了线程级和数据级的高效并行执行。


炎凰数据:一篇文章教你用读时建模搞定异构数据



快速可视化


在数据使用和展示部分,炎凰数据同样有着诸多准备,可帮助企业快捷展示、分享搜索结果。例如炎凰数据平台提供了大量开箱即用的图表,通过拖拽就能够随意调整样式布局,从而无须代码就可以生成直观简洁的可交互实时数据大屏或者报表,并且支持一键保存和分享。这样,用户只需要专注于业务场景的数据分析和展示,再也不需要在可视化的具体实现和适配上耗费精力。


 炎凰数据平台仪表板

炎凰数据:一篇文章教你用读时建模搞定异构数据
炎凰数据:一篇文章教你用读时建模搞定异构数据
炎凰数据:一篇文章教你用读时建模搞定异构数据
炎凰数据:一篇文章教你用读时建模搞定异构数据
炎凰数据:一篇文章教你用读时建模搞定异构数据



从上文可以得知,炎凰数据处理平台涵盖了数据处理生命周期的全过程。它以读时建模为核心,采用了和传统数据处理分析不同的思路,拥有了高效处理异构数据的基础,同时还融合了写时建模的能力,提供了高效处理、分析和展示异构大数据的能力,却又避免了繁琐的ETL,也不需要投入大量的人力和物力。

 

同时,面对企业不断变化的业务和不同的数据处理要求,炎凰数据平台无须重新导入或迁移数据,再加上大量开箱即用的图表,让数据变的更加全面、灵活和易用,可以快速跟上业务的迭代与变化。

 

这就是炎凰数据平台,提高了数据的使用效率,以更高效的处理方式,更低的成本挖掘出数据更多的价值。炎凰数据,开启异构大数据处理的新时代,让我们共同期待最新产品发布会。


 


推荐阅读

团队 | 炎凰数据:这群做国产基础软件的人


炎凰数据:一篇文章教你用读时建模搞定异构数据


炎凰数据:一篇文章教你用读时建模搞定异构数据
点击“阅读原文”,开启你的数字化转型之路。
炎凰数据:一篇文章教你用读时建模搞定异构数据


炎凰数据:一篇文章教你用读时建模搞定异构数据

本文始发于微信公众号(安在):炎凰数据:一篇文章教你用读时建模搞定异构数据

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: