BI实时图表实现数据可视化的原理
除去端到端之间极短的时间,数据实时可视化主要有四大步骤。这里我们用一张图来展示。
1、捕获数据流 实时数据流使用 scrapers、collectors、agents、listeners捕获,并且存储在数据库中。数据库通常是NoSQL数据库,例如, Cassandra、MongoDB, 或者有时候是你只是Hadoop Hive。关系数据库不适合这种高展现的分析。NoSQL数据库的崛起也增强了实时数据分析向他靠拢的趋势。 2、数据流处理 数据流可以通过许多方式处理,比如,分裂、合并、计算以及与外部数据源结合。这些工作由一个容错分布式数据库系统,比如, Storm、Hadoop,这些都是比较常用的大数据处理框架。但是他们却不是实时数据分析的理想选择。因为他们依赖MapReduce面向批量的处理。不过Hadoop 2.0允许使用其他计算算法代替MapReduce,这样使得Hadoop在实时分析系统中运用又进了一步。处理之后,数据就可以很可视化组件读取了。 3、数据可视化组件读取处理过的数据 处理过的数据以结构化的格式(比如JSON或者XML)存储在NoSQL数据库中,被可视化组件读取。在大多数情况下,这会是一个嵌入到一个内部BI系统的图表库,或者成为像派可BI这种更加广泛的可视化平台的一部分。处理过的数据在JSON/XML文件中的刷新频率,称为更新时间间隔。 4、可视化组件更新实时DASHBOARD 可视化组件从结构数据文件(JSON/XML),在图表界面绘制一个图表、仪表或者其他可视化行为。处理过的数据在客户端展现的频率叫做刷新间隔时间。在一些应用程序中,比如带有图表渲染功能的股票交易应用程序,会预先设置基于数据流的触发功能。 会不会觉得很复杂呢?只不过这些过程会在几秒钟内,甚至更短时间内完成。这些操作因为不断进步的数据库及实时功能变成现实,特别是NoSQL数据库。再由诸如Storm这种专用于实时进程处理的工具辅助,可以让其性能效果更上一层能。现在的可视化数据已经支持需求场景,在当今的大数据应用程序中建立了一个实时分析生态圈。
|