You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@accumulo.apache.org by "Slater, David M." <Da...@jhuapl.edu> on 2014/05/15 16:53:22 UTC
Document-Partitioned Indexing - Optimizing Mutation Size
Hi, quick question,
I’m attempting to optimize the ingest rates for a document-partitioned table. I am currently presplitting the tables and have even spread of data across tablet servers. However, I was wondering if changing the size of mutations would have a major impact on the ingest rates. Currently, I’m batchwriting with one mutation per document (fairly small documents, e.g. tweets), but since everything is organized by bins, I could create much larger mutations. Would there be a benefit on the ingest side to doing so, such as reducing tablet contention? Or will that push the complexity to the ingestors?
Best,
David
Re: Document-Partitioned Indexing - Optimizing Mutation Size
Posted by Keith Turner <ke...@deenlo.com>.
Its possible that it could run faster. There are two things that could
enable this.
If you are using the native map, then its structured as map<row, map<col,
val>>. For a mutation w/ multiple columns, it will lookup the row once to
get map<col, val>. After that it will do inserts into the column map
directly. I am not sure this will help much in your case since you
probably have a shallow row tree and deep columns trees.
Second the row is only sent once over the wire and only written once to the
walog. You may see some benefit here.
There is a simple test that ships w/ Accumulo in
test/system/test_ingest.sh. This test writes 5 million mutations w/ one
column. I ran the test varying the number of rows and columns keeping
row*columns==5M. I used 1.6.0 w/ tserver.mutation.queue.max=4M. I ran
these test on my workstation, so the walog was not written across a network.
5 million mutations, 1 col per mutation : ~26 secs
500,000 mutations, 10 col per mutation : ~16 secs
500 mutations, 10,000 col per mutation: ~13 secs
It might be worth experimenting with.
Keith
On Thu, May 15, 2014 at 10:53 AM, Slater, David M.
<Da...@jhuapl.edu>wrote:
> Hi, quick question,
>
>
>
> I’m attempting to optimize the ingest rates for a document-partitioned
> table. I am currently presplitting the tables and have even spread of data
> across tablet servers. However, I was wondering if changing the size of
> mutations would have a major impact on the ingest rates. Currently, I’m
> batchwriting with one mutation per document (fairly small documents, e.g.
> tweets), but since everything is organized by bins, I could create much
> larger mutations. Would there be a benefit on the ingest side to doing so,
> such as reducing tablet contention? Or will that push the complexity to the
> ingestors?
>
>
>
> Best,
>
> David
>