支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡


Elasticsearchとは?

我々が日々利用しているWEBサービスには様々な機能が実装されており、ユーザーが少しでも便利に利用できるように工夫がされております。 例えばキーワードを打ち込み膨大な商品の中から自分の好みの商品を検索するための「検索機能」などはその代表例と言えます。 何気なく使っている検索機能も、「検索結果の正確性」や「検索結果の表示速度」などの性能の質がユーザーの満足度に大きく影響を与えます。 そのためWEBサービスを提供する企業はこのような機能の開発に対して、大きな予算と技術者を投じることで常に改善を図っております。 ここでは、検索機能について関連性の高いElasticsearchについて解説させていただきます。 ElasticsearchはElastic社が開発と提供を実施するスケーラビリティに優れた全文検索エンジンとなります。 全文検索、WEB検索、リアルタイムデータ分析やログ解析の用途に使われますが、 全文検索において他社サービスと比較すると圧倒的なパフォーマンスを誇る事で有名です。 近年までElasticsearchはオープンソースで提供されておりましたが、Elastic社がAWSの「Amazon Elasticsearch Service」に対して様々な問題を 提示したこともあり、2021年現在においてクラウドベンダーへのサービス提供は制限されております。 また、Elasticsearchと関連深いキーワードとしてKibanaというサービスがあります。 こちらもElastic社が開発と提供を実施するサービスであり、データ可視化ツールでElasticsearchと連携を行いデータを形にすることができるサービスとなります。 Kibanaはフィールドをドラック&ドロップすることでデータを一瞬でグラフ化することを可能とします。 また、クエリの負荷を追跡することやアプリ内部のリクエストフロー分析などの用途にも利用することが可能となり、非常に高機能なデータ分析を実現しております。 ここでは、Elastic社が提供するElasticsearchについて掘り下げて解説させていただきますので、是非参考にしていただけましたら幸いです。

Elasticsearchの特徴

Elasticsearchの特徴について解説させていただきます。 ポイントを3つに絞り紹介させていただきますので、 是非参考にしていただけましたら幸いです。

スケラーブル

Elasticsearchの特徴の一点目がスケラーブルとなります。 Elasticsearch は分散型であるため、扱うデータのニーズによって スケールアップ、スケールダウンすることが可能となります。 これにより大量のデータ処理をスムーズに可能とし高いパフォーマンスを 実現することができます。

スキーマレス

Elasticsearchの特徴の二点目がスキーマレスとなります。 RDBにおいてはデータの挿入にデータベース定義、テーブル定義といったスキーマ定義を要しますがElasticsearchでは不要となります。 任意のjson構造でデータを登録でき、そこから自動的にスキーマを生成することが可能となります。

リアルタイム

Elasticsearchの特徴の三点目がリアルタイムとなります。 データの読み書きなどのオペレーションがリアルタイムがかつ高速な点がElasticsearchの大きな特徴です。 そのため、リアルタイム性を重視する様々なサービスと相性がいいというメリットがあります。

Elastic Cloudのサービスと料金について

Elastic Cloudの料金について説明させていただきます。 Elastic CloudはElastic社が運営するクラウドプラットフォームであり、ElasticsearchやKibanaを 始めとするサービスが利用できます。 料金プランは「スタンダード」「ゴールド」「プラチナ」「エンタープライズ」の4つが準備されており 利用できる機能が異なります。 「スタンダード」のElastic Cloudは最低$16/月、ゴールドのElastic Cloudは最低$19/月、プラチナのElastic Cloudは最低$19/月、エンタープライズのElastic Cloudは最低$19/月となっております。「スタンダード」は導入に最適なコースとされております。 Elastic Stackの主要機能はKibana Lens、Elasticマップ、Canvasアラートとスタック内アクションなどの機能を利用することが可能です。 セキュリティー面においてはSIEMおよびエンドポイント向けに検知と事前構築済みルールを含むアラート機能 、一元的なインジェストとAgent管理・マルウェア防御とホストデータ収集 、ケースマネジメントなどの機能を利用することが可能です。 オブザーバビリティにおいてはAPM、ログ、メトリック向けアプリ 、設定せずに使える多数の統合機能、一元的なインジェストとAgent管理などの機能を利用することが可能です。 エンタープライズサーチにおいてはWebサイト、モバイルアプリ向けアプリとWorkplace SearchやApp Search 、Webクローラー、各種コンテンツソースと検索アプリを設定なしでWorkplace Searchに接続 、関連性のカスタマイズと検索分析などの機能を利用することが可能です。 サポートにおいてはWebベースのサポートで目安対応時間は3営業日(Elastic Cloudのみ)を利用することが可能です。 「ゴールド」「プラチナ」「エンタープライズ」と上位プランになるに従い、「スタンダード」の標準機能から さらに様々な機能を利用することが可能となります。いずれのプランも無料トライアル期間が設定されているので、 実際のサービスを無料で体験することが可能となります。 以上がElastic Cloudのサービスと料金についての説明となります。

