mondrian 搭建olap服务的一些问题

终身开发者usun 2013-07-01 06:14:18
现在手上有个比较急的研究任务:基于mondrian,搭建一个olap服务,不使用jpivot。查询和配置都在.net端实现。
主要问题:
(1)要求mondrian支持一个不提供jdbc的的数据库。
(2)mondrian服务怎么搭建(我看例子是web项目,java项目可以吗),是否也涉及到服务的优化,缓存机制等
(3)mondrian多数据支持
看的头比较大,学习的东西也不系统。希望得到大牛们的指导帮助。不胜感激!

...全文
1753 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
Mr_JBean你讲的挺好的,谢谢 现在是连接的数据库存不支持jdbc,只提供了一套非标准的api.这个问题比较头疼…… 您有没有好的建议?哪个朋友做过类似的实现,请指点一二
JBean 2013-07-03
  • 打赏
  • 举报
回复
connnection的生命周期维护和jdbc的connection差不多,因为每次connection的open与close都需要对底层关系数据库连接的打开与关闭,以及装载schema、构建元数据等对象体系,所以最好对connection搞个对象池之类的。 缓存机制如果你没有特殊要求,不需要配置和维护,如果确实要自己控制,则可使用RolapSchema、MondrianServer、CacheControl等类里面的相关对象。如果有jdbc支持,肯定可以支持多种关系库,如果用配置文件支持的话,你只要在mondrian本身的配置文件里更改Connect string相关的属性即可,如果要支持动态连接到各类数据库,你需要维护connection,在链接之前给予合适的connection String(当然相应jdbc driver要在项目的classpath上)。如果不支持jdbc,但支持odbc的话,你可以尝试采用jdbc-odbc桥,也许可以。 不好意思,我没用mondrian多年了,只能粗略回答。
  • 打赏
  • 举报
回复
引用 1 楼 Mr_JBean 的回复:
第一点没试过,第三点没明白是什么意思。第二点,将mondrain配置为Web服务,客户端.net可以方便的访问。但是不要Web容器的话也可以,我们曾因为WS方式效率过低而在服务器端用java项目实现Socket连接池的方式接收mdx,返回ResultSet,这种方式做得好的话非常好用。你只要在java项目中维护mondrian connection对象的生命周期,并用它executequery即可。至于提交的mdx请求,前端需要根据查询条件的交互界面构造好,返回结果方面,无论是多复杂的查询,返回结果的格式都是雷同的,可统一视作结果集,即行头RowAxis、列头ColAxis、和Data,你甚至可以将他们统一编码为ResultSet.
Mr_JBean您好: 能不能给我讲讲connection 生命周期维护。 mondrian的缓存机制是否需要配制和维护呢? 我的第三个问题是:提供可配置方案,让olap很方便的配置支持多种关系数据库。 我的第一个问题是关键,因为眼前要解决的就是一个不常用的小数据库,可能提供不了jdbc: 如果有jdbc支持mondrian可以实现吗,如果不支持jdbc而是使用数据库的javaapi,可能得改mondrian的源代码,您能不能给点建议呢? 谢谢!
  • 打赏
  • 举报
回复
Mr_JBean您好: 能不能给我讲讲connection 生命周期维护。 mondrian的缓存机制是否需要配制和维护呢? 我的第三个问题是:提供可配置方案,让olap很方便的配置支持多种关系数据库。 我的第一个问题是关键,因为眼前要解决的就是一个不常用的小数据库,可能提供不了jdbc: 如果有jdbc支持mondrian可以实现吗,如果不支持jdbc而是使用数据库的javaapi,可能得改mondrian的源代码,您能不能给点建议呢? 谢谢!
JBean 2013-07-02
  • 打赏
  • 举报
回复
第一点没试过,第三点没明白是什么意思。第二点,将mondrain配置为Web服务,客户端.net可以方便的访问。但是不要Web容器的话也可以,我们曾因为WS方式效率过低而在服务器端用java项目实现Socket连接池的方式接收mdx,返回ResultSet,这种方式做得好的话非常好用。你只要在java项目中维护mondrian connection对象的生命周期,并用它executequery即可。至于提交的mdx请求,前端需要根据查询条件的交互界面构造好,返回结果方面,无论是多复杂的查询,返回结果的格式都是雷同的,可统一视作结果集,即行头RowAxis、列头ColAxis、和Data,你甚至可以将他们统一编码为ResultSet.

7,388

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 数据仓库
社区管理员
  • 数据仓库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