hadoop - HBase中筛选查询的性能?

标签 hadoop hbase

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

  • 已分发,因为我们有很多数据要查询(以TB为单位)
  • 写密集型数据存储。数据将从服务中生成,我们希望存储数据以对其进行分析。
  • 我们希望分析查询相当快(几分钟,而不是几小时)
  • 我们的大多数查询都属于“选择,过滤,汇总,排序”类型。
  • 架构经常更改,因为我们存储的内容将根据系统
  • 的变化需求而更改
  • 我们存储的部分数据也可能用于其他目的的纯大型 map /归约工作。

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

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

    RDBMS(如MySQL)将满足我们的查询需求,但将迫使我们拥有固定的架构。我们可以扩展它,但随后必须进行共享等。

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

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

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

    我无法在线找到太多有关HBase中筛选查询性能的数据。
    希望我可以在这里找到更多信息。

    谢谢!

    最佳答案

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

    关于hadoop - HBase中筛选查询的性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10058810/

    相关文章:

    hadoop - 使用pyspark从hdfs读取文件时拒绝连接

    hadoop - SparkContext无法读取存储在HDFS中的文件,但是命令 “hadoop fs -text”可以正确读取它

    hadoop - 在 oozie Java Action 中传递 HBase 凭据

    hadoop - 查找Hbase中具有空值的行数

    hbase - 如何扫描hbase中的特定列值?

    java - hbase 独立快速启动失败可通过 maven 项目重复

    hadoop - HDFS委派 token 错误

    hadoop - yarn 上的 Apache Hive

    java - Hadoop 2.5.0 作业不成功,流命令失败

    java - HBase 设置时间戳