ApachePhoenix vs Hbase本机API

ApachePhoenix vs Hbase本机API,hbase,phoenix,Hbase,Phoenix,我正在使用ApachePhoenix简化Hbase上的数据检索/更新操作。但是我想从性能的角度知道哪一个更好?Phoenix还是使用Hbase本机API的自定义包装器?或者我们有没有其他不影响性能的方法?在完美世界中,原生api的工作速度会更快,但您需要一直致力于此,因为为Hbase开发良好的api是一个单独的项目。大项目 您还需要非常了解map reduce和hbase内部流程。但凤凰已经为你做了这一切。 例如 辅助索引用于在主表上创建和自动维护全局索引。 查询会在更高效时自动使用索引,将整个

我正在使用ApachePhoenix简化Hbase上的数据检索/更新操作。但是我想从性能的角度知道哪一个更好?Phoenix还是使用Hbase本机API的自定义包装器?或者我们有没有其他不影响性能的方法?

在完美世界中,原生api的工作速度会更快,但您需要一直致力于此,因为为Hbase开发良好的api是一个单独的项目。大项目

您还需要非常了解map reduce和hbase内部流程。但凤凰已经为你做了这一切。 例如 辅助索引用于在主表上创建和自动维护全局索引。 查询会在更高效时自动使用索引,将整个表扫描转换为点和范围扫描。 多个列可以按升序或降序排序。 索引中可能包含其他主表列,以形成覆盖索引。 有两种口味可供选择: 可变数据的服务器端索引维护。 客户端索引维护针对只写一次、只追加的用例进行了优化

凤凰也使跳过扫描地图为您减少。 还有更多。。。看看这里还是

在phoenix手下工作的团队已经花了很多时间来优化所有这些操作,如果您想使用本机api进行编写的话。你必须确信你能做得更好

作为另一个解决方案,您可以使用Hive或SparkSQL。 但Hive的性能较差,Spark是独立的集群,也是一项困难的技术

也是很好的一种技术,是SparkOnHbase的高性能
这个更快,但更复杂。并且没有一些好的特性,比如索引和Hbase本机函数。所以你需要写它

Phoenix非常适合,因为它通过更好地理解HBase的内部工作原理,将类似SQL的查询转换为本机HBase调用。它将为您实现协处理器,为您维护索引,如果您计划通过Hbase API实现,这将是一个繁琐的过程。因此,phoenix使Hbase查询变得更加简单。因为它是由salesforce创建的,所以您可以对此进行担保。此外,它有良好的社区支持