我使用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