放置性能 - Hbase Java Client

时间:2017-07-19 09:31:37

标签: performance hbase

我在Java客户端上对PUT性能做了一些工作,但结果对我来说并不清楚。

问题在于: 什么是HBase的最佳方式?一个包含1000列(4个系列)或1000个单一列的单个列?也许4个赌注,每个250列?

理论上,什么是最好的策略?

PS:我不能使用批处理,因为我需要Wals for Solr。

感谢。

2 个答案:

答案 0 :(得分:1)

首先使用尽可能少的列族(我在此answer中提供了详细信息)。其次,您不仅要指定写入模式,还要指定读取模式。 HBase最适合"写一次并阅读许多"场景。因此,您希望设计表格,从而提供最快的数据访问。而这个标准将决定你是否需要" tall"或"宽"表。查看" HBase in Action"的HBase table design章节。

答案 1 :(得分:1)

要获得写操作的良好性能,您应该使用一个Put for single Row。在其他情况下,性能将显着降低,因为HBase会为行键创建锁定,在这种情况下,同步会浪费大量时间。在每行单次放置的情况下,写入性能将与批量负载相当。