2012-04-07 55 views
0

我要寻找的是提供了以下需求的数据存储: -HBase中过滤器查询的性能?

  1. 分布,因为我们有很多数据的查询(在TBS)
  2. 写密集型的数据存储。数据将从服务生成,我们希望存储数据以对其执行分析。
  3. 我们希望分析查询速度相当快(分钟数,而不是小时数)
  4. 我们大多数查询将是“选择,过滤器,聚合,排序”类型。
  5. 模式更改通常会因为我们存储的内容会根据系统变化的要求而改变
  6. 我们存储的部分数据也可能用于纯粹的大比例尺地图/缩小作业以用于其他目的。

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

的Map/Reduce作业是可扩展的,可以执行查询,但我认为这将不能满足我们的查询等待时间要求。

的RDBMS(如MySQL)将满足我们的查询需要,但是它会迫使我们有一个固定的模式。我们可以扩大,但接下来我们要做的共享等

像Vertica的商业解决方案,看起来这将解决我们所有的问题的解决方案,但如果我能我会避免商业解决方案。

HBase似乎是一个与Hadoop一样可扩展的系统,因为它具有HDFS基础,并且似乎具有执行过滤器和聚合的功能,但我不确定HBase中过滤器查询的性能。

目前HBase不支持二级索引。这让我怀疑HBase是否适合在任意列上过滤。根据文档,对row-id和Column系列进行过滤比仅对列限定符进行过滤要快。但是,我还读到RowId和Column系列上的Bloom Filter索引显着增加了布隆过滤器的大小,并使此选项几乎不可行。

我无法在网上找到关于HBase的筛选查询的性能多少数据。 希望我可以在这里找到更多的信息。

谢谢!

+0

现在我想到了,看来SimpleDB将满足所有需求。它是可扩展的,支持我想要的所有类型的查询。我看到的SimpleDB的唯一限制是域大小限制和我必须担心查询时间限制的事实 – user855 2012-04-07 23:07:42

+0

您确定要为此使用SimpleDB吗?他们的文档说“Amazon SimpleDB旨在存储相对少量的数据,并针对快速数据访问进行了优化,并在数据表达方式方面具有灵活性。” – Suman 2012-04-11 15:49:55

回答

0

尝试的Apache Cassandra的,它支持二级指标非常好。来到HBase的布隆过滤器,请去通过这个链接,它描述绽放多个选项取决于模式,Hbase bllom filters