随着各个业务系统的不断增加,以及各业务系统数据量不断激增,业务用户的分析诉求越来越多且变化很快,IT数据支撑方的工作变得越来越复杂。
1、数据来自多个不同的系统,存在需要跨数据源分析,需要对接各种不同数据源等问题。
2、需要分析的数据体量越来越大,并且要快速获得分析结果的问题。
3、部分数据还需要二次加工处理的问题。
为了解决日益激增的大数据量分析诉求,大部分公司会通过搭建Hadoop、Spark等大数据架构,配以BI工具做数据层面的分析,来搭建这样一整套大数据分析平台。
大数据分析很关键的一个点在于性能:取数快不快,分析响应快不快,能否实时?
这个问题除了平台的底层架构,BI的运行性能也有很大相关。
大家可能普遍认为的BI,就是一个数据展现工具,在前端看起来没有太多有技术含量的操作,但背后的逻辑十分复杂,实现难度也很大。就像看得到的是冰山一角,看不到的是海水下绝大部分的支撑。
好的BI工具都有与之依赖的数据引擎,数据引擎的作用一方面是数据响应的性能(数据量、速率),还有很重要的一点是能否适应企业不同业务情况的模式/方案。比如小数据快速读取,大数据分布式并行运算,节点数据实时展现等等.....
FineBI V5.0版本就是一个可以支撑以上需求的工具,背后依赖的是Spider大数据引擎。
Spider高性能引擎可以支撑10亿量级数据在BI前端快速的拖拽分析和展示,且有高可用架构设计保证数据引擎全年可支撑业务分析。Spider引擎的前世今生
为什么叫Spider引擎呢?听起来很像爬虫软件,和数据分析又有什么关系呢?
一则是字面翻译过来的意思——蜘蛛,从蜘蛛就很容易联想到结网。从结网的角度的看,有两个含义,一是将之前已有的引擎功能全部联结在一起,因为5.0引擎实现了实时数据与抽取数据的对接与灵活切换;二是5.0数据引擎比较重要的分布式模式,这种模式是由各个组件组合起来的架构,结网就是将这些组件联结起来的意思。
二则是谐音法拉利的一款敞篷跑车。跑车嘛,速度快。这款跑车做了加长与加宽设计,使其更稳定,保持性能且更安全。恰好与我们的数据引擎理念不谋而合。
因此,就取名Spider引擎。
再来说说它的发展史。
FineBI的数据引擎从起初做数据抽取的cube/FineIndex引擎,发展到后来开发了直连引擎/FineDirect引擎。再到2016年开发,17年到18年迅速扩展到60多家客户使用的分布式引擎。引擎功能与支撑数据量都在伴随着时代的发展不断进步。然而引擎类别繁多,用户理解与使用都是问题。
因此,到v5.0版本,将引擎做了大一统,Spider引擎将之前所有引擎功能全部囊括其中,抽取数据与实时数据可互相切换,本地模式可根据数据量情况扩展为分布式模式,使用与理解上都更加简单了。
定位和亮点
Spider作为数据引擎,在FineBI中扮演着支撑数据分析的角色,强大的数据处理与计算能力为前端的灵活快速应用分析提供强有力的支撑。
Spider引擎的本地模式,利用本地磁盘存储,并行数据计算,在小数据量情况下,展示效果优异,且轻量方便。
在数据量激增之后,可横向扩展机器节点,利用Spider引擎专为支撑海量大数据分析而生的分布式方案。Spider引擎分布式模式,结合Hadoop大数据处理思路,以最轻量级的架构实现大数据量高性能分析。此分布式方案集成了Alluxio 、Spark、 HDFS、zookeerer等大数据组件,结合自研高性能算法,列式存储、并行内存计算、计算本地化加上高性能算法,解决大数据量分析问题以及在FineBI中快速展示的问题。同时从架构上保证了引擎系统全年可正常使用。
Spider引擎的直连模式,可以直接对接数据库做实时大数据分析。将用户在FineBI前端拖拽分析的操作,实时地转化为经过处理的查询语言,实现对企业数据库的数据进行实时分析的效果。
直连模式的实时数据与本地模式以及分布式模式下的抽取数据可以灵活转换,使得分析更加灵活方便。
引擎亮点:
(1)引擎支撑前端快速地展示分析,真正实现亿级数据,秒级展示。
(2)用户可以根据数据量、实时性要求、使用频次等,自由选择实时或抽取的方式,灵活满足实时数据分析与大数据量历史数据分析的需求。
(3)抽取数据的高性能增量更新功能,可满足多种数据更新场景,减少数据更新时间,减少数据库服务器压力。
(4)合理的引擎系统架构设计可保证全年无故障,全年可正常使用。
在数据源支持上,常规的数据源都可支持,无需担心数据源支持问题。
在抽取数据时候,异步数据抽取保证效率。列式存储字典压缩可将数据以多倍压缩之后存储过来,不存在数据膨胀的问题,数据量激增之后,硬件成本也不会增加。(如下所示,数据量越大,抽取之后数据压缩情况越好)。
智能位图索引、分页引擎,本地模式下的多线程计算,分布式模式下的内存计算、分布式计算和数据本地化都带来秒速数据展示的效果。(上图是100w大分组的场景,速度是秒;下图是普通操作场景)。
同时,分布式数据存储系统的HA,保证数据计算稳定性,使得数据引擎可以为业务系统全年提供稳定支撑服务。
使用实时数据的时候,设置参数、智能缓存等都能充分发挥数据库的性能。带来最佳性能体验。
客户案例
Spider引擎在FineBI v4.1版本是直连引擎与分布式引擎的结合,此版本已经从17年投入使用,目前已有60多家客户在正式投入使用,覆盖了保险银行、证券基金、餐饮零售、畜牧、通信、互联网、能源化工行业等数十个行业。