我们有一个非常简单的用例,但我们很难选择最适合我们需求的数据库解决方案。
要求:
一个 OLAP 数据库,它允许我们通过不同的属性(数千个)查询数百万条记录,并且可以保存一个主键。上传数据时也必须部分快速。
用例:
我们有一个用户数据库,每个用户都属于不同的属性。最多有 10k 个属性,但大多数用户每个属性少于 30 个。
示例表:
用户/属性
用户1/1,5,10
用户2/7,5,9,24,42,1090
用户3/9
用户4/98,1049,2000
. .
理想的场景是有一个列式存储数据库,其中每个属性都是一列,并且数据库允许超过 10k 个属性。
Monetdb 正好适合我们,但有两个非常关键的缺点:
- 批量负载非常低,在我们的测试中,每条上传的记录给了我们 5 毫秒。上传100万条记录需要一个多小时,非常慢。
- 重复主键上的批量加载失败(我们想更新那个“重复键上”的属性值,但是这个数据库不可能)。
我们也在考虑德鲁伊,但它更多的是“事件”驱动。添加每个属性时,您需要一个时间戳。它没有被排除,但它不是我们需要的完美契合。
如果需要,我可以提供更多解释,任何指导将不胜感激!
谢谢