I've designed HBase table where my rowkey is driven to the queries that I need to run on it. Following the best practices I included a hashed portion as prefix of my rowkeys, trying to spread the rows as much uniform as possible across my table regions.
I'm concerned about the following scenario: I got billions of rows in my HBase table split between 3 regions. I'm using this table to provide data for a REST API, and because that, it needs to provide the rows as fast as possible. Unfortunately, I'm hitting the famous timeout error Failed to get result within timeout, timeout=60000ms even if I invoke either count "table_name" in the hbase shell or for any other scan including startrow and stoprow parameters.It seems scanning by ranges using the rowkey is sweeping the whole hbase table. Considering this scenario I'd like to ask 2 questions: 1) Is there any strategy to really retrieve range of rows as fast as possible without hitting the timeout error? I really appreciate any pointers here. 2) As I'm new in HBase, do you think HBase is the best or at least adequate solution to provide fast retrieval data to a REST API, considering the search are in fact scans by range of rowkeys? -- Sent from: http://apache-hbase.679495.n3.nabble.com/HBase-User-f4020416.html
