【问题标题】:what should be considered before choosing hbase?选择hbase前应该考虑什么?
【发布时间】:2016-10-13 09:56:07
【问题描述】:

我是大数据领域的新手。

我们从团队那里得到建议,我们应该使用 hbase 而不是 RDBMS 以获得高性能。在将 RDMS 切换到 hbase 之前,我们不知道应该/必须考虑什么。有什么想法吗?

【问题讨论】:

    标签: hadoop hbase rdbms bigdata


    【解决方案1】:

    One of my favourite book describes..

    回到@Whitefret 的最后一点:有一些东西叫做CAP theorm,基于它可以做出决定。

    • 一致性(所有节点同时看到相同的数据)

    • 可用性(每个请求都会收到关于它是成功还是失败的响应)

    • 分区容错(尽管由于网络故障导致任意分区,系统仍继续运行)

    在这种情况下,Hbase 支持 CP

    但是,要将 RDBMS 切换到 HBASE,您可以使用 SQOOP

    【讨论】:

      【解决方案2】:

      这是一个很难的问题,有很多事情需要考虑。

      1. 您能优化您的 RDBMS 吗?添加索引,连接的非规范化成本太高......有很多路径需要考虑,我不是专家。
      2. 您的数据大吗?这是非常模糊的,并且您在 RDBMS 和大数据之间有一个空间,您无法确定使用哪一个。 RDBMS 仍然可以有效地处理数百万行。
      3. 您的数据中需要关系吗? NoSQL 数据库不使用关系,这对于具有 SQL 背景的人来说可能很难。有一些框架可以将 SQL 提供给 HBase,但在使用大数据时,拥有 RDBMS 模型通常是个坏主意

      如果您能回答这些问题并且您认为 NoSQL 是一种练习,请询问您的团队对此有何看法。 NoSQL 数据库带有您在 SQL 世界中永远不会遇到的问题。他们应该首先建立一个原型来了解这一切是如何工作的,也许可以为他们提供一些培训。

      总结:
      - 查找是否需要非关系数据库
      - 选择合适的(Hbase 真的是你需要的吗?为什么不考虑 Cassandra 或 MongoDB?)

      【讨论】:

        【解决方案3】:

        HBase 与所有 NoSQL DB 一样具有出色的新功能,但遗憾的是没有什么是免费的(更不用说金钱成本了)。

        在 HBase 中,您确实应该检查是否可以使用 HBase 数据模型完成所有可能想要执行的查询。需要考虑的重要一点是模式设计(最重要的是行键的建模)。 我建议你阅读这篇非常好的论文:

        http://0b4af6cdc2f0c5998459-c0245c5c937c5dedcca3f1764ecc9b2f.r43.cf2.rackcdn.com/9353-login1210_khurana.pdf

        我认为在 HBase 官方网站上可以找到对您问题的一个很好的答案。

        “HBase 并不适合所有问题。

        首先,确保您有足够的数据。 如果您有数亿或数十亿行,那么 HBase 是一个不错的选择。如果您只有几千/几百万行,那么使用传统的 RDBMS 可能是更好的选择,因为您的所有数据可能最终都在一个(或两个)节点上,而其余的集群可能处于空闲状态。

        第二,确保您可以在没有 RDBMS 提供的所有额外功能的情况下生活(例如,类型化列、二级索引、事务、高级查询语言等)针对 RDBMS 构建的应用程序例如,不能通过简单地更改 JDBC 驱动程序将其“移植”到 HBase。考虑从 RDBMS 迁移到 HBase 作为完全重新设计,而不是移植。

        第三,确保你有足够的硬件。即使是 HDFS 也不能很好地处理少于 5 个 DataNode(由于 HDFS 块复制,默认值为 3)以及 NameNode。

        HBase 可以在笔记本电脑上很好地独立运行 - 但这应该仅被视为开发配置。 "

        https://hbase.apache.org/book.html

        【讨论】:

          猜你喜欢
          • 2011-02-14
          • 2010-10-13
          • 1970-01-01
          • 2020-02-18
          • 1970-01-01
          • 1970-01-01
          • 2017-05-17
          • 2010-09-08
          • 1970-01-01
          相关资源
          最近更新 更多