Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop HBase中过滤器查询的性能?_Hadoop_Hbase - Fatal编程技术网

Hadoop HBase中过滤器查询的性能?

Hadoop HBase中过滤器查询的性能?,hadoop,hbase,Hadoop,Hbase,我正在寻找满足以下需求的数据存储:- 分布式,因为我们有很多数据要查询(以TBs为单位) 写密集型数据存储。数据将从服务中生成,我们希望存储数据以对其执行分析 我们希望分析查询速度合理(以分钟为单位,而不是以小时为单位) 我们的大多数查询都是“选择、筛选、聚合、排序”类型 模式经常变化,因为我们存储的内容会根据系统不断变化的需求而变化 我们存储的部分数据也可能用于其他目的的纯大比例尺地图/缩小作业 键值存储是可伸缩的,但不支持我们的查询要求 Map/Reduce作业是可伸缩的,可以执行查询,但我

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

  • 分布式,因为我们有很多数据要查询(以TBs为单位)
  • 写密集型数据存储。数据将从服务中生成,我们希望存储数据以对其执行分析
  • 我们希望分析查询速度合理(以分钟为单位,而不是以小时为单位)
  • 我们的大多数查询都是“选择、筛选、聚合、排序”类型
  • 模式经常变化,因为我们存储的内容会根据系统不断变化的需求而变化
  • 我们存储的部分数据也可能用于其他目的的纯大比例尺地图/缩小作业
  • 键值存储是可伸缩的,但不支持我们的查询要求

    Map/Reduce作业是可伸缩的,可以执行查询,但我认为它不能满足我们的查询延迟要求

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

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

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

    目前HBase不支持辅助索引。这让我怀疑HBase是否是对任意列进行筛选的正确选项。根据文档,对行id和列族进行过滤比仅对列限定符进行过滤要快。但是,我还了解到,在RowId和Column族上使用bloomfilter索引会显著增加bloomfilter的大小,使此选项实际上不可行

    我无法在线找到有关HBase中过滤器查询性能的大量数据。 希望我能在这里找到更多的信息


    谢谢

    试试ApacheCassandra,它非常支持二级索引。来到hbase bloom filters,请浏览此链接,它描述了多种bloom选项,具体取决于您可能正在寻找的模式 MPP解决方案,如
    或者平台。

    现在我考虑一下,SimpleDB似乎可以满足所有要求。它是可伸缩的,支持我想要的各种查询。我看到的SimpleDB的唯一限制是域大小限制以及我必须担心查询时间限制的事实您确定要使用SimpleDB来实现这一点吗?他们的文档称“Amazon SimpleDB设计用于存储相对较少的数据,并针对快速数据访问和数据表达的灵活性进行了优化。”