ROLAP柱状数据库

时间:2016-03-20 02:06:20

标签: database olap rolap

我们有一个非常简单的用例,但我们很难选择最适合我们需求的数据库解决方案。

要求:

允许我们按不同属性(数​​千)查询数百万条记录的OLAP数据库,并且可以保存一个主键。上传数据时也必须部分快速。

用例:

我们有一个用户数据库,每个用户都属于不同的属性。最多有10k属性,但大多数用户每个属性少于30个。

示例表:

用户/属性

用户1 / 1,5,10

用户2 / 7,5,9,24,42,1090

用户3/9

USER4 / 98,1049,2000

理想情况是拥有一个柱状存储数据库,其中每个属性都是一列,数据库允许超过10k属性。

Monetdb非常适合我们,但有两个非常关键的缺点:

  • 批量加载非常低,在我们的测试中,它为每个上传的记录提供了5毫秒。要上传1M记录,需要一个多小时,这非常慢。
  • 重复主键上的批量加载失败(我们希望更新“重复键”上的属性值,但是这个数据库无法实现)。

我们也在考虑德鲁伊,但它更像是“事件”驱动。您需要一个时间戳来指示何时添加每个属性。它并没有被排除在外,但它并不是我们所需要的完美契合。

如果需要,我可以提供更多解释,任何指导都会非常感激!

由于

1 个答案:

答案 0 :(得分:0)

目前还不清楚如何批量加载到数据库中。对于100列和125M行的表格进行简单的COPY INTO,在普通的4核桌面和16G RAM上花费的时间不会超过半小时。参见例如http://homepages.cwi.nl/~mk/ontimeReport

请注意,引入10K列会导致为每个用户设置所有值。您可能会重新考虑数据库设计,并更多地依赖于用户:属性表设置。