Elastic 7.10 アップデートについて纏め & 今後の登壇予定について


皆様こんにちは！ Elastic PMM/Eva の鈴木章太郎です。
この記事は、[Elastic Stack (Elasticsearch) Advent Calendar 2020](https://qiita.com/advent-calendar/2020/elasticsearch)
の1６日目の記事です。1日遅くなり申し訳ございませんw

#昨日12/16に実施した Webinar について
お陰様で年末にもかかわらず、多くの皆様に参加いただきまして感謝しています。
まず、こちらがスライドになります。143枚...。ちょっと数枚は飛ばしましたが概ねご説明できたかと思います。

[Elastic 7.10 新機能ご紹介](https://www2.slideshare.net/shosuz/elastic710-newfeaturesintroduce-1216)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33599/3602e113-be64-91bf-575f-545633280d01.png)

こちらに登録して戴ければ動画も見れますので、ぜひご参加くださいませ。
[検索可能スナップショットほか、Elastic 7.10に新登場の全機能を解説](https://www.elastic.co/jp/webinars/introducing-searchable-snapshots-plus-all-new-features-in-elastic-7-10?token=kixy3ro4ek&ultron=introducing-searchable-snapshots-plus-all-new-features-in-Elastic-7-10)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33599/ee8e8851-c8ba-3aca-d58b-fe33c64acb49.png)

##7.10 アップデートの要点について

さて、ここでいくつか弊社のブログをもとに主要な点について、まとめておきたいと思います。

=== 

まずは Apache Lucene 8.7.0 をベースにした Elasticsearch 7.10.0 のリリースを発表できることを嬉しく思います。バージョン7.10 は、Elasticsearch の最新の安定版リリースであり、Elastic Cloud または Elastic サイトからダウンロードし、独自の環境（複数可）で使用します。
始める準備ができたら、必要なリンクはこちらです。
•	[ElasticCloud で Elasticsearchを開始します](https://www.elastic.co/cloud/)
•	[Elasticsearch をダウンロードする](https://www.elastic.co/downloads/elasticsearch)
•	[Elasticsearch 7.10.0 リリースノート](https://www.elastic.co/guide/en/elasticsearch/reference/7.10/release-notes-7.10.0.html)
•	[Elasticsearch 7.10.0 の重大な変更](https://www.elastic.co/guide/en/elasticsearch/reference/7.10/breaking-changes-7.0.html)
今回のリリースでは、Elastic Enterprise Search、Elastic Observability、および Elastic Security 3ソリューションはまた、重要な更新がありました。これらのアップデートの詳細については、Elastic 7.10 の[メインリリースブログ](https://www.elastic.co/blog/whats-new-elastic-7-10-0-searchable-snapshots-lens-user-experience-monitoring)を読むことを検討してください。

##Searchable Snapshots - より多く保存、より少ない費用で
データは多くの組織で指数関数的に増加しています。これは、システムの監視と保護に使用されるログ、メトリック、トレース、セキュリティイベントなどの時系列データに特に当てはまります。時系列データでは、Elasticsearchに取り込まれた最新のデータが価値があります。このデータは、アラート、機械学習の検出、DevOpsワークフロー、およびセキュリティイベントの監視を促進します。ただし、このすべてのデータを高性能インスタンスに保持すると、経済的に実現可能ではないにしても、非常にコストがかかる可能性があります。
これに対処するために、データのライフサイクルを調べ始めました。[インデックスライフサイクル管理](https://www.elastic.co/blog/elastic-stack-6-6-0-released)などの機能を使用することで、データを高性能で高コストの[「ホット」ノード](https://www.elastic.co/guide/en/elasticsearch/reference/7.10/data-tiers.html)から、パフォーマンスの低いディスクを備えた低コストの [「ウォーム」ノード](https://www.elastic.co/guide/en/elasticsearch/reference/7.10/data-tiers.html)に移動できました。
しかし、組織が何年ものデータを保持するように要求した場合はどうなるでしょうか。サイバーマンデーに毎年何人のユニークビジターがあなたのサイトを訪れたかという質問に答えていただけますか？または、セキュリティフォレンジック調査のためにユーザーが5年間にアクセスしたシステムの数はいくつですか？
これだけ多くのデータをウォームノードに保持するには、依然として多額の投資が必要です。これにより、多くの組織が一部のデータを[スナップショット](https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshots-take-snapshot.html)として保存するようになりました。検索が必要なときは、随時スナップショットからデータを復元するために時間をかける必要があるため、これは完全なソリューションではありません。

##Searchable Snapshot
[Searchable Snapshot](https://www.elastic.co/guide/en/elasticsearch/reference/7.10/searchable-snapshots.html) は、AWS S3、Microsoft Azure Storage、Google Cloud Storage などの低コストのオブジェクトストアで、検索パフォーマンスに大きな影響を与えることなく、復元せずにスナップショットを直接検索できる新しいベータ機能です。ストレージと検索のニーズを満たすために、コスト、パフォーマンス、機能のバランスを取ります。 
Searchable Snapshot は、[コールド層](https://www.elastic.co/guide/en/elasticsearch/reference/master/data-tiers.html#cold-tier)と呼ばれる新しいデータ層を強化し ます。同じくベータ版のコールドティアは、パフォーマンスに大きな影響を与えることなく、クラスターストレージを最大50％削減することで、読み取り専用データのストレージコストを大幅に削減するように設計されています。Elasticsearch に期待される自動リカバリを完全にサポートし、ホット層およびウォーム層と同じレベルの信頼性と冗長性を維持します。
より多くの情報を知りたいですか？ 詳細については、この[Searchable Snapshot 紹介ブログ](https://www.elastic.co/blog/introducing-elasticsearch-searchable-snapshots)をご覧ください。

##EQL で Elasticsearch のセキュリティを強化
7.9 では、新しい実験的なクエリ言語であるイベントクエリ言語 （EQL）を[発表](https://www.elastic.co/blog/whats-new-elasticsearch-7-9-0)しました。
[EQL](https://www.elastic.co/guide/en/elasticsearch/reference/7.x/eql-search-api.html) は、脅威の調査、識別、および防止のためのシステムの全体像を把握するために、Endgame 内で長年使用されてきました。セキュリティスペース内で使用されているこれらの同じ独自の機能が Elasticsearch に導入され、7.10 では、Elasticsearch の EQL が、Observability やその他の時系列データなどのユースケース向けにベータ版になりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33599/eba57e02-6e08-2ae3-aacf-1e5e8f416405.png)

EQL を理解するための優れた方法は、ホームセキュリティの例えを検討することです。家の出入り口から家に入るのは、夜遅くても疑わしいとは見なされません。しかし、玄関と裏口から同時に入居する人は、一度に2か所にいることはできないので疑問を投げかけます。また、90種類のキーを使用して1分以内に玄関のドアを開けなかったために誰かが家に入った場合も疑わしいかもしれません。
EQL は、イベント（フロントドアの開放）を簡単に取得し、他のイベントまたは一連のイベント（バックドアまたはウィンドウからの侵入、強制的な侵入など）を相互に関連付けて、システムの状態について結論を出すように設計されています。これらのイベントを一定期間にわたって相関させて、家に入る前に以前に失敗した90回の試行などの新しい洞察を見つけることができます。EQL の概要は[ここ](https://www.elastic.co/blog/introducing-event-query-language)で読むことができます。

##Elasticsearch の保存効率の向上とコスト削減
新しい保存フィールド圧縮を使用すると、最初のベンチマークでは、最大10％のスペース削減が報告されています。これは、特にペタバイト単位のデータの保存と維持にお金を払っている組織にとっては大きなニュースです。[Elastic Observability](https://www.elastic.co/observability) および [Elastic Security](https://www.elastic.co/security) ソリューションによって作成されたインデックスは、通常保持するデータの反復性により、[最大の節約が見込まれます](https://www.elastic.co/observability)。
保存フィールド圧縮の詳細と、インデックスサイズを最大10％節約する方法については、まもなくリリースされる保存フィールド圧縮ブログの概要をご覧ください。

##Elasticsearchのパフォーマンスの向上
Elastic は、検索集約のパフォーマンスとメモリ効率を継続的に改善するという使命を負っています。7.8 では、シリアル化結果を維持することによって、凝集メモリ消費量を低減し、7.9 では [search.max_buckets](https://www.elastic.co/guide/en/elasticsearch/reference/master/search-settings.html#search-settings-max-buckets) が65,535に制限されます。Elasticsearch チームは、7.10 でもこの作業を継続しており、特にコーディネーターノードとリクエストレベルのサーキットブレーカーを対象として、[カーディナリティ](https://www.elastic.co/guide/en/elasticsearch/reference/7.10/search-aggregations-metrics-cardinality-aggregation.html)と[バケット集約](https://www.elastic.co/guide/en/elasticsearch/reference/7.10/search-aggregations-bucket.html)のパフォーマンスとメモリ追跡を改善しています。日付範囲を事前計算することにより、[日付ヒストグラムの集計パフォーマンス](https://www.elastic.co/guide/en/elasticsearch/reference/7.10/search-aggregations-bucket-datehistogram-aggregation.html)も50％向上しました。

##Elasticsearch の機能と使いやすさの強化 
###ポイントインタイムリーダー
Elasticsearch でインデックスをクエリする場合、基本的には特定の時点でデータを検索します。クエリが上位10％の結果を返す場合、他の90％をどのようにクエリしますか？
ほとんどの可観測性とセキュリティのユースケースのように絶えず変化するインデックスでは、インデックスまたはデータがすでに変更されているため、別のクエリを送信すると異なる結果が返されます。ポイントインタイムリーダーを使用すると、特定の時点での状態でインデックスを繰り返しクエリできます。ポイントインタイムリーダーはすでに EQL クエリ言語を提供しており、将来的には他の多くのユースケースで使用する予定です。

###ワイルドカードフィールドタイプでの大文字と小文字の区別
Elasticsearch 7.9 では、新しい[ワイルドカードフィールドタイプ](https://www.elastic.co/guide/en/elasticsearch/reference/7.10/keyword.html#wildcard-field-type)が導入されました 。この新しいフィールドタイプが導入される前は、クエリ内でワイルドカードを使用するとリソースを大量に消費し、Webブラウザーでの検索方法について人間の行動を学習したにもかかわらず、通常は予想よりも検索時間が遅くなりました。ワイルドカードフィールドタイプは、追加の柔軟性とクエリを組み立てる簡単な方法を提供します。7.10では、大文字と小文字を区別しないクエリのサポートが追加されました。これにより、オプションの case_insensitive フラグを true に設定するだけで、デフォルトで用語レベルのクエリ（用語、用語、プレフィックス、ワイルドカード、正規表現など）の大文字と小文字を区別できなくなります。これは、Security と Observabilty のユースケースに大きなメリットをもたらすはずです。

###符号なし64ビット整数
[64ビット整数](https://www.elastic.co/guide/en/elasticsearch/reference/7.10/number.html#number)が登場しました！ Elasticsearch は、符号なし64ビット整数をサポートするようになりました。この新しい数値型は、0から264-1までの非常に大きな正の整数をサポートします。これは、ルーターからのカウンターや Windows レジストリイベントなど、システムで生成されたデータに特に役立ちます。集計は、最も近い double でも引き続き機能することに注意してください。財務、セキュリティ、ネットワークパフォーマンスのデータを扱う場合、これは素晴らしいニュースです。

###バージョンデータ型
数値がセマンティックであるソフトウェアバージョンをどのように検索できますか？[バージョンデータ型](https://www.elastic.co/guide/en/elasticsearch/reference/master/version.html) は、ソフトウェアバージョン値を処理し、セマンティックバージョニングに基づいてそれらの特殊な優先ルールをサポートするためのキーワードフィールドの特殊化です。たとえば、メジャー、マイナー、およびパッチバージョンは数値で並べ替えられ（「2.1.0」<「2.4.1」<「2.11.2」）、プレリリースバージョンはリリース前に並べ替えられます（「1.0.0-alpha < 「1.0.0」）。

###新しい集計
7.8で追加した集計に加えて、2つの新しい集計を導入します。
1.ヒストグラムフィールドの最小/最大集計、およびヒストグラム集計のハードバウンド。
[ヒストグラムデータ型](https://www.elastic.co/guide/en/elasticsearch/reference/master/search-aggregations-metrics-max-aggregation.html#search-aggregations-metrics-max-aggregation-histogram-fields) は、大量の数値データを処理するのに役立ちます。数値データは、生成される場所で頻繁に集計されるため、スペース効率の高いElasticsearchインデックスが可能になります。
たとえば、Elastic APM は、ヒストグラムデータをロールアップするか、1つの構造にまとめて、APM エージェントから Elasticsearch に送信されるデータの量を減らすことができます。ヒストグラムで集計できるため、新しいシナリオがサポートされます。
2.[レートメトリック集計](https://www.elastic.co/guide/en/elasticsearch/reference/master/search-aggregations-metrics-rate-aggregation.html)
date_histogram 内で使用され、date_histogram 集計のバケット内の指定されたフィールドの発生率を計算します。以前はレートを計算するのが難しかったのですが、レートは時系列データを分析する際の基本的な情報であるため、簡単にすることは価値があると考えました。これは、時系列データで Elasticsearch の汎用検索および分析エンジンを簡単かつ直感的に使用できることを確認するために行っている多くの適応の1つです。

###新しい取り込みノードパイプラインUI
 
新しい取り込みノードパイプライン UI を使用すると、取り込みフローを簡単にデバッグできます。追加された視覚的な手がかりとパイプラインテストにより、実行フローを簡単にステップスルーできます。出力からエラーメッセージを表示すると、ドキュメントが取り込みプロセッサで正しく機能するようにするために必要なアクションを特定するのに役立ちます。 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33599/b18e96f9-3f72-01a2-8437-5254ac67a307.png)
 
##機械学習
###分類機械学習モデルを評価するための AUCROC メトリック
分類分析の評価指標として、受信者動作特性（AUC ROC）の曲線下面積を追加しました。これは、モデルのパフォーマンスを知るための一般的な評価指標です。

###データフレーム分析のカスタム機能プロセッサ
データフレーム分析の新しいフィールドを使用すると、トレーニング前に適用される独自の機能変換とプロセッサを提供できます。これらは、推論時に自動的に適用されます。これにより、分析に渡す前に、任意のデータ行に対して最後のステップの特徴変換を行うことができます。

##その他のアップデート
7.10 は Elasticsearchの巨大なリリースであり、このブログですべてを網羅することはできません。[リリースのハイライト](https://www.elastic.co/guide/en/elasticsearch/reference/7.10/release-highlights.html)を読んで、詳細を確認してください。

===
という感じです。上記の Webinar ではより詳細に紹介しています（時間ギリギリですみません）。
ぜひご覧くださいませ。

#今後の登壇予定等について
まずは今年最後は、こちらの [.NET ラボ 2020年12月勉強会](https://dotnetlab.connpass.com/event/197706/)で、再度 Elastic x ASP.NET Core アプリケーション検索統合の話をします。ぜひご来場ください。
"「改訂新版：ASP.NET Core で Elasticsearch を統合する方法」"
![スクリーンショット 2020-12-17 15.08.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33599/ed039ce6-ec3b-e6d2-2132-f93737a99110.png)

この後、1月ー3月にかけて、弊社 Webiar は多数予定されています。
1月は、2つほど Webinar も予定しています。もう一つは某社との共同セミナーになりそうです。
DevOps 系の開発者向けセミナーになるかと思いますので、ぜひお楽しみに！
また、2月も大きめのイベントに登壇する予定です。

今後ともどうぞよろしくお願いします！

鈴木 章太郎
Elastic　テクニカルプロダクトマーケティングマネージャー 
内閣官房 IT 総合戦略室　政府CIO補佐官