我要寻找的是提供了以下需求的数据存储: -HBase中过滤器查询的性能?
- 分布,因为我们有很多数据的查询(在TBS)
- 写密集型的数据存储。数据将从服务生成,我们希望存储数据以对其执行分析。
- 我们希望分析查询速度相当快(分钟数,而不是小时数)
- 我们大多数查询将是“选择,过滤器,聚合,排序”类型。
- 模式更改通常会因为我们存储的内容会根据系统变化的要求而改变
- 我们存储的部分数据也可能用于纯粹的大比例尺地图/缩小作业以用于其他目的。
键值存储可扩展,但不支持我们的查询需求。
的Map/Reduce作业是可扩展的,可以执行查询,但我认为这将不能满足我们的查询等待时间要求。
的RDBMS(如MySQL)将满足我们的查询需要,但是它会迫使我们有一个固定的模式。我们可以扩大,但接下来我们要做的共享等
像Vertica的商业解决方案,看起来这将解决我们所有的问题的解决方案,但如果我能我会避免商业解决方案。
HBase似乎是一个与Hadoop一样可扩展的系统,因为它具有HDFS基础,并且似乎具有执行过滤器和聚合的功能,但我不确定HBase中过滤器查询的性能。
目前HBase不支持二级索引。这让我怀疑HBase是否适合在任意列上过滤。根据文档,对row-id和Column系列进行过滤比仅对列限定符进行过滤要快。但是,我还读到RowId和Column系列上的Bloom Filter索引显着增加了布隆过滤器的大小,并使此选项几乎不可行。
我无法在网上找到关于HBase的筛选查询的性能多少数据。 希望我可以在这里找到更多的信息。
谢谢!
现在我想到了,看来SimpleDB将满足所有需求。它是可扩展的,支持我想要的所有类型的查询。我看到的SimpleDB的唯一限制是域大小限制和我必须担心查询时间限制的事实 – user855 2012-04-07 23:07:42
您确定要为此使用SimpleDB吗?他们的文档说“Amazon SimpleDB旨在存储相对少量的数据,并针对快速数据访问进行了优化,并在数据表达方式方面具有灵活性。” – Suman 2012-04-11 15:49:55