Elasticsearch (R)Evolution — You Know, for Search...

A presentation at Berlin Buzzwords in June 2018 in Berlin, Germany by Philipp Krenn

Slide 1

Slide 1

(R) Evolution Philipp Krenn 44444444 @xeraa

Slide 2

Slide 2

Developer !

Slide 3

Slide 3

Questions: https://sli.do/xeraa Answers: https://twitter.com/xeraa

Slide 4

Slide 4

Revolution

Slide 5

Slide 5

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

Slide 6

Slide 6

Slide 7

Slide 7

Slide 8

Slide 8

Evolution

Slide 9

Slide 9

Strictness * 5.0 *  Demo

Slide 10

Slide 10

Slide 11

Slide 11

Bootstrap Checks https://www.elastic.co/guide/en/elasticsearch/ reference/current/bootstrap-checks.html

Slide 12

Slide 12

Parameters & Configs

Slide 13

Slide 13

Rolling Upgrades * 6.0 *  Demo

Slide 14

Slide 14

Slide 15

Slide 15

Floodstage Watermark * 6.0 *  Demo

Slide 16

Slide 16

Slide 17

Slide 17

Low 85% High 90% Floodstage 95%

Slide 18

Slide 18

Sequence Numbers * 6.0 *  Demo

Slide 19

Slide 19

Slide 20

Slide 20

Slide 21

Slide 21

63 bits ought to be enough for anyone.

Slide 22

Slide 22

Tradeoff index.translog.retention.size: 512MB index.translog.retention.age: 12h

Slide 23

Slide 23

Cross Datacenter Replication 6.x or 7.x

Slide 24

Slide 24

Types * 5.6 to 8.0 *  Demo

Slide 25

Slide 25

Slide 26

Slide 26

Why Data types Sparsity Scoring

Slide 27

Slide 27

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/current/ removal-of-types.html#_schedule_for_removal_of_mapping_types

Slide 28

Slide 28

Automatic Queue Resizing 6.0

Slide 29

Slide 29

Reject and Retry Instead of Long Queues thread_pool.search.target_response_rate: 2s Serving 50 requests/s Queue size:

Slide 30

Slide 30

Adaptive Replica Selection 6.1 (enabled by default in 7.0)

Slide 31

Slide 31

Slide 32

Slide 32

Pick Best Shard Exponentially Weighted Moving Average (EWMA) Piggyback on responses to coordinating node

Slide 33

Slide 33

Shrink & Split * 4 5.0 444 6.1 *  Demo

Slide 34

Slide 34

Slide 35

Slide 35

Shrink Combine shards by a factor

Slide 36

Slide 36

Slide 37

Slide 37

Split Split into a factor of number_of_routing_shards Not required in 7.0+

Slide 38

Slide 38

Open Code 6.3

Slide 39

Slide 39

Slide 40

Slide 40

Slide 41

Slide 41

Slide 42

Slide 42

Shards 7.0

Slide 43

Slide 43

Slide 44

Slide 44

Default: 1 Shard per Index Oversharding

Slide 45

Slide 45

Simon Says Use a single shard until it blows up

Slide 46

Slide 46

Beats: Rollover Planning phase: size based, depends on ILM

Slide 47

Slide 47

JDK 11 ? 7.0

Slide 48

Slide 48

Can users upgrade? Version for Java clients?

Slide 49

Slide 49

Low-level REST: independent (JDK 7) High-level REST: JDK 11 Transport: deprecated

Slide 50

Slide 50

Benchmarks ∞

Slide 51

Slide 51

Slide 52

Slide 52

Slide 53

Slide 53

Rally https://elasticsearch-benchmarks.elastic.co

Slide 54

Slide 54

Conclusion

Slide 55

Slide 55

Don't be Shay to change

Slide 56

Slide 56

Strictness Rolling Upgrades Floodstage Watermark Sequence Numbers Types

Slide 57

Slide 57

Automatic Queue Resizing & Adaptive Replica Selection Shrink & Split Open Code Default Shard Number JDK 11

Slide 58

Slide 58

https://www.meetup.com/Elasticsearch-Berlin/ Thursday, June 14, 19:00, Springer Nature

Slide 59

Slide 59

Questions? Philipp Krenn 4444444 @xeraa