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

What's hot (20)

Kafka・Storm・ZooKeeperの認証と認可について #kafkajp
Kafka・Storm・ZooKeeperの認証と認可について #kafkajpKafka・Storm・ZooKeeperの認証と認可について #kafkajp
Kafka・Storm・ZooKeeperの認証と認可について #kafkajp
 
[JJUG CCC 2021 Spring]Eclipse ユーザのための VSCode のススメ
[JJUG CCC 2021 Spring]Eclipse ユーザのための VSCode のススメ[JJUG CCC 2021 Spring]Eclipse ユーザのための VSCode のススメ
[JJUG CCC 2021 Spring]Eclipse ユーザのための VSCode のススメ
 
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
 
PostgreSQL 9.6 新機能紹介
PostgreSQL 9.6 新機能紹介PostgreSQL 9.6 新機能紹介
PostgreSQL 9.6 新機能紹介
 
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenStackを使用したGPU仮想化IaaS環境 事例紹介OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
 
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システムMySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
 
Azure load testingを利用したパフォーマンステスト
Azure load testingを利用したパフォーマンステストAzure load testingを利用したパフォーマンステスト
Azure load testingを利用したパフォーマンステスト
 
Kubernetes超入門 with java
Kubernetes超入門 with javaKubernetes超入門 with java
Kubernetes超入門 with java
 
OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作
 
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
これからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきことこれからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきこと
 
Java でつくる 低レイテンシ実装の技巧
Java でつくる低レイテンシ実装の技巧Java でつくる低レイテンシ実装の技巧
Java でつくる 低レイテンシ実装の技巧
 
AKS と ACI を組み合わせて使ってみた
AKS と ACI を組み合わせて使ってみたAKS と ACI を組み合わせて使ってみた
AKS と ACI を組み合わせて使ってみた
 
企業・業界情報プラットフォームSPEEDAにおけるElasticsearchの活用
企業・業界情報プラットフォームSPEEDAにおけるElasticsearchの活用企業・業界情報プラットフォームSPEEDAにおけるElasticsearchの活用
企業・業界情報プラットフォームSPEEDAにおけるElasticsearchの活用
 
Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26
Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26
Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26
 
Prometheus at Preferred Networks
Prometheus at Preferred NetworksPrometheus at Preferred Networks
Prometheus at Preferred Networks
 
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
 
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンFluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターン
 
YugabyteDBの拡張機能(YugabyteDB Meetup #2 発表資料)
YugabyteDBの拡張機能(YugabyteDB Meetup #2 発表資料)YugabyteDBの拡張機能(YugabyteDB Meetup #2 発表資料)
YugabyteDBの拡張機能(YugabyteDB Meetup #2 発表資料)
 
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
 

Similar to Searchable Snapshot でコスト削減

[C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama
[C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama[C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama
[C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama
Insight Technology, Inc.
 
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
Ruo Ando
 

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

Elastic ML Introduction
Elastic ML IntroductionElastic ML Introduction
Elastic ML Introduction
 
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
 

Searchable Snapshot でコスト削減