我在MapR中有点新,但我知道hbase。我正在阅读其中一个视频,我发现Mapr-DB是MapR中的NoSQL DB,它与Hbase类似。除此之外,Hbase也可以在MapR上运行。我在MapR-Db和Hbase之间感到困惑。它们之间的确切区别是什么?
何时使用Mapr-DB以及何时使用Hbase?
基本上我有一个java代码在MapR上的Hbase中进行批量加载,现在这里如果我使用我用于Apache hadoop的相同代码,那么代码是否可以在这里工作?
请帮我避免这种混乱。
答案 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文档中获得的限制:
所以,我之前的第二个答案 - 在太远之前尝试使用(MapR DB与HBase)的解决方案。我并不喜欢MapR的MapR DB,因为它的支持性和代码不是开源的。如果任何Hadoop经销商正在增强hadoop - 他们也应该将其提供给开源社区。为什么在使用开源时应该完全依赖商业支持。