Elasticsearchを使った事例

Elasticsearchを使った事例について紹介させていただきます。 Elasticsearchを使った事例として紹介させていただくのが、出前館のサイトの店舗検索機能となります。 出前館は店舗数の掲載で日本一を誇るデリバリーとなりますが、検索結果のレスポンススピードが遅い点に課題がありました。 Elasticsearchを導入しパフォーマンスチューニングを行うことで、 表示速度をおよそ2倍~3倍程度短縮することに成功し、大幅なパフォーマンス改善を実現することができました。 出前館のように多くのユーザーを抱えるサービスによって検索結果の遅延は 大きな影響を与えかねません。企業の競争力に直結する問題を技術力によって解決した事例として、 そしてElasticsearchの強みを最大限生かした事例として紹介させていただきました。 また、クラウドサービスを提供するサイボウズ株式会社もElasticsearchを 導入して業務を大幅に改善させた事例として有名です。 サイボウズ株式会社は自社で構築したデータセンターで運用を行っておりましたが、 老朽化が進んでいることに対して課題を感じておりました。 インフラ刷新前はオープンソースの全文検索エ ンジンであるApache Solrを 導入しておりましたが、Apache Solrのバージョンが古くアップデートができないという セキュリティーリスクを抱えておりました。 そういった中で選定され導入されたのがElasticsearchとなります。 Elasticsearchの全文検索エンジンを導入することでデータコストの圧縮に成功し、 結果としてUIをほぼ変えずに検索レスポンスの改善に成功しました。 このリプレースに大きな手ごたえを感じた同社では、今後Elasticの他のサービスと 連携することで、データ分析を始めとした様々な業務効率改善を目指しております。

Kibanaについて

Elasticsearchに関連性の高いサービスとしてKibanaがありますので、 Kibanaについて説明させていただきます。 KibanaはElasticsearchと同様にElastic社が提供するサービスです。 Elastic社によって開発されている「Elasticsearch 」「Logstash 」「Kibana」 の頭文字 をとりELKスタックと呼び、Elastic社の扱う主力でありコアプロダクトとして位置付けられております。 Kibanaの役割としてElasticsearchにより収集したデータの可視化を行うという機能があります。 データ探求やデータ分析を活用する際に最も重要であるのが、それぞれのデータを整理し、 可視化をすることとなります。 特にビッグデータ時代においてはデータを収集するだけでなく、専門的な知識のないユーザーであっても 直感的にデータを扱うことができるということが非常に重要な要素の一つとなりKibanaは それを実現するための有効なツールと言えるでしょう。 いくつか例を出しながら紹介させていただきます。 例えばKibanaを導入することで、フィールドをドラッグ&ドロップするだけで瞬時にプレビューが表示され、データを形として可視化することが可能となります。 また、データの表示方法も棒グラフや円グラフなど最適な方法に簡単に変更することができるのです。 Kibanaはデータを扱うあらゆるビジネスシーンについて活用することが可能です。 例えばログ分析やインフラ監視であれば、注力するデータをダッシュボードでカスタマイズを行い より効率的な運用を行うことが可能です。 ビジネス分析のおいても莫大なデータの中から必要なデータを抽出し、分析に役立てることができます。 Kibanaの最大の特徴の一つがダッシュボード機能となります。 チャートやマップ、フィルターを併用して必要な機能を搭載したダッシュボードを利用することで 簡単にデータの可視化と分析を行うことを可能にします。 また、複数のダッシュボードを併用することも可能であるため、より高度なデータ分析を行うことも可能です。 以上がKibanaについての説明とさせていただきます。

