Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Consistency & Elasticsearch
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Elasticsearch Inc
November 04, 2013
Technology
1.3k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Consistency & Elasticsearch
Fun with working around eventual consistency!
Elasticsearch Inc
November 04, 2013
More Decks by Elasticsearch Inc
See All by Elasticsearch Inc
OSCON: Scaling a distributed engineering team from 50-250
elasticsearch
13
1.6k
Stuff a Search Engine Can Do
elasticsearch
17
1.7k
Using Elastic to monitor anything
elasticsearch
3
1.6k
Log all the things!
elasticsearch
4
1.3k
Why Elastic? @ 50th Vinitaly 2016
elasticsearch
5
2k
What's New In Elasticland?
elasticsearch
3
1.1k
Kibana, Timelion, Graph Meetup
elasticsearch
3
880
Elastic for Time Series Data and Predictive Analytics
elasticsearch
4
3.2k
Elastic 2.0
elasticsearch
1
800
Other Decks in Technology
See All in Technology
Classmethod Company Deck
satoshi7
1
680
AIカンパニーへの転換を支えた、エンジニアの仕事の再定義
kworkdev
PRO
2
1.2k
Rust で関数型ドメインモデリング
takonda
0
140
大型犬好きによるPugの紹介
yamanoku
1
160
スキマバイトという雇用形態は存在しないので、雇用期間1日のアルバイト契約を事業者とワーカーが結ぶ手続きを支えるのがタイミーなんです
akitoshiga
0
200
AI時代のPRレビューにどう向き合うか?
kairim0
1
240
実践!Cloud Run ハンズオン!! / Cloud Run handson
y0hgi
2
280
AI駆動で「他アプリの音を加工できる」アプリを作った
satomasahiro2005
0
150
DGX Spark でどこまでハッキングができるのか?
kash1064
3
1.3k
ブラウザとサーバーから考えるAI時代のフロントエンド監視
shogo4131
3
940
Benchmarking Disaggregated Serving on vLLM + Dynamo with a Real Coding-Agent Workload
nttcom
1
190
AI × アーキテクト 第1・2章|生成AIの課題とアーキテクトの素養
daidaidai
0
170
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
529
40k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Crafting Experiences
bethany
1
380
Agile that works and the tools we love
rasmusluckow
331
22k
Fantastic passwords and where to find them - at NoRuKo
philnash
53
4k
Tell your own story through comics
letsgokoyo
1
1.1k
Utilizing Notion as your number one productivity tool
mfonobong
4
620
How to Ace a Technical Interview
jacobian
280
24k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
570
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
480
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
800
Transcript
Elasticsearch & Data Consistency @drewr Tuesday, November 5, 13
Search Tuesday, November 5, 13
Data Tuesday, November 5, 13
Fast Tuesday, November 5, 13
Distributed Tuesday, November 5, 13
Tuesday, November 5, 13
Tuesday, November 5, 13
Tuesday, November 5, 13
Tuesday, November 5, 13
Tuesday, November 5, 13
Tuesday, November 5, 13
Tuesday, November 5, 13
Tuesday, November 5, 13
Tuesday, November 5, 13
Tuesday, November 5, 13
Tuesday, November 5, 13
Tuesday, November 5, 13
Tuesday, November 5, 13
Tuesday, November 5, 13
Tuesday, November 5, 13
P R R P Tuesday, November 5, 13
Requests Tuesday, November 5, 13
Tuesday, November 5, 13
Tuesday, November 5, 13
Tuesday, November 5, 13
Tuesday, November 5, 13
? ? ? ? Tuesday, November 5, 13
Consistency Tuesday, November 5, 13
PUT /foo/t/one { "age": 35, "bio": "Some long text", "name":
"Foo" } Tuesday, November 5, 13
Update http://www.elasticsearch.org/guide/reference/api/update/ Tuesday, November 5, 13
POST /foo/t/one/_update { "doc": { "name": "Bar" } } Tuesday,
November 5, 13
POST /foo/t/one/_update { "params": { "ageinc": 1 }, "script": "ctx._source.age
+= ageinc" } Tuesday, November 5, 13
PUT /foo/t/one { "age": 36, "bio": "Some long text", "name":
"Bar" } Tuesday, November 5, 13
A write is a write... Tuesday, November 5, 13
{ "_id": "one", "_index": "foo", "_type": "t", "_version": 1, "ok":
true } Tuesday, November 5, 13
{ "_id": "one", "_index": "foo", "_type": "t", "_version": 1, "ok":
true } Tuesday, November 5, 13
PUT /foo/t/one { "age": 36, "bio": "Some long text", "name":
"Baz" } Tuesday, November 5, 13
{ "_id": "one", "_index": "foo", "_type": "t", "_version": 2, "ok":
true } Tuesday, November 5, 13
PUT /foo/t/one?version=1 { "age": 36, "bio": "Some long text", "name":
"Baz" } Tuesday, November 5, 13
{ "error": "VersionConflict... current [2], provided [1]]", "status": 409 }
Tuesday, November 5, 13
PUT /foo/t/one?version=2 { "age": 36, "bio": "Some long text", "name":
"Baz" } Tuesday, November 5, 13
{ "_id": "one", "_index": "foo", "_type": "t", "_version": 3, "ok":
true } Tuesday, November 5, 13
GET/Search Tuesday, November 5, 13
PUT /foo/t/one?version=3&refresh=true { "age": 36, "bio": "Some long text", "name":
"Quux" } Tuesday, November 5, 13
{ "_id": "one", "_index": "foo", "_type": "t", "_version": 4, "ok":
true } Tuesday, November 5, 13
?consistency=... Tuesday, November 5, 13
?replication=... Tuesday, November 5, 13
Case Study Tuesday, November 5, 13
Tuesday, November 5, 13
Tuesday, November 5, 13
No New Deployment Tuesday, November 5, 13
No New Deployment Consume perf loss OK Tuesday, November 5,
13
No New Deployment Consume perf loss OK Don’t really care
about AMQP Tuesday, November 5, 13
Rabbit Elasticsearch Exchange Index Queue Type Routing key ? Tuesday,
November 5, 13
news.politics.uk news.sports news.politics.usa news.* trade.dow trade.nasdaq Tuesday, November 5, 13
Search! Tuesday, November 5, 13
POST /exch/test.foo { "op": "frob", "thing": "/over/there" } Publish... Tuesday,
November 5, 13
GET /exch/test.foo/_search { "query": { "bool": { "must": [ {
"constant_score": { "filter": { "missing": { "existence": true, "field": "__q_status", "null_value": true } } } }, { "prefix": { "_type": "test.foo" } } ] } }, "size": 1, "sort": [ { "__q_control": { "order": "desc" } } ] } Consume... Tuesday, November 5, 13
PUT /exch/test.foo/UN1QU3ID?version=1&refresh=true { ... "__q_status": "unack" } Consume... Tuesday, November
5, 13
PUT /exch/test.foo/UN1QU3ID?version=2&refresh=true { ... "__q_status": "ack" } Finish up... Tuesday,
November 5, 13
Performance Tuesday, November 5, 13
Conclusion Tuesday, November 5, 13