Hi, thanks for your answer.

About your question related to thread management : yes, I have several
threads (up to 4) that may call my persistence method.

When I wrote the post, I had not configured anything special about regions
for my table so it basically used default splitting policy I guess. 
Next to your answer, I gave a try to this :
/byte[][] splits = new
RegionSplitter.HexStringSplit().split(numberOfRegionServers);
/
Which lead to 12 regions at table creation time.

It slightly improved performances : persistance drops from 2min to 1min40s
approximately.

I tried with 24 regions but nothing changed then...

About how parameters IDs are distributed : to make it simple, I read 5
values per parameter (*2000) and call persistence, and repeat this sequence
a thousand times. So they should distribute accross all my region servers,
right ?
One additional clue : parameters ID are alphanumeric, evenly distributed
between AAAAA and ZZZZZ, but I add a prefix to them which is long string
(about 25 characters). To save storage space (because rowId is dupplicated
for each cell), I use hashing mechanism to transform this long string into
Long value (and I ahev a mapping table next to the main table), so I dont
really know how these Long values "distribute"...

Not sure I'm clear...









--
View this message in context: 
http://apache-hbase.679495.n3.nabble.com/Writting-bottleneck-in-HBase-tp4084656p4084678.html
Sent from the HBase User mailing list archive at Nabble.com.

Reply via email to