Logstashについて

Elasticsearchに関連性の高いサービスとしてLogstashについて説明させていただきます。 Logstashはすでに本文で説明したように、Elastic社によって開発されている「Elasticsearch 」「Logstash 」「Kibana」 の頭文字 をとりELKスタックと呼ばれているサービスの一つです。 Logstashの役割は膨大な数のソースからデータを取り込み、変換して、送信することが可能なツールとなります。 ELKスタックをごく簡単に説明するとLogstashでデータを取り込み、Elasticsearchによって検索、Kibanaによって可視化を 行うというフローでユーザーのデータ分析やデータ活用を支援します。 Logstashは形式や複雑さを問わず、データを動的に投入、変換、送信することができるという 点が大きな特徴となります。 データは一定の場所に一定の形式で存在するとは限らず、企業内においても様々な部署でそれぞれの形式で 保存されていたりあるいはサイロ化して存在していることもありそのデータを一元的に管理し取り込むことが難しいという特徴があります。 Logstashにおいてはさまざまなサービスからのデータ投入を、簡単にかつ継続的にスムーズに実現することが可能です。 また、データの解析と変換の機能についてもLogstashの特徴の一つと言えるでしょう。 データがソースからストアまで転送される間に、Logstashのフィルターが各イベントを解析し、フィールドを識別して構造化して管理を行います。 そこからデータを変換し、一般的なフォーマットに変換し分析を行う際に便利なように変換を実行します。 具体的には「grokフィルターを使用して、非構造データから構造を抽出する」 「IPアドレスから地理情報を得る」「個人情報を匿名化し、機密情報フィールドを完全に除外する」 「あらゆるソース、フォーマット、スキーマのデータ処理をシンプルにする」 などにより、データ処理をよりスムーズな形で実行できるように支援します。 以上がLogstashについての説明とさせていただきます。

ElasticsearchとAWSについて

ElasticsearchとAWSについて説明させていただきます。 冒頭で説明させていただいたように、Elastic社は ElasticsearchとKibanaに対する商用サービスの提供を制限しました。 これはElastic社が以下のような判断をしたからとされております。 その内容はAWSがオープンソースのElasticsearchを用いて「Amazon Elasticsearch Service」を 提供していることに対して、商標やコミュニティーに対する混乱を引き起こししているいうことです。 その一方でMicrosoft、Google、Alibaba、Tencent、Clever Cloudを始めとする 他のクラウドベンダーとは良好な関係を維持し連携しながら業務を行っていると 発表しております。 オープンソース開発元がクラウドベンダーに対して不満を持ち商用サービスを制限する事例は 「Redis」「MongoDB」など複数見られ、両者の関係は今後の注目を集めております。

ElasticとMicrosoftについて

ElasticsearchとAWSの対立化が起きている一方で ElasticとMicrosoftは良好な関係を構築しており、「Elastic on Azure」をリリースしております。 これはその名の通りElastic社のサービスであるサービスを Azure上で展開、サポートするものです。 Azure上のユーザーのインフラストラクチャ、アプリ、データの正常性、 パフォーマンス、セキュリティを監視する方法を効率化することが可能であり Azureportal内でElasticsearch の検索、デプロイ、管理を容易にします。 これによってユーザーはよりスピード感を持ちビジネスお効率を向上させることができます。 いくつかサービスおよび機能について説明させていただきます。 Elasticで監視システムを構築することで、ログ、メトリック、APM トレース、UX モニタリングなどの データを収集し視覚することができます。 また、視覚化によりサービスのダウンタイム、エラー、応答時間の低下など動作を検出することができることと 機械学習とアラートを使用し異常な動作を特定できる点も大きなメリットと言えるでしょう。 組織、Web サイト、アプリ全体の検索を簡素化することも可能です。 単一のビューに統合することでMicrosoft Teams、OneDrive、SharePointなどのアプリからも 検索することができます。 また、Elastic Maps on Azureを利用することで視覚的に地理空間データを把握し分析することが可能です。 以上がElasticとMicrosoftについての説明とさせていただきます。

まとめ

いかがでしたでしょうか? Elasticsearchについて解説させていただきましたので、参考にしていただけましたら幸いです。



関連案件一覧
70万円 ECサイト構築