none
项目有增删改查数据的要求,还有查询多维数据集的要求,是单独用OLAP,还是OLAP、OLTP同时用呢? RRS feed

  • 问题

  •     OLTP的功能是数据库的一般操作,增删改查,处理一般的业务;OLAP重点在于分析,把众多的数据汇总到一起,从多个角度,多个维度分析这些数据,以达到某些决策者的要求。现在创建一个项目,既有增删改查数据的需求,也有查询多维数据的需要,那么该用什么呢?是单独用OLAP,还是OLAP、OLTP同时用呢?

    PS:如果能给出一个示例项目,不胜感激。

    2013年6月5日 5:42

答案

  • olap虽然也叫database,但是这个不是普通的关系型数据库,而是多维数据库。数据通常不是实时同步的,不过也可以做实时同步。多维数据库的分析查询比关系型数据库快得多。 不过对于你们完全没有多维分析经验的人来说,如果没有上亿的数据,我建议你们直接在oltp上做分析查询。olap能实现的查询,oltp都能做到,只是性能差一些。

    想不想时已是想,不如不想都不想。

    • 已标记为答案 siklaa 2013年6月6日 8:24
    2013年6月6日 2:20
    版主

全部回复

  • You can create separate db for that, one for oltp and the other for etl. Use ssis package to load data from oltp db to etl ones and process them there. Create cube in ssas and do aggregations, user can get final data from cube.
    2013年6月5日 13:32
  • Hi,rmiao

    You mean that i need to create two db, one is oltp db, the other one is generated from the oltp db, am I right?

    I have a questions If I understood your meaning correctly.For example,if i delete a record in a table in oltp db,then i need to synchronize data with the etl db,and recreate the cube,after these steps ,i can get the latest data from cube.It will becomes very slow,is it? Thanks.

    2013年6月6日 2:02
  • olap虽然也叫database,但是这个不是普通的关系型数据库,而是多维数据库。数据通常不是实时同步的,不过也可以做实时同步。多维数据库的分析查询比关系型数据库快得多。 不过对于你们完全没有多维分析经验的人来说,如果没有上亿的数据,我建议你们直接在oltp上做分析查询。olap能实现的查询,oltp都能做到,只是性能差一些。

    想不想时已是想,不如不想都不想。

    • 已标记为答案 siklaa 2013年6月6日 8:24
    2013年6月6日 2:20
    版主
  • You need real time aggregation in oltp db? That will affect oltp process, we learned lesson in hard way.
    2013年6月6日 2:39
  • 一般OLAP的数据都是要经过一些列的ETL处理过程的,所以数据基本上都不是实时的。而且OLAP的建模跟OLTP的有很大差别(比如OLAP的星型模型)。

    你的应该是OLTP加普通的报表功能吧,在数据库建模的时候可以多考虑是否用3NF还是做数据冗余(查询更容易)。


    Please Mark As Answer if it is helpful.


    2013年6月6日 6:29
  • You need real time aggregation in oltp db? That will affect oltp process, we learned lesson in hard way.

    确实,real time olap很难做,不过也不是不能做。

    想不想时已是想,不如不想都不想。

    2013年6月6日 6:49
    版主
  • 一般OLAP的数据都是要经过一些列的ETL处理过程的,所以数据基本上都不是实时的。而且OLAP的建模跟OLTP的有很大差别(Start)。

    你的应该是OLTP加普通的报表功能吧,在数据库建模的时候可以多考虑是否用3NF还是做数据冗余(查询更容易)。


    Please Mark As Answer if it is helpful.


    这个叫star schema,不是start。

    想不想时已是想,不如不想都不想。

    2013年6月6日 6:50
    版主
  • 一般OLAP的数据都是要经过一些列的ETL处理过程的,所以数据基本上都不是实时的。而且OLAP的建模跟OLTP的有很大差别(Start)。

    你的应该是OLTP加普通的报表功能吧,在数据库建模的时候可以多考虑是否用3NF还是做数据冗余(查询更容易)。


    Please Mark As Answer if it is helpful.


    这个叫star schema,不是start。

    想不想时已是想,不如不想都不想。


    呵呵 多谢提醒 我知道叫星型模型,当然还有雪花模型,这里就是提一下。

    Please Mark As Answer if it is helpful.

    2013年6月6日 6:54
  • You need real time aggregation in oltp db? That will affect oltp process, we learned lesson in hard way.


    确实,real time olap很难做,不过也不是不能做。

    想不想时已是想,不如不想都不想。


    另外问一下 Real Time的OLAP真的是Real Time还只是延迟比较少?

    Please Mark As Answer if it is helpful.

    2013年6月6日 6:56
  • real time。

    想不想时已是想,不如不想都不想。

    2013年6月6日 8:13
    版主