CodeZine(コードジン)

特集ページ一覧

NASAやNetflixも利用するデータ分析・活用基盤「Elastic Stack」とは? 環境構築からデータ投入方法まで解説

  • LINEで送る
  • このエントリーをはてなブックマークに追加

 データサイエンス・デジタルトランスフォーメーション(DX)が注目されている昨今、多種多様なデータ活用が求められています。本連載では、データ活用プラットフォームとしてさまざまな方面で進化を続けているElastic Stackの活用法を、実際に手を動かしながらユースケース別に紹介します。既に別のツールを使われている方の2つ目の選択肢としてももちろん、まだ使い慣れているツールがないデータ活用初学者の方の1つ目のツールとして、Elastic Stackが使えるようになることを目指していきます。第1回となる今回は、基本知識としてElastic Stackの特徴と、インストールも含めたデータ投入方法を紹介します。

目次

はじめに

 皆さんは「データを活用しよう」と言われた時、どんなデータをどう活用することをイメージしますか? おそらく、売上やコストなどの販売情報のような数値データなどを集め、集計したり可視化したりすることをイメージする人が多いのではないでしょうか。その場合、実現方法としては業界問わずExcelの人気が高いイメージです。あるいはTableauなどのBIツールを使ったり、Pythonでプログラムを書く人もいるでしょう。何にせよ、仕事でもよく触れる領域なので、皆さんもこの用途は何かしら得意なツールをお持ちかと思います。

 しかし、データ活用とは本来そんな狭い領域に閉じた話ではないはずです。活用できるデータも数値データだけでなく、文字データや地理データなど幅広いデータを対象にできればもっと色んな活用方法がイメージできないでしょうか。大量のサービスに散らばったOfficeドキュメントやメールテキストの中から今欲しい情報を的確にかつ高速に検索したり、地理情報を基に数値だけからは見えてこなかった地域別の売り上げ傾向を分析したりするのもまたデータ活用です。

 一方で、このようなさまざまなデータ活用を同時に実現しようとして、用途別にツールを併用し始めると、地獄を見ることになります。なぜなら、ツールごとにできることが微妙に異なり、コンテキストスイッチに苦しめられることになるからです。あのツールでは簡単にできることがこのツールでは非常に手間がかかる、というのは地味に大きなストレスです。しかもデータがそれぞれのツールに分散してしまい、データを最新に同期するのに時間と手間がかかったりします。できればデータは一か所に集められていて、そのまま活用できる状態が望ましいはずです。

 では、これらの多様なデータを一元的に溜められて活用方法もたくさん用意してあるプラットフォームがあったら便利だと思いませんか? その有力な選択肢1つが今回紹介するElastic Stackです。

 Elastic Stackはその柔軟性や使いやすさなどから、当社ではさまざまなプロジェクトで採用が進んでおり、特に新しいサービス開発をするプロジェクトなどでその特性を活かして利用されています。特性は以下の通りです。

共通の特性

  • 使い始めが楽
    • 基本的に設定ファイルを書き換えたり、画面から操作したりするだけで動作させることが可能であり、プログラミングが不要
    • データ活用アプリが豊富に用意されているので、データを集めたらすぐにデータ活用を始められる

開発面

  • 開発初期の試行錯誤がしやすい
    • スキーマレスにデータを投入できるので、テーブル定義などが不要

運用面

  • 将来的に扱うデータ量が増えても性能が落ちない
    • REST API経由で高速に大量のデータをCRUDできるデータウェアハウスとして使える
  • クラウドベンダーロックインを回避できる
    • IaaSさえあれば利用可能、かつオンプレミスへのデプロイも可能

ビジネス面

  • コストが低い
    • まずはBasicライセンスで利用し始めることで、無償で使える
    • ライセンス費用が規模・台数によらないためサブスクリプションを購入しても、費用を抑えられる

対象読者

 本連載は、Elastic Stackを使ってデータ収集基盤を構築し、さまざまなデータ活用の方法まで紹介していくことで、皆さんがデータを活用する際に参考となる情報を提供します。想定読者は以下の通りです。

  • 得意なデータ活用ツールがないデータ活用初学者の人
  • もう既に他のデータ活用ツールを使っているが、もう少し広い用途でのデータ活用ができる2つ目以降のツールを探している人
  • 既にElastic Stackを使い始めているが、限られた用途でしか使えていなくていまいち使いこなせていない人
  • データ活用に興味がある全ての人

NASAやNetflixでも使われているElastic Stackとは

 Elastic Stackは任意のデータをリアルタイムで検索、分析、可視化できるプラットフォームです。複数のプロダクトによって構成され、主要プロダクトはそれぞれ以下のような特徴を備えています。

Elasticsearch

  • スキーマレスなデータベースを持った高速な全文検索エンジン
  • 世界のデータベースランキングであるDB-Engines Rankingで常に10位以内をキープしており、全文検索用途ではデファクトスタンダードになっている

Logstash/Beats

  • データのパースや送信を担当するデータシッパー

Kibana

  • ブラウザ(Chrome/Firefox/Safari/Edge)から使えるデータ可視化プラットフォーム
    • Elasticsearchに投入されたデータをグラフ化し、ダッシュボードを作成できる
  • その他、各種便利機能を使うためのGUIにもなっている

 主要な3プロダクトの頭文字を取ってELK Stackと呼ばれることもあります。

 Elastic Stackは世界中の企業・機関でさまざまな用途に使われています。例えば宇宙開発で有名なNASAでは、宇宙船から返却された計測データの監視に使っています。また、誰もがお世話になったことがあるであろうWeb百科事典、Wikipediaでは膨大な記事を高速に検索するため、Elasticsearchを使っています。そして、今をときめくサブスクリプションサービスの代表格であるNetflixでも、顧客へのメッセージ送信情報を可視化するのに使っています。その他、どんな用途に使われているか気になる方は公式サイトから導入事例を確認してみてください。

 このようにさまざまな用途に使えるのですが、適用先の幅が広すぎて過去の自分も初学者時代はどう使えば良いか迷ってしまうことが多くありました。そこで、今回の連載ではそれぞれのユースケースごとにElastic Stackの使い方をハンズオン的に紹介していくことで、読者の皆さんが迷わずElastic Stackを使えることを目指します。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:Elastic Stackではじめるデータ分析・活用入門

著者プロフィール

  • 山下 城司(NTTテクノクロス)(ヤマシタ ジョウジ)

     ソフトウェア開発企業のNTTテクノクロスで、新規ソリューションを検討・開発する仕事に従事。NTTテクノクロスはElastic Stackの販売代理店業務も担い、筆者自身もデータ分析等で実際にElastic Stackをソリューションに組み込むなどして積極的な活用に取り組んでいる。Elastic社の...

あなたにオススメ

All contents copyright © 2005-2022 Shoeisha Co., Ltd. All rights reserved. ver.1.5