0

我需要建立一个客户 360 度数据库,它需要:

  • 一个宽列表,每个客户是一行,有很多列(说> 1000)
  • 我们每天运行约 20 个批量更新分析作业。每个分析作业查询并更新一小组列,用于所有行。它包括聚合用于报告的数据,以及为机器学习算法加载/保存数据。
  • 我们在几列中更新客户的信息,每天 <= 100 万行。更新工作量分布在工作时间。我们有超过 2 亿行。

对于这些要求,我认为可修改的列式数据库将是一个完美的选择:它可以按最适合分析的列进行查询和聚合,它可以全天更新数百万次更改。我发现的最相似的项目是 Apache Kudu,但它的 300 列限制是一个很大的障碍,我们有 1000 多个。

我们更喜欢开源项目。

有什么建议么 ?

4

1 回答 1

0

我会回答我自己的问题,因为我们的解决方案现在可以正常工作。

我们没有为分析和 OLTP 工作负载提供统一的数据库,而是将工作负载分成 2 个:分析工作负载将由 HDFS 中的 Parquet 表提供服务,而 OLTP 一个将由 HBase 提供服务。

当然,我们必须复制(部分)客户数据,但我们愿意支付的存储和计算能力成本并不高。

于 2018-10-07T10:18:28.773 回答