MapR-DB和Hbase之间的区别

时间:2015-05-15 07:40:47

标签: hadoop hbase mapr

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

何时使用Mapr-DB以及何时使用Hbase?

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

请帮我避免这种混乱。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:5)

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

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

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