一、FineBI分布式引擎介绍
FineBI分布式引擎是帆软自主研发的一款支撑大数据展示分析的高性能引擎,也是FineIndex引擎的更新与升级。全新的分布式引擎在架构上更先进,更加稳定,高可用,高扩展,更高性能,可帮助企业更灵活应对海量数据分析的挑战,是专门为海量数据计算分析而生的引擎。
(1)更先进:FineBI分布式引擎整合了现下先进流行的hadoop、spark、alluxio等大数据组件,更先进的技术保证了更大数据量下更好的分析计算体验。
(2)高可用:先进的大数据组件整合的架构,结合合理的系统架构设计,可保证系统全年无故障,全年可正常使用。
(3)横向扩展:引擎在使用时,可自行根据数据量与计算速度的要求,扩展系统中的节点。
(4)更高性能:应用分布式并行计算、内存加速、列式存储等先进的大数据技术,保证亿级数据分析结果秒级展现。
二、FineBI分布式引擎功能与优势
FineBI分布式引擎与FineInde引擎、大数据平台属同等地位,可直接为前端的查询分析计算提供数据支撑。
1、版本
FineBI分布式引擎包括了两个版本,本地版本和集群版本。
本地版本数据计算存储和应用是一体化的,用于数据量级在亿级以下单台机器性能可以支撑的情况,不需要分布式服务端。本地版本直接采用本地文件系统作为核心存储,配合多线程调用、列式存储,和集群版本一样的高性能算法,保持轻量级之余,数据增大之后扩展的需求也能满足,且计算速度一样优秀。
集群版本有服务端-客户端之分,服务端整合了现在流行的hadoop、spark、alluxio等组件,通过Ambari来做集群的部署安装,以及集群状况的监控,让大数据软件部署与使用变得更加简单。而客户端就是FineBI所在的应用服务器,放置jar与配置文件与分布式环境对接之后,使用浏览器访问FineBI服务器即可。
2、列式存储与数据压缩
传统的关系型数据库是行式存储,以记录为单位做存储的,这种方式在做分析计算上会比较慢。百万到千万量级的数据,分析计算展示的时间可能就需要30多秒到1分钟,业务人员想自己做分析,然而一直等待就会失去耐心,因此FineBI推出了中间存储层,来为前端分析提供预处理好的数据,数据展现达到秒出效果。
数据存储主要分为行式存储和列式存储。行式存储以记录为单位,列式存储则以列为单位。分布式引擎的核心就在于列式存储。相比于行式存储,列式存储在计算查询分析的业务场景下有着诸多优点。
(1)同一列的数据都是连续存储的,在查询时可大幅降低IO,大幅加快查询速度。
(2) 同时连续存储的列数据,具有更大的压缩单元和数据相似性,从而大幅提高压缩效率与压缩比,可以大大降低磁盘I/O与资源的占用。
(3)利用索引在过滤时可进一步减少I/O,提高扫描效率。
3、对大数据的良好支撑
传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。
分布式存储系统可根据企业分析数据量的增加,来扩展机器的节点。多节点可利用多台存储机器的性能,均衡分担压力,提供完善的数据恢复机制。同时,分布式的架构可允许集群节点无限扩充,提高系统扩展能力。三台及以上节点的情况下,可以允许近半数机器宕机,系统依然可以正常运行。强大的容灾能力保证了分析数据的完备性,降低了项目风险,提高了系统的健壮性。目前可以支撑十亿左右的大数据量即席分析。
4、解决方案的灵活选择
(1)实时数据与历史数据的整合分析
带分布式引擎的FineBI可以将数据抽取过来存储到分布式引擎中,用于历史数据分析,也可以直接向数据库发SQL,用于实时计算分析。
同一个表可以直接对接数据库分析,也可以抽取数据进行分析,两种方式可以随意切换,实时性强选择实时数据,性能要求高选择抽取数据。且可以实现实时数据与历史数据的关联分析,实时数据与历史数据也可在同一Dashboard中展示,从而扩大分析维度的范围。
(2)整合Kettle插件
分布式引擎扩展了kettle插件,数据可以经过Kettle的清洗转换之后,表输出到分布式引擎,在前端展示分析。从数据整合处理到数据展示分析有灵活完整的解决方案,让项目的实现更加灵活方便。
5、高性能增量方案
FineBI分布式引擎需要做数据的抽取与同步,因此好的增量同步方案可以节约数据抽取时间,减小数据库服务器压力。FineBI分布式引擎提供增量追加与增量删除的功能,并可使用增量删除与追加的组合实现增量修改的功能,从而满足更多数据同步需求。
转自:
http://blog.vsharing.com/fr51862240/A1950965.html |