多维分析平台saiku内容仓库的实现原理的分析

1、saiku的介绍

saiku是一个轻量级的OLAP分析引擎,可以方便扩展、嵌入和配置。Saiku通过restful连接OLAP系统,利用其友好的界面为用户提供直观的分析数据的方式。saiku目前最新的版本是3.17,底层查询是通过mondrian4.3实现。在多维分析BI领域,saiku通常是web层,底层通常是mondrian+kylin的组合。其中mondrian负责数据的抽取,kylin则是负责大数据的分析。下面是saiku的实现大数据平台的架构图:

saiku+mondrian+kylin

2、saiku内容仓库的三种方式

saiku内容仓库有三种实现方式,分别是ClassPathRepositoryManager、MarkLogicRepositoryManager、JackRabbitRepositoryManager。

saiku内容仓库三种实现方式

ClassPathRepositoryManager:将scheam和datasource等数据信息直接存储在应用程序的根目录下,即web-inf/classes目录。这种方式配置起来比较简单,但是跟项目结合得太紧,移植起来不方便。MarkLogicRepositoryManager:Marklogic是一个企业级的NoSQL数据库,可以存储、管理、搜索JSON和XML文档和图形数据。这种方式需要marklogic服务器端,同时在项目配置文件saiku-beans.properties指定repo.type=marklogic。如果应用部署在集群或分布式环境下,marklogic的独立部署,保证了元数据的唯一性。JackRabbitRepositoryManager:Apache Jackrabbit是基于java内容仓库仓库JSR170、JSR283的完全实现,支持存储结构化和非结构化内容。具有全文索引、版本管理、事务、锁、事件监听、访问控制等特性。这种方式将数据源等信息直接存入repository目录,内容和格式都是jsr规范的。如果要实现分布式,可以将jackrabbit以集群的方式部署,并且Jackrabbit的存储目录要求是共享的。


本文系作者在时代Java发表,未经许可,不得转载。

如有侵权,请联系nowjava@qq.com删除。

编辑于

关注时代Java

关注时代Java