Elastic Cloudで快適なアプリ開発を! Elasticコアプロダクトの全貌【デブサミ2021】
【19-B-2】Learn, Build, and Scale with Elastic - Elastic Cloud で快適なアプリ開発を実現しよう!
分散型リアルタイム検索および分析エンジンであるElasticsearchは、多くの企業が利用する優秀なソリューションだ。本プロダクトを開発するElastic社は、Elasticsearchのテクノロジーを核としたプロダクト群Elastic Stack(Elasticsearch、Kibana、Beats、Logstash)を展開。また、これらの機能をパブリッククラウドサービス化したElastic Cloudも提供している。こうした各種サービスは企業のどのような課題を解決するのか。Elastic日本法人であるElasticsearch株式会社の鈴木章太郎氏がその全貌を解説した。
Elasticsearchが解決する課題とは何か?
システムのデータを格納する目的で、リレーショナルデータベース(以下、RDB)が使⽤されることは多い。しかし、RDBには欠点がある。システム運用の長期化によりテーブルが肥⼤化して数百万のデータセットを含む状態になると、検索のパフォーマンスが著しく劣化してしまうのだ。この課題を解決するためにスキーマ分割やテーブル分割などの施策が行われるケースはあるものの、RDBの根本的な問題が解消されるわけではない。
Elasticsearchはこうした課題を解決できる、柔軟で強力かつオープンでフリーな分散型リアルタイム検索および分析エンジンである。Elasticsearchはドキュメントベースのデータベースであり、データをJSON形式(⾮正規化された状態)で保存する。Elasticsearchを用いれば、たとえ数百万、数千万という量のデータであっても数秒ほどで簡単に検索できる。
また、検索処理の高速性だけではなく日本語サジェスト機能の優秀性もElasticsearchの利点だ。
<日本語サジェストの機能概要>
・ユーザーが検索キーワードを入力すると、関連する候補が表示される。
例:「日本」と入力すると「日本」「日本 地図」「日本 人口」などが提案される。
・不完全な検索キーワードを入力した場合でも、関連する候補が表示される。
例:「にほn」と入力すると「日本」「日本 地図」「日本の人口」などが提案される。
・タイプミスした場合でも、意味の通る候補が提案される。
例:「に hん」「にっほん」「日本ん」と入力すると「日本」「日本 地図」「日本の人口」などが表示される。
・候補となる単語が、キーワードが検索された回数が多い順に一覧表示される。
3 Solutions, 1 Stack, Deploy Anywhere
鈴木氏は次に、Elastic社が提供する3つのソリューションやElastic Stack、多様なデプロイ選択肢について解説していった。
Elastic StackはElasticsearchやKibana、Beats、Logstashから構成されるElasticのコアプロダクト群だ。Elasticsearchは前述の通り分散型リアルタイム検索および分析エンジンである。KibanaはElasticsearchのデータを可視化・分析するためのツールだ。棒グラフや円グラフなどさまざまな形式でデータを描画できる。
Beatsは軽量なデータシッパーであり、各種システムからログデータなどを取得してElasticsearchに投入する役割を果たす。Logstashは強力なETLツールで、他のデータベースに格納されている大量のデータをすべてElasticsearchに投入するなどのユースケースで威力を発揮する。
こうしたElastic Stackの技術をベースとして、Elastic社は「Elasticエンタープライズサーチ」「Elasticオブザーバビリティ」「Elasticセキュリティ」といった3つのソリューションを提供している。
さらに、これらのソリューションのデプロイ選択肢も豊富だ。AWSやAzure、GCPといったパブリッククラウド環境にElasticをデプロイするためのElastic Cloud。物理ハードウェアや仮想環境、パブリッククラウド、プライベートクラウド、それらのハイブリッドなど多種多様な環境にデプロイできるElastic Cloud Enterprise。Kubernetes環境上にElasticをデプロイできるElastic Cloud on Kubernetesなどが用意されている。
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営する開発者のための情報メディアです。日々の開発に取り組むエンジニアやテクノロジーを学びたい方に向けて、プログラミングやAI活用、開発ツール、エンジニアの学びとキャリアに関する記事をお届けしています。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社
この記事は参考になりましたか?
この記事をシェア
