SlideShare a Scribd company logo
Searchable Snapshot でコスト削減
Acroquest Technology株式会社
Elastic Certified Engineer / Analyst
樋口 慎
樋口 慎 (@shin0higuchi)
Acroquest Technology
業務
執筆
• データ分析(時系列データ・自然言語)
• 検索システム構築/コンサルティング
• Elasticsearch NEXT STEP
• Elasticsearch NEXT STEP 2
資格
• Elastic Certified Engineer
• Elastic Certified Analyst
前提のお話
1. Elasticsearchのデータ構造
① インデックスは、内部的に「シャード」という単位で分割保持される。
② 各シャードは通常、レプリカを保持することで可用性を保っている。
node_1
Primary1
node_2
Primary3
node_3
Primary2
Replica1
Replica3
Replica2
Elasticsearchクラスタ
Replica Shardは、
Primary Shardとは別の
ノードに配置される
Searchable Snapshotとは?
1. クラウドストレージなどに保存しておいた Snapshot を
Elasticsearchにマウントし、検索可能にする機能。
2. 想定されるユースケース
① 検索リクエストが少ないインデックスのReplica代わりに利用する。
② 過去データのアーカイブとして、必要な時のみElasticsearchにマウント。
node_1
Primary1
node_2
Primary3
node_3
Primary2
クラウドストレージ等に
保存されたSnapshot
クラウドストレージに
Snapshotがあるため
レプリカが不要※
[※] 検索リクエストが多い場合は、スループットを向上させる目的でレプリカを保持する場合があることに注意。
1. たとえば、時系列データが "syslog-yyyymmdd" のように、
日毎のインデックスに保持される場合…
時系列データのライフサイクル例
No. フェーズ 保持するログ期間 特徴
1 Hot 当日のログのみ 書込み・検索に耐えうるHot Nodeに配置する。
(充分なRAM・CPU・SSD推奨)
2 Warm ~1ヶ月前のログまで
(Hot除く)
書込みが発生しないので、Hot Nodeよりも
一般に要求スペックが低いWarm Nodeに配置する。
検索速度要件が緩いならHDD利用も選択肢のひとつ。
3 Cold※ 1ヶ月以上過去のログ Searchable Snapshot を利用する。
レプリカを保持しないため、ストレージを節約できる。
※ 現在開発中のFrozen Tierでは、メタデータのみをElasticsearchに保持し、さらなるストレージ節約が可能となる見込み
結局何が嬉しいのか?
1. ストレージコストの削減
① レプリカシャードを保持しない
② 過去のアーカイブデータはElasticsearchから退避させることができる
2. ヒープ利用率の低減
① レプリカシャードを保持しない
デモ
1. 手動でAPIから実行する。
① Snapshot取得
② Mount snapshot APIの実行
③ 検索してみる
2. ILM (Index Lifecycle Management)で自動化する。
3. Async Search
Snapshot取得
PUT _snapshot/gcs_repository
{
"type": "gcs",
"settings": {
"bucket": "my_bucket",
"client": "my_client"
}
}
GCSの場合
①リポジトリ作成
②Snapshot取得
取得したSnapshotを確認
Mount Snapshot API
• 対象のインデックスが既に open になっている場合は、renamed_index で別名にする。
→ 元インデックスを削除してからマウントする方が良いかも
• "index_settings"や"ignored_index_settings"で、インデックス設定を変更可能。
ILM設定
1. Kibanaから設定可能
Async Search
1. Ver. 7.7 で実装された、非同期検索機能。
時間のかかる検索をバックグラウンドで走らせておき、
あとで結果を取得することができる。
2. 過去の大量データを集計するなどの重い処理に適しており、
Searchable Snapshotと併せて利用するケースが想定できる。
Async Search
POST <index名>/_async_search
※bodyには、あえて重いクエリを記述している
クエリが実行中の場合は、一旦 id を返す
Async Search
GET /_async_search/<先ほど受け取ったid>
先ほどとは違い、結果が取得できている
さいごに
1. Searchable Snapshotは、
ログ分析における Index Life Cycle の定石となりそう。
2. 今後の Frozen 対応でさらにリソース効率が向上する見込み。
ご清聴ありがとうございました。
Evolve the Earth with Emotion of Technology

More Related Content

What's hot

第六回渋谷Java Java8のJVM監視を考える
第六回渋谷Java Java8のJVM監視を考える第六回渋谷Java Java8のJVM監視を考える
第六回渋谷Java Java8のJVM監視を考えるchonaso
 
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
Miki Shimogai
 
メッチャ役に立つauto_incrementの話
メッチャ役に立つauto_incrementの話メッチャ役に立つauto_incrementの話
メッチャ役に立つauto_incrementの話
株式会社シャーロック
 
MLOpsの概要と初学者が気をつけたほうが良いこと
MLOpsの概要と初学者が気をつけたほうが良いことMLOpsの概要と初学者が気をつけたほうが良いこと
MLOpsの概要と初学者が気をつけたほうが良いこと
Sho Tanaka
 
V$SQLとその周辺でER図を描いてみよう!
V$SQLとその周辺でER図を描いてみよう!V$SQLとその周辺でER図を描いてみよう!
V$SQLとその周辺でER図を描いてみよう!
歩 柴田
 
SQLチューニング勉強会資料
SQLチューニング勉強会資料SQLチューニング勉強会資料
SQLチューニング勉強会資料
Shinnosuke Akita
 
カスタムプランと汎用プラン
カスタムプランと汎用プランカスタムプランと汎用プラン
カスタムプランと汎用プラン
Masao Fujii
 
パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理
Kouji Matsui
 
Monix Taskが便利だという話
Monix Taskが便利だという話Monix Taskが便利だという話
Monix Taskが便利だという話
Taisuke Oe
 
より深く知るオプティマイザとそのチューニング
より深く知るオプティマイザとそのチューニングより深く知るオプティマイザとそのチューニング
より深く知るオプティマイザとそのチューニング
Yuto Hayamizu
 
Jbatch実践入門 #jdt2015
Jbatch実践入門 #jdt2015Jbatch実践入門 #jdt2015
Jbatch実践入門 #jdt2015
Norito Agetsuma
 
Lineにおけるspring frameworkの活用
Lineにおけるspring frameworkの活用Lineにおけるspring frameworkの活用
Lineにおけるspring frameworkの活用
Tokuhiro Matsuno
 
Elastic ML Introduction
Elastic ML IntroductionElastic ML Introduction
Elastic ML Introduction
Hiroshi Yoshioka
 
SQL Server チューニング基礎
SQL Server チューニング基礎SQL Server チューニング基礎
SQL Server チューニング基礎
Microsoft
 
PostgreSQL Query Cache - "pqc"
PostgreSQL Query Cache - "pqc"PostgreSQL Query Cache - "pqc"
PostgreSQL Query Cache - "pqc"
Uptime Technologies LLC (JP)
 
Automata Invasion
Automata InvasionAutomata Invasion
Automata Invasion
lucenerevolution
 
async/await のしくみ
async/await のしくみasync/await のしくみ
async/await のしくみ
信之 岩永
 
祝Elasticsearch 7.6、date, number 型での ソートがさらに高速に!? Magic WANDってなんですか?
祝Elasticsearch 7.6、date, number 型での ソートがさらに高速に!?  Magic WANDってなんですか?祝Elasticsearch 7.6、date, number 型での ソートがさらに高速に!?  Magic WANDってなんですか?
祝Elasticsearch 7.6、date, number 型での ソートがさらに高速に!? Magic WANDってなんですか?
Koji Kawamura
 
シンプルでシステマチックな Linux 性能分析方法
シンプルでシステマチックな Linux 性能分析方法シンプルでシステマチックな Linux 性能分析方法
シンプルでシステマチックな Linux 性能分析方法
Yohei Azekatsu
 
CPUから見たG1GC
CPUから見たG1GCCPUから見たG1GC
CPUから見たG1GC
Kenji Kazumura
 

What's hot (20)

第六回渋谷Java Java8のJVM監視を考える
第六回渋谷Java Java8のJVM監視を考える第六回渋谷Java Java8のJVM監視を考える
第六回渋谷Java Java8のJVM監視を考える
 
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
 
メッチャ役に立つauto_incrementの話
メッチャ役に立つauto_incrementの話メッチャ役に立つauto_incrementの話
メッチャ役に立つauto_incrementの話
 
MLOpsの概要と初学者が気をつけたほうが良いこと
MLOpsの概要と初学者が気をつけたほうが良いことMLOpsの概要と初学者が気をつけたほうが良いこと
MLOpsの概要と初学者が気をつけたほうが良いこと
 
V$SQLとその周辺でER図を描いてみよう!
V$SQLとその周辺でER図を描いてみよう!V$SQLとその周辺でER図を描いてみよう!
V$SQLとその周辺でER図を描いてみよう!
 
SQLチューニング勉強会資料
SQLチューニング勉強会資料SQLチューニング勉強会資料
SQLチューニング勉強会資料
 
カスタムプランと汎用プラン
カスタムプランと汎用プランカスタムプランと汎用プラン
カスタムプランと汎用プラン
 
パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理
 
Monix Taskが便利だという話
Monix Taskが便利だという話Monix Taskが便利だという話
Monix Taskが便利だという話
 
より深く知るオプティマイザとそのチューニング
より深く知るオプティマイザとそのチューニングより深く知るオプティマイザとそのチューニング
より深く知るオプティマイザとそのチューニング
 
Jbatch実践入門 #jdt2015
Jbatch実践入門 #jdt2015Jbatch実践入門 #jdt2015
Jbatch実践入門 #jdt2015
 
Lineにおけるspring frameworkの活用
Lineにおけるspring frameworkの活用Lineにおけるspring frameworkの活用
Lineにおけるspring frameworkの活用
 
Elastic ML Introduction
Elastic ML IntroductionElastic ML Introduction
Elastic ML Introduction
 
SQL Server チューニング基礎
SQL Server チューニング基礎SQL Server チューニング基礎
SQL Server チューニング基礎
 
PostgreSQL Query Cache - "pqc"
PostgreSQL Query Cache - "pqc"PostgreSQL Query Cache - "pqc"
PostgreSQL Query Cache - "pqc"
 
Automata Invasion
Automata InvasionAutomata Invasion
Automata Invasion
 
async/await のしくみ
async/await のしくみasync/await のしくみ
async/await のしくみ
 
祝Elasticsearch 7.6、date, number 型での ソートがさらに高速に!? Magic WANDってなんですか?
祝Elasticsearch 7.6、date, number 型での ソートがさらに高速に!?  Magic WANDってなんですか?祝Elasticsearch 7.6、date, number 型での ソートがさらに高速に!?  Magic WANDってなんですか?
祝Elasticsearch 7.6、date, number 型での ソートがさらに高速に!? Magic WANDってなんですか?
 
シンプルでシステマチックな Linux 性能分析方法
シンプルでシステマチックな Linux 性能分析方法シンプルでシステマチックな Linux 性能分析方法
シンプルでシステマチックな Linux 性能分析方法
 
CPUから見たG1GC
CPUから見たG1GCCPUから見たG1GC
CPUから見たG1GC
 

Similar to Searchable Snapshot でコスト削減

Intro2 Sqlanalyzer
Intro2 SqlanalyzerIntro2 Sqlanalyzer
Intro2 Sqlanalyzer
saeka
 
超個体性をもったエッジコンピューティング実現に向けたElixir/Nerves環境の適合性評価
超個体性をもったエッジコンピューティング実現に向けたElixir/Nerves環境の適合性評価超個体性をもったエッジコンピューティング実現に向けたElixir/Nerves環境の適合性評価
超個体性をもったエッジコンピューティング実現に向けたElixir/Nerves環境の適合性評価
Shunsuke Kikuchi
 
Elasticsearch workshop 23_sql
Elasticsearch workshop 23_sqlElasticsearch workshop 23_sql
Elasticsearch workshop 23_sql
shinhiguchi
 
Glueの開発環境(zeppelin)をrancherで作ってみる
Glueの開発環境(zeppelin)をrancherで作ってみるGlueの開発環境(zeppelin)をrancherで作ってみる
Glueの開発環境(zeppelin)をrancherで作ってみる
cloudfish
 
メディアコンテンツ向け記事検索DBとして使うElasticsearch
メディアコンテンツ向け記事検索DBとして使うElasticsearchメディアコンテンツ向け記事検索DBとして使うElasticsearch
メディアコンテンツ向け記事検索DBとして使うElasticsearch
Yasuhiro Murata
 
PPT Full version: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
PPT Full version: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみようPPT Full version: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
PPT Full version: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
Daisuke Masubuchi
 
Elasticsaerch Runtime Field
Elasticsaerch Runtime FieldElasticsaerch Runtime Field
Elasticsaerch Runtime Field
Nomura Yuta
 
Renewed using elasticsearchonaspnet-core5
Renewed using elasticsearchonaspnet-core5Renewed using elasticsearchonaspnet-core5
Renewed using elasticsearchonaspnet-core5
Shotaro Suzuki
 
[C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama
[C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama[C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama
[C31]世界最速カラムナーDBは本物だ! by Daisuke HiramaInsight Technology, Inc.
 
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#1
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#1しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#1
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#1
オラクルエンジニア通信
 
Integrating elasticsearch with asp dot net core
Integrating elasticsearch with asp dot net coreIntegrating elasticsearch with asp dot net core
Integrating elasticsearch with asp dot net core
Shotaro Suzuki
 
Building asp.net core blazor and elasticsearch elasticsearch using visual stu...
Building asp.net core blazor and elasticsearch elasticsearch using visual stu...Building asp.net core blazor and elasticsearch elasticsearch using visual stu...
Building asp.net core blazor and elasticsearch elasticsearch using visual stu...
Shotaro Suzuki
 
Azure Data Explorer
Azure Data ExplorerAzure Data Explorer
Azure Data Explorer
Daisuke Masubuchi
 
ネットワークプログラマビリティ勉強会 これまでのおさらい
ネットワークプログラマビリティ勉強会 これまでのおさらいネットワークプログラマビリティ勉強会 これまでのおさらい
ネットワークプログラマビリティ勉強会 これまでのおさらい
npsg
 
Learn, build, and scale with elastic - realizing great programming experience...
Learn, build, and scale with elastic - realizing great programming experience...Learn, build, and scale with elastic - realizing great programming experience...
Learn, build, and scale with elastic - realizing great programming experience...
Shotaro Suzuki
 
Kinesis Analyticsの適用できない用途と、Kinesis Firehoseの苦労話
Kinesis Analyticsの適用できない用途と、Kinesis Firehoseの苦労話Kinesis Analyticsの適用できない用途と、Kinesis Firehoseの苦労話
Kinesis Analyticsの適用できない用途と、Kinesis Firehoseの苦労話
Sotaro Kimura
 
Elastic7.12 release-new-features-on-0428
Elastic7.12 release-new-features-on-0428Elastic7.12 release-new-features-on-0428
Elastic7.12 release-new-features-on-0428
Shotaro Suzuki
 
PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020
PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020
PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020
Daisuke Masubuchi
 
Css2014 ruo ando_2014-10-23-01
Css2014 ruo ando_2014-10-23-01Css2014 ruo ando_2014-10-23-01
Css2014 ruo ando_2014-10-23-01Ruo Ando
 
産総研AIクラウドでChainerMN
産総研AIクラウドでChainerMN産総研AIクラウドでChainerMN
産総研AIクラウドでChainerMN
Hitoshi Sato
 

Similar to Searchable Snapshot でコスト削減 (20)

Intro2 Sqlanalyzer
Intro2 SqlanalyzerIntro2 Sqlanalyzer
Intro2 Sqlanalyzer
 
超個体性をもったエッジコンピューティング実現に向けたElixir/Nerves環境の適合性評価
超個体性をもったエッジコンピューティング実現に向けたElixir/Nerves環境の適合性評価超個体性をもったエッジコンピューティング実現に向けたElixir/Nerves環境の適合性評価
超個体性をもったエッジコンピューティング実現に向けたElixir/Nerves環境の適合性評価
 
Elasticsearch workshop 23_sql
Elasticsearch workshop 23_sqlElasticsearch workshop 23_sql
Elasticsearch workshop 23_sql
 
Glueの開発環境(zeppelin)をrancherで作ってみる
Glueの開発環境(zeppelin)をrancherで作ってみるGlueの開発環境(zeppelin)をrancherで作ってみる
Glueの開発環境(zeppelin)をrancherで作ってみる
 
メディアコンテンツ向け記事検索DBとして使うElasticsearch
メディアコンテンツ向け記事検索DBとして使うElasticsearchメディアコンテンツ向け記事検索DBとして使うElasticsearch
メディアコンテンツ向け記事検索DBとして使うElasticsearch
 
PPT Full version: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
PPT Full version: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみようPPT Full version: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
PPT Full version: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
 
Elasticsaerch Runtime Field
Elasticsaerch Runtime FieldElasticsaerch Runtime Field
Elasticsaerch Runtime Field
 
Renewed using elasticsearchonaspnet-core5
Renewed using elasticsearchonaspnet-core5Renewed using elasticsearchonaspnet-core5
Renewed using elasticsearchonaspnet-core5
 
[C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama
[C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama[C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama
[C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama
 
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#1
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#1しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#1
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#1
 
Integrating elasticsearch with asp dot net core
Integrating elasticsearch with asp dot net coreIntegrating elasticsearch with asp dot net core
Integrating elasticsearch with asp dot net core
 
Building asp.net core blazor and elasticsearch elasticsearch using visual stu...
Building asp.net core blazor and elasticsearch elasticsearch using visual stu...Building asp.net core blazor and elasticsearch elasticsearch using visual stu...
Building asp.net core blazor and elasticsearch elasticsearch using visual stu...
 
Azure Data Explorer
Azure Data ExplorerAzure Data Explorer
Azure Data Explorer
 
ネットワークプログラマビリティ勉強会 これまでのおさらい
ネットワークプログラマビリティ勉強会 これまでのおさらいネットワークプログラマビリティ勉強会 これまでのおさらい
ネットワークプログラマビリティ勉強会 これまでのおさらい
 
Learn, build, and scale with elastic - realizing great programming experience...
Learn, build, and scale with elastic - realizing great programming experience...Learn, build, and scale with elastic - realizing great programming experience...
Learn, build, and scale with elastic - realizing great programming experience...
 
Kinesis Analyticsの適用できない用途と、Kinesis Firehoseの苦労話
Kinesis Analyticsの適用できない用途と、Kinesis Firehoseの苦労話Kinesis Analyticsの適用できない用途と、Kinesis Firehoseの苦労話
Kinesis Analyticsの適用できない用途と、Kinesis Firehoseの苦労話
 
Elastic7.12 release-new-features-on-0428
Elastic7.12 release-new-features-on-0428Elastic7.12 release-new-features-on-0428
Elastic7.12 release-new-features-on-0428
 
PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020
PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020
PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020
 
Css2014 ruo ando_2014-10-23-01
Css2014 ruo ando_2014-10-23-01Css2014 ruo ando_2014-10-23-01
Css2014 ruo ando_2014-10-23-01
 
産総研AIクラウドでChainerMN
産総研AIクラウドでChainerMN産総研AIクラウドでChainerMN
産総研AIクラウドでChainerMN
 

Searchable Snapshot でコスト削減