【问题标题】: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 master 和 HBase region server 角色,但通常与复制相关的所有内容都转到 HDFS。

【讨论】:

    【解决方案2】:

    我猜 100,000 个并发请求在 HBase 上不会很好地工作,但是现实世界的场景似乎工作得很好 yfrog get 10K request per second 和 eBay 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
        相关资源
        最近更新 更多