0

我正在寻找满足以下需求的数据存储:-

  1. 分布式,因为我们有大量数据要查询(以 TB 为单位)
  2. 写入密集型数据存储。数据将从服务中生成,我们希望存储数据以对其进行分析。
  3. 我们希望分析查询相当快(几分钟而不是几小时)
  4. 我们的大多数查询将属于“选择、过滤、聚合、排序”类型。
  5. Schema 经常变化,因为我们存储的内容会根据系统不断变化的需求而变化
  6. 我们存储的部分数据也可能用于其他目的的纯大规模 map/reduce 作业。

键值存储是可扩展的,但不支持我们的查询要求。

Map/Reduce 作业是可扩展的并且可以执行查询,但我认为它不会满足我们的查询延迟要求。

RDBMS(如 MySQL)将满足我们的查询需求,但它会迫使我们有一个固定的模式。我们可以对其进行扩展,但随后我们必须进行共享等。

像 Vertica 这样的商业解决方案似乎可以解决我们所有的问题,但如果可以的话,我会避免使用商业解决方案。

由于底层的 HDFS,HBase 似乎是一个与 Hadoop 一样可扩展的系统,并且似乎具有执行过滤器和聚合的设施,但我不确定 HBase 中过滤器查询的性能。

目前 HBase 不支持二级索引。这让我想知道 HBase 是否是对任意列进行过滤的正确选择。根据文档,对行 ID 和列族进行过滤比仅对列限定符进行过滤要快。但是,我还读到,在 RowId 和 Column 系列上使用 Bloom Filter 索引会显着增加 Bloom 过滤器的大小,并使此选项实际上不可行。

我无法在网上找到很多关于 HBase 中过滤器查询性能的数据。希望我能在这里找到更多信息。

谢谢!

4

2 回答 2

0

试试 apache cassandra,它很好地支持二级索引。来到 hbase 布隆过滤器,请通过这个链接,它根据模式描述了布隆的多个选项,Hbase 布隆过滤器

于 2012-04-07T22:44:56.147 回答
0

您可能正在寻找类似Postgres-XL相关平台的 MPP 解决方案。

于 2017-10-31T14:03:52.317 回答