(R)Evolution - FOSDEM...

59
(R)Evolution Philipp Krenn@xeraa

Transcript of (R)Evolution - FOSDEM...

Page 1: (R)Evolution - FOSDEM...

(R)EvolutionPhilipp Krenn@xeraa

Page 2: (R)Evolution - FOSDEM...

Revolution

Page 3: (R)Evolution - FOSDEM...

https://db-engines.com/en/ranking

Page 4: (R)Evolution - FOSDEM...
Page 5: (R)Evolution - FOSDEM...

https://www.reddit.com/r/SQL/comments/7i828i/ms_sql_query_is_too_complex/

Page 6: (R)Evolution - FOSDEM...

Who uses Elasticsearch?

Page 7: (R)Evolution - FOSDEM...

Infrastructure | Developer Advocate

Page 9: (R)Evolution - FOSDEM...
Page 10: (R)Evolution - FOSDEM...

$ curl http://localhost:9200

{

"name": "elasticsearch1",

"cluster_name": "docker-cluster",

"cluster_uuid": "sW2BcTZRRCSVVH2sDsWF8A",

"version": {

"number": "5.6.7",

"build_hash": "4669214",

"build_date": "2018-01-25T21:14:50.776Z",

"build_snapshot": false,

"lucene_version": "6.6.1"

},

"tagline": "You Know, for Search"

}

Page 11: (R)Evolution - FOSDEM...

$ curl http://localhost:9200

{

"name": "elasticsearch1",

"cluster_name": "docker-cluster",

"cluster_uuid": "sW2BcTZRRCSVVH2sDsWF8A",

"version": {

"number": "5.6.7",

"build_hash": "4669214",

"build_date": "2018-01-25T21:14:50.776Z",

"build_snapshot": false,

"lucene_version": "6.6.1"

},

"tagline": "You Know, for Search"

}

Page 12: (R)Evolution - FOSDEM...
Page 13: (R)Evolution - FOSDEM...
Page 14: (R)Evolution - FOSDEM...
Page 15: (R)Evolution - FOSDEM...
Page 16: (R)Evolution - FOSDEM...
Page 17: (R)Evolution - FOSDEM...
Page 18: (R)Evolution - FOSDEM...
Page 19: (R)Evolution - FOSDEM...
Page 20: (R)Evolution - FOSDEM...

Evolution

Page 21: (R)Evolution - FOSDEM...

TermsCluster, Node, Index, Shard, Document

Page 22: (R)Evolution - FOSDEM...
Page 23: (R)Evolution - FOSDEM...

Strictness*

5.0

* Demo

Page 24: (R)Evolution - FOSDEM...
Page 25: (R)Evolution - FOSDEM...

Parameters & configs

Page 26: (R)Evolution - FOSDEM...

Bootstrap checks

Page 27: (R)Evolution - FOSDEM...

Rolling Upgrades*

6.0

* Demo

Page 28: (R)Evolution - FOSDEM...
Page 29: (R)Evolution - FOSDEM...

Floodstage Watermark*

6.0

* Demo

Page 30: (R)Evolution - FOSDEM...
Page 31: (R)Evolution - FOSDEM...

Low 85%

High 90%

Floodstage 95%

Page 32: (R)Evolution - FOSDEM...

Sequence Numbers*

6.0

* Demo

Page 33: (R)Evolution - FOSDEM...
Page 34: (R)Evolution - FOSDEM...
Page 35: (R)Evolution - FOSDEM...

63 bits ought to beenough for anyone.

Page 36: (R)Evolution - FOSDEM...

Cross datacenter replication6.x

Page 37: (R)Evolution - FOSDEM...

Types*

5.6 to 8.0

* Demo

Page 38: (R)Evolution - FOSDEM...
Page 39: (R)Evolution - FOSDEM...

Why

Data types

Sparsity

Scoring

Page 40: (R)Evolution - FOSDEM...

How

5.6 opt-in single type

6.x single type

7.x type optional in API

8.x no more types

https://www.elastic.co/guide/en/elasticsearch/reference/6.1/removal-of-types.html#_schedule_for_removal_of_mapping_types

Page 41: (R)Evolution - FOSDEM...

Automatic Queue Resizing6.0

Page 42: (R)Evolution - FOSDEM...

Reject and retry instead of long queues

thread_pool.search.target_response_rate: 2s

Serving 50 requests/s

Queue size:

Page 43: (R)Evolution - FOSDEM...

Adaptive Replica Selection6.1

Page 44: (R)Evolution - FOSDEM...
Page 45: (R)Evolution - FOSDEM...

Pick best shardExponentially Weighted Moving Average

(EWMA)

Piggyback on requests

Page 46: (R)Evolution - FOSDEM...
Page 47: (R)Evolution - FOSDEM...

Shrink & Split*

5.06.1

* Demo

Page 48: (R)Evolution - FOSDEM...
Page 49: (R)Evolution - FOSDEM...

Shrink

Combine shards by a factor

Page 50: (R)Evolution - FOSDEM...
Page 51: (R)Evolution - FOSDEM...

Split

Split into a factor of number_of_routing_shards

Page 52: (R)Evolution - FOSDEM...

Benchmarks∞

Page 53: (R)Evolution - FOSDEM...
Page 54: (R)Evolution - FOSDEM...
Page 55: (R)Evolution - FOSDEM...

Rallyhttps://elasticsearch-benchmarks.elastic.co

Page 56: (R)Evolution - FOSDEM...

Conclusion

Page 57: (R)Evolution - FOSDEM...

Strictness

Rolling Upgrades

Floodstage Watermark

Sequence Numbers

Page 58: (R)Evolution - FOSDEM...

Types

Automatic Queue Resizing

Adaptive Replica Selection

Shrink & Split

Page 59: (R)Evolution - FOSDEM...

Questions?Philipp Krenn@xeraa