[saiku] saiku-添加数据源以及保证数据源的一致性
采用任何一种添加数据源的方式都不能保证数据源的一致和完整,所以需要两种结合来管理数据源
1、通过saiku的管理台添加数据源
① 第一种方式:schema和ds都在管理台添加
1)上传schema文件
选择文件系统中任意位置的schema文件
任意填写schema名字 - sw.mondrian
点击上传按钮
上传成功
2)配置数据源
type=OLAP
name=SteelWheels
driver=mondrian.olap4j.MondrianOlap4jDriver
location=jdbc:mondrian:Jdbc=jdbc:mysql://localhost:3306/SteelWheels;Catalog=mondrain:///datasources/sw.mondrian.xml;JdbcDrivers=com.mysql.jdbc.Driver;
username=root
password=root
注意:Catalog=mondrain:///datasources/sw.mondrian.xml;
② 第二种方式:在管理台只添加ds
1)将schema文件SteelWheels.mondrian.xml添加到classes/saiku-schemas文件夹下
2)配置数据源
type=OLAP
name=SteelWheels
driver=mondrian.olap4j.MondrianOlap4jDriver
location=jdbc:mondrian:Jdbc=jdbc:mysql://localhost:3306/SteelWheels;Catalog=res:saiku-schemas/SteelWheels.mondrian.xml;JdbcDrivers=com.mysql.jdbc.Driver;
username=root
password=root
注意:Catalog=res:saiku-schemas/SteelWheels.mondrian.xml;
1)说明: 通过这种方式添加的数据源在项目重新启动之后仍然生效 2)原因: 系统第一次部署启动后会在classes/saiku-repository/data文件夹下面生成JCR文件夹结构和相关文件
此时系统里没有任何的OLAP数据源
当我们在管理台创建了OLAP数据源以后,JCR会新增相应的OLAP数据源节点
所以只要classes/saiku-repository/data文件夹下面的文件存在
重启并不会删除这些JCR文件
因此数据源配置就不会失效 3)但是: 一旦我们删除了原来的整个项目,重新部署(JCR相关文件没有了)
或者只是简单的删除了classes/saiku-repository/data文件夹下面的所有文件
这时候,以前在管理台添加过的OLAP数据源就不存在了 4)结论:
管理台添加的OLAP数据源重启系统不会失效,重新部署系统失效 5) 解决: 通过代码加载OLAP数据源
2、通过代码加载OLAP数据源
思路: 将所有schema文件放在saiku-schemas文件夹下面
所有OLAP数据源配置文件放在saiku-datasources文件夹下面
然后在系统初始化的时候解析saiku-datasources文件夹下面的配置文件生成saikuDS对象
获取系统JCR中存在的DSList
判断DSList中是否已经存在新建的saikuDS对象
如果不存在 就执行新增数据源的操作 存在就什么也不操作 当系统 1)第一次部署/重部署/JCR文件结构不存在的时候,DSList必然为空
所有的saikuDS都会新增成为OLAP数据源加入到JCR结构中 2)当重启动系统时,JCR文件存在,DSList和saikuDS比对
如果此时saiku-datasources文件夹下面的OLAP配置文件没变化,不做任何操作
如果新增了OLAP配置文件,则添加新的数据源到JCR结构中 这样就完美的解决了重部署失效的问题
但是:如果用户从管理台新建一个OLAP数据源,这个新建的DS在重新部署后也会失效的 解决:
用户在管理台新建OLAP数据源的时候
不仅要添加在JCR结构中
还要在代码的最后一步将配置信息生成olap配置txt文件保存在saiku-datasources文件夹下面
这样一来就能保证数据源的一致性了
[saiku] saiku-添加数据源以及保证数据源的一致性的更多相关文章
- saiku-添加数据源以及保证数据源的一致性
采用任何一种添加数据源的方式都不能保证数据源的一致和完整,所以需要两种结合来管理数据源 1.通过saiku的管理台添加数据源 ① 第一种方式:schema和ds都在管理台添加 1)上传schema文件 ...
- 43. Spring Boot动态数据源(多数据源自动切换)【从零开始学Spring Boot】
[视频&交流平台] àSpringBoot视频 http://study.163.com/course/introduction.htm?courseId=1004329008&utm ...
- (43). Spring Boot动态数据源(多数据源自动切换)【从零开始学Spring Boot】
在上一篇我们介绍了多数据源,但是我们会发现在实际中我们很少直接获取数据源对象进行操作,我们常用的是jdbcTemplate或者是jpa进行操作数据库.那么这一节我们将要介绍怎么进行多数据源动态切换.添 ...
- SpringBoot多数据源动态切换数据源
1.配置多数据源 spring: datasource: master: password: erp_test@abc url: jdbc:mysql://127.0.0.1:3306/M201911 ...
- SpringBoot之多数据源动态切换数据源
原文:https://www.jianshu.com/p/cac4759b2684 实现 1.建库建表 首先,我们在本地新建三个数据库名分别为master,slave1,slave2,我们的目前就是写 ...
- Spring Boot 动态数据源(多数据源自动切换)
本文实现案例场景: 某系统除了需要从自己的主要数据库上读取和管理数据外,还有一部分业务涉及到其他多个数据库,要求可以在任何方法上可以灵活指定具体要操作的数据库. 为了在开发中以最简单的方法使用,本文基 ...
- [原创]SSAS-引用维度与多数据源、多数据源视图引发分区错误
背景: 最近有个项目,有32家分公司,集团总部需要取这个32家分公司数据做分析,由于每个分公司的数据都比较庞大,所以最终方案是每个分公司一个DW,在cube搭建过程中将每个公司数据作为一个 ...
- JDBC 学习笔记(三)—— 数据源(数据库连接池):DBCP数据源、C3P0 数据源以及自定义数据源技术
本文目录: 1.应用程序直接获取连接的缺点(图解) 2.使用数据库连接池优化程序性能(图解) 3.可扩展增强某个类方法的功能的三种方式 4.自定 ...
- spring+myBatis 配置多数据源,切换数据源
注:本文来源于 tianzhiwuqis <spring+myBatis 配置多数据源,切换数据源> 一个项目里一般情况下只会使用到一个数据库,但有的需求是要显示其他数据库的内容,像这样 ...
随机推荐
- Docker常用命令汇总,和常用操作举例
Docker命令 docker 常用命令如下 管理命令: container 管理容器 image 管理镜像 network 管理网络 node 管理Swarm节点 plugin 管理插件 secre ...
- 利用Minhash和LSH寻找相似的集合(转)
问题背景 给出N个集合,找到相似的集合对,如何实现呢?直观的方法是比较任意两个集合.那么可以十分精确的找到每一对相似的集合,但是时间复杂度是O(n2).当N比较小时,比如K级,此算法可以在接受的时间范 ...
- phpstudy一个域名配置两个网站(一个是thinkphp5,一个是原生php)
phpstudy一个域名配置两个网站(一个是thinkphp5,一个是原生php) 一.总结 一句话总结:把原生php的网站直接放到thinkphp5的public目录下可以解决以stem.aaaa. ...
- SQLPLUS的乱码问题
我的中文系统,把对应非unicode字符时的设置,改成了 日文, 结果控制台使用sqlplus时候,总是出现乱码. 解决方法是,把NLS_LANG环境变量变成跟系统一样,就可以了. american_ ...
- 10046event vs 10053event做了哪些操作
10046 event 告诉我们oracle做了哪些事情,做的怎么样.10053 event 告诉我们oracle优化器怎么想的,再给出成本最低的最终的优化方案,考虑了哪些执行计划拿了哪些统计信息
- Python3 内建函数一览
###################################################### """Python3 内建函数大全""& ...
- [转载]CentOS 6.3安装Subversion服务器
转载自http://www.cnblogs.com/zhoulf/archive/2013/02/02/2889949.html 安装说明 系统环境:CentOS-6.3 安装方式:yum insta ...
- 在Google Maps中导出KML文件
教你一招:在Google Maps中导出KML文件 2011-07-11 15:24:49 4819 人阅读 作者:上方文Q 编辑:上方文Q [复制链接] [爆料] Google Earth的一大乐趣 ...
- 【转】MongoDB 3.0 正式版本即将发布,强力推荐
MongoDB 今天宣布3.0 正式版本即将发布.这标志着 MongoDB 数据库进入了一个全新的发展阶段,提供强大.灵活而且易于管理的数据库管理系统. MongoDB 3.0 在性能和伸缩性方面都有 ...
- python3 读入一个jpg格式的图片,并转换长宽像素个数,然后进行绘制
import matplotlib.pyplot as plt from scipy import ndimage import numpy as np import scipy fname=&quo ...