【问题标题】:ROLAP columnar DatabaseROLAP 柱状数据库
【发布时间】:2016-03-20 02:06:20
【问题描述】:

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

要求:

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

用例:

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

示例表:

用户/属性

user1/1,5,10

user2/7,5,9,24,42,1090

user3/9

user4/98,1049,2000

。 .

理想的场景是有一个列式存储数据库,其中每个属性都是一列,并且数据库允许超过 10k 个属性。

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

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

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

如果需要,我可以提供更多解释,任何指导将不胜感激!

谢谢

【问题讨论】:

    标签: database olap rolap


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢 mkersten。不,这不能回答我的问题。由于性能,我需要 10k 列。这是一个用于快速查询属性的 OLAP 数据库,普通的 user:property 表设置对我需要的东西没有帮助。还是谢谢
    猜你喜欢
    • 2016-06-04
    • 1970-01-01
    • 2019-07-18
    • 1970-01-01
    • 1970-01-01
    • 2010-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多