它们相似但不相同。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 - 他们也应该将其提供给开源社区。为什么在使用开源时应该完全依赖商业支持。