Skip to content

Instantly share code, notes, and snippets.

@damien
Created November 26, 2014 08:01
Show Gist options
  • Save damien/0148e591a37d9254d7af to your computer and use it in GitHub Desktop.
Save damien/0148e591a37d9254d7af to your computer and use it in GitHub Desktop.
Quick and dirty ElasticSearch research

Links

Pros

  • ElasticSearch is very well documented (example: failure scenarios are well known and understood
  • ElasticSearch scales very well with additional hardware. ElasicSearch performance increases with each ES shard in a cluster of nodes (performance = shards per node * number of nodes in a cluster)
  • ElasticSearch is very easy to query with non-specialized clients (HTTP REST, ruby, javascript, etc)
  • Kibana - a very nice dashboard interface to ES that can be used to visualize ad-hock queries that may be saved for later viewing

Cons

  • ElasticSearch optimizes for availability and partition tolerance (AP). It is not ideal for use-cases where data loss must NEVER happen
  • ElasicSearch needs at least two or three shards on a single node to be performant; otherwise a single Lucene or Sphinx instance will outperform it
  • It is not safe to directly expose ES to the internet without some sort of proxy/authentication layer
  • ElasticSearch does not perform well (whithout a lot of hardware) in cases where a rapidly changing dataset is being queried frequently
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment