【问题标题】:Hbase read high loadHbase读取高负载
【发布时间】:2011-11-28 12:10:16
【问题描述】:

我正在研究满足我们公司需求的 noSQL 解决方案。 目前搜索范围缩小到 hBase。我已经阅读了很多关于架构、性能等方面的内容,但对我来说还有一件事是未知的。

例如,如果您有 100 个节点集群,并且一行有 100.000 个并发请求。在这种情况下,所有 100.000 个请求将只命中一个节点,该行存储在哪里?据我了解,HBase 复制仅用于数据备份(不用于读取负载平衡),没有任何主/从机制(如 MySQL)?

【问题讨论】:

  • 你应该在HBase前面加一个缓存,这样可以减少HBase的负载。试试 EHCache。
  • 感谢分享 EHCache,我正在研究它。看起来像是某种 Memcache/Membase 解决方案。但我在想 HBase 有内置的缓存/平衡负载机制。

标签: hadoop nosql hbase hdfs high-availability


【解决方案1】:

关于单行的 100.000 个并发请求 - 我认为目前没有人对此有好处。在正常情况下根本不需要它 - 客户端无论如何都与数据库隔离,因此在这种情况下访问受到限制(并且可能被缓存)。

关于存储和复制。首先,至少有两种类型的复制,实际上它不是 HBase。 HBase 依赖于本质上容错的 HDFS。如果您需要了解详细信息,请阅读 HBase masterHBase region server 角色,但通常与复制相关的所有内容都转到 HDFS。

【讨论】:

    【解决方案2】:

    我猜 100,000 个并发请求在 HBase 上不会很好地工作,但是现实世界的场景似乎工作得很好 yfrog get 10K request per secondeBay chose it for the new version of their product search engine 以及 Facebook for their messaging system 你也可以看看hstack benchmarks 在更普通的集群上

    【讨论】:

      【解决方案3】:

      HBase 复制不仅用于数据备份,还用于可用性。由于这似乎不是您在这里提出问题的唯一要点,因此我向您指出了该链接,您可以在其中找到更多信息。如果您有关于架构设计的具体问题,您应该首先从 Apache 托管项目的主页开始。关于主/从的最后一个问号,我发送的那个 URL 仍然适用(如果你不确定,你可以询问 HBase 开发人员):http://hbase.apache.org/replication.html

      【讨论】:

        猜你喜欢
        • 2014-08-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-13
        • 1970-01-01
        相关资源
        最近更新 更多