我使用Apache Phoenix来简化我在Hbase上的数据检索/更新操作。但是我想知道从的性能角度看哪个更好?凤凰或自定义包装使用Hbase本机API?或者我们有没有其他方法不影响性能?Apache Phoenix vs Hbase Native API
回答
在完美的世界中Native api的工作速度会更快,但是您需要一直努力工作,因为为Hbase开发良好的API是一个单独的项目。大项目。
而且您需要对map-reduce和hbase内部过程有很好的理解。但凤凰已经为你做了这一切。 例如 辅助索引可在主表上创建并自动维护全局索引。 查询在更高效时自动使用索引,将全表扫描转换为点扫描和范围扫描。 多列可能按升序或降序排列顺序编制索引。 索引中可能包含额外的主表列,以形成覆盖索引。 有两种风格: 可变数据的服务器端索引维护。 客户端索引维护针对一次写入附加用例进行了优化。
凤凰也为您跳过扫描map-reduce。 还有更多...看看这里http://phoenix-hbase.blogspot.com/或http://phoenix.apache.org/performance.html#
团队,根据凤凰工作已经花费了大量的时间来优化这一切操作,如果你想与原生API编写。你一定要确保你能做得更好。
作为另一种解决方案,您可以使用Hive或SparkSQL。 但Hive的性能较差,Spark是独立的群集,也是困难的技术。
也是一个很好的技术是SparkOnHbase的高性能http://blog.cloudera.com/blog/2014/12/new-in-cloudera-labs-sparkonhbase/ 这一个更快,但更复杂。并没有像索引和Hbase原生函数一样的好功能。所以你需要写它。
Phoenix将会非常合适,因为它可以更好地理解Hbase的内部工作原理,将SQL查询转换为本地HBase调用。它会为你实现协处理器,为你维护索引,如果你打算通过Hbase API实现将是一个繁琐的过程。所以凤凰使得Hbase查询的生活更容易。由于它是由salesforce创建的,您可以为其担保。此外,它有良好的社区支持。
- 1. Apache Phoenix vs Hive-Spark
- 2. Apache Phoenix API for PHP
- 3. 无法通过hbase启动apache phoenix
- 4. Apache Phoenix中的Hbase过滤器
- 5. apache phoenix 4.10从hbase列映射
- 6. PySpark HBase/Phoenix集成
- 7. Apache phoenix没有入门
- 8. Apache Phoenix 4.7 csvBulkLoad.run()抛出ClassNotFoundException
- 9. Apache Phoenix DAO测试
- 10. Mesos HTTP API vs Native API
- 11. Apache Phoenix CURRENT_TIME()给出NPE
- 12. Neo4J Java Native API vs Traversal API vs Cypher
- 13. nodejs通过phoenix和druid连接到hbase
- 14. Apache Phoenix当前时间
- 15. Apache Phoenix创建视图抛出TableAlreadyExistException
- 16. Apache Phoenix for Spark不起作用
- 17. HBase vs Hyptertable VS Lucene
- 18. 如何从Hbase访问Phoenix表
- 19. 使用Phoenix CsvBulkLoadTool()从jboss5.1加载hbase表
- 20. hbase在cloudera下添加phoenix jars
- 21. 无法通过phoenix连接到hbase
- 22. 阅读hbase表中盐与phoenix在配置单元hbase serde
- 23. Apache Phoenix on Spark - 无法插入到Phoenix HBase表格/需要建议的最佳做法
- 24. CouchDB vs HBase
- 25. AWS DynamoDB VS HBase
- 26. 截图截图:native API vs opengl
- 27. Apache Phoenix LIMIT OFFSET错误
- 28. Phoenix正在更改HBase表的元信息
- 29. 我在CDH5.4上使用Hbase 1.0.0和Apache phoenix 4.3.0。当我重新启动Hbase regionserver时出现故障
- 30. HBase上的Apache Gora