Review request for "Elasticsearch Survival Guide for Developers" blog post

Hello,

I have been working on a blog post titled Elasticsearch Survival Guide for Developers for some months and I have just published it. Before embarking for a PR in blogosphere, I would appreciate reviews of the beloved Elasticsearch community. Let me know if there are any inaccuracies or anything that bugs you.

Best.

A few comments from a quick scan:

There is, as far as I can see, no mention of oversharding, and this is pretty much the #1 problem we see with users. I think it's worth a mention and maybe a link to a blog post like this one.

Start first by setting index.translog.durability to async .

Please don't recommend this. It will cause less experienced users to experience data loss. The default durability setting is much safer, and normally performs just fine on good hardware.

In fact I think that whole paragraph on translog tuning is a little misleading for a "survival guide". There are lots of other things I'd look at for performance gains before turning to these settings.

Adapt index.refresh_interval to your needs.

It might be best to leave this setting unset too. In recent versions, if you're indexing but not searching then there will be no refreshes taking place. From the docs:

If this setting is not explicitly set, shards that haven’t seen search traffic for at least index.search.idle.after seconds will not receive background refreshes until they receive a search request.

Compare-and-swap over _version field is poor man’s transactions

The preferred CAS operation uses _primary_term and _seq_no, since _version has known issues.

Thanks so much for the prompt reply @DavidTurner! I have corrected the points you mentioned and given credits to you.

1 Like

Added the following bullet for oversharding:

One of the greatest strenghts of Elasticsearch is sharding, that is, splitting the data into multiple nodes to exploit parallellization. There are many myths surrounding this subject. Recall that sharding of an index cannot be changed once it is set. This makes oversharding a pretty common pitfall for newcomers. Make sure you have done your homework right (that is, RTFM, such as this one) before taking any decisions.