4

我对 MapR 有点陌生,但我知道 hbase。我正在浏览其中一个视频,我发现 Mapr-DB 是 MapR 中的 NoSQL DB,它类似于 Hbase。除此之外,Hbase 还可以在 MapR 上运行。我对 MapR-Db 和 Hbase 感到困惑。它们之间的确切区别是什么?

何时使用 Mapr-DB,何时使用 Hbase?

基本上我有一个 java 代码可以在 MapR 上的 Hbase 中进行批量加载,现在如果我使用与 Apache hadoop 相同的代码,该代码会在这里工作吗?

请帮助我避免这种混乱。

4

2 回答 2

7

它们都是 NOSQL,宽列存储。

HBase 是开源的,可以作为 Hadoop 安装的一部分进行安装。

MapR-DB 是 MapR 提供的专有(非开源)NOSQL 数据库。MapR 将详细说明 MapR-DB(以及它们的文件系统(它们不使用 HDFS))的一个核心区别是 MapR-DB 提供了优于 HBase 的显着性能和可扩展性(无限表、列、重新架构等等)。

MapR 坚持认为您可以互换使用 MapR-DB 或 HBase。我建议在承诺一个与另一个之前对两者进行广泛的测试。您还需要意识到 MapR-DB 是 MapR 专有的 NOSQL HBase 等价物,如果您需要对 MapR-DB 的支持,您必须从 MapR 获得支持(HBase 支持可以来自任何其他 Hadoop 发行版以及开放源社区)。

您应该查看的一些链接: http ://www.theregister.co.uk/2013/05/01/mapr_hadoop_m7_edition_solr/ https://www.mapr.com/blog/get-real-hadoop-enterprise-grade-nosql #.VVfHuvlVhBc

于 2015-05-16T23:02:17.997 回答
7

它们相似但不相同。MapR 声称 MapR DB 更快、更高效,因为它们迁移了原生 C/C++ 代码中的关键功能,并且界面保持不变。但是一天结束时 MapR DB 是专有的,您依赖 MapR 的支持来完成与 HBase 不同的任何事情。我不喜欢 MapR-DB,因为它与 Apache Phoenix 不兼容(MapR DB 中不存在 HBase 协处理器)——访问 HBase 类型的 NoSQL 数据库的 SQL 方式。我从 MapR 文档中得到的限制:

  • 不支持自定义 HBase 过滤器。
  • 不支持列族的用户权限。支持表和列的用户权限。
  • 不支持 HBase 身份验证。
  • HBase 复制由镜像卷处理。
  • 不支持使用 HFiles 解决方法进行批量加载,也没有必要。不支持 HBase 协处理器。
  • 过滤器使用不同的正则表达式库
    • 不支持协处理器

所以我第二个之前的答案 - 在走得太远之前在这两个(MapR DB vs HBase)中尝试你的解决方案。我不太喜欢 MapR 中的 MapR DB,因为它是有目的的,而且代码不是开源的。如果任何 Hadoop 分销商正在增强 hadoop - 他们也应该将其提供给开源社区。为什么在使用开源时应该完全依赖商业支持。

于 2015-10-22T04:05:16.237 回答