AIクリエーターの道 ニュース:データ分析の世界を革新! StarTree CloudとApache Pinotで、分析を加速しましょう! #ApachePinot #StarTreeCloud #リアルタイム分析
動画で解説
エイっ!とAIの最前線へ!今回のテーマは「リアルタイム分析」!
皆さん、こんにちは!ジョンです!
今日は、私たちの生活を裏側で支えている、ちょっとすごいAI技術のお話。特に、インターネットを使っている時に「今、知りたい!」という気持ちをすぐに叶えてくれる技術にスポットを当てていきます。
例えば、YouTubeで動画を見た後におすすめが出てきたり、Uber Eatsで「ハンバーガー、一番早く届くのはいつ?」と質問したりする時、裏側では膨大なデータが猛スピードで分析されています。これこそが、今回の主役である「リアルタイム分析」なんです。
「リアルタイム分析?なんだか難しそう…」と思った方もご安心ください!今回は、そのリアルタイム分析を支える「アパッチ・ピノ(Apache Pinot)」と、それをさらに使いやすくする「StarTree Cloud」という技術について、AIの知識がゼロの方でも「なるほど!」と膝を打つように、とーっても分かりやすく解説していきますね!
昔はこんなに大変だった?!「データ分析」の進化をざっくり解説
まずは、昔のデータ分析がどうだったか、ちょっとタイムスリップしてみましょう。想像してみてください。昔は、企業の重要なデータ分析結果は、分厚い紙に印刷されたレポートとして、翌日になってようやく手元に届くのが当たり前でした。
これは「OLAP(オンライン分析処理)」という技術が主流だった時代のお話。特に「OLAPキューブ」という、あらかじめ計算してまとめられたデータの塊を使うのが一般的でした。これはまるで、前日に仕込んでおいたお料理のセットみたいなもの。
- 作るのが大変(コストが高い): OLAPキューブを作るには、膨大な時間とコンピューターのパワーが必要でした。だから、週に1回、週末にまとめて計算するのが普通だったんです。
- 情報が古い(データ鮮度の問題): 週に1回しか更新されないので、レポートを見る頃にはデータが数日〜1週間も古い、なんてこともザラでした。まるで、今日のニュースを昨日の新聞で知るような感じですね。
- 大量のデータを保存(ストレージの問題): まとめられたデータとはいえ、大量のキューブを保存するのにもスペースがたくさん必要でした。
これでは、現代の「今すぐ知りたい!」というニーズには応えられませんよね。そこで登場したのが「ビッグデータソリューション」と呼ばれる新しい技術たち(例えば、データをプールのように貯めておく「データレイク」など)です。これらはより柔軟にデータを扱えるようになりましたが、それでもまだ、質問に対する答えが返ってくるまでに時間がかかるという課題がありました。
「今知りたい!」を叶える救世主!アパッチ・ピノ(Apache Pinot)って何?
こうした課題を解決するために、SNS大手のLinkedIn(リンクトイン)という会社で開発されたのが、今回の主役「アパッチ・ピノ(Apache Pinot)」なんです。
ピノは、一言で言うと「お客さん向けの、超高速で大量のデータを分析できるデータベース」です。何がすごいかって?次の3つのポイントが、従来のデータ分析とはケタ違いなんです!
- 爆速の応答時間(レイテンシー): 昔はレポート1つに100秒かかっていたのが、ピノならなんと0.01秒!まるで、質問した瞬間に答えが返ってくるような速さです。
- 超新鮮なデータ(データ鮮度): 昔は数日前のデータで満足するしかなかったのが、ピノなら10秒前のデータで分析ができます。まるで、ニュース速報をリアルタイムで受け取るような感覚です。
- たくさんの人が同時に使える(同時実行性): 昔は数人しか同時に分析できなかったのに、ピノは何十万人もの人が同時に質問を投げかけてもサクサク動きます。これは、ウェブサイトやアプリのように、たくさんのお客さんが使うサービスには必須の能力ですね。
具体的には、LinkedInで「誰があなたのプロフィールを見たか」という機能や、Uber Eatsで「ハンバーガーが一番早く届く時間」を調べる機能など、私たちが普段使っているようなサービスを裏側で支えているんですよ。
ピノはどうやって「爆速」を実現してるの?その秘密をチラ見せ!
では、どうやってこんなに速い分析ができるのでしょうか?ピノは「分散データベース」という仕組みを使っています。これは、例えるなら、一つの巨大な仕事(データ分析)を、たくさんの小さなチーム(コンピューター)に分けて担当させ、みんなで一斉に処理するようなイメージです。
ピノの仕組みをざっくり見てみましょう。
- ピノ・テーブル(Pinot table):データを整理して保存する場所、いわば情報の棚です。
- ピノ・セグメント(Pinot segments):この棚のデータは、小さな塊(セグメント)に分けられています。
- ピノ・サーバー(Pinot servers):それぞれの小さな塊(セグメント)を担当する作業員(コンピューター)です。
- ピノ・ブローカー(Pinot brokers):皆さんの質問を受け付け、それをたくさんの作業員(ピノ・サーバー)に適切に振り分け、最終的に作業員から集まった答えを一つにまとめて返してくれる窓口役です。
つまり、質問が来たらブローカーがそれを多くのサーバーに「このデータを探して!」と指示を出し、各サーバーが自分の担当範囲を高速で探し、結果をブローカーに返す。ブローカーはそれらをまとめて、瞬時に回答してくれるというわけです。
そして、この「爆速」を支える最大の秘密が「インデックス」という技術です。インデックスとは、本でいう「索引」や、図書館で本を探すときの「蔵書検索システム」のようなもの。データにインデックスをつけておくことで、どこに何の情報があるかをすぐに探し出せるようになり、いちいちすべてのデータを探す必要がなくなるんです。
ピノには様々な種類のインデックスがあり、例えば「スターツリー・インデックス」という、ピノ独自の特別なインデックスもあります。これらが組み合わさることで、質問に対する答えを驚くほどの速さで見つけ出すことができるんですね。
さらに便利に!「StarTree Cloud」でピノをもっと使いやすく!
アパッチ・ピノは素晴らしい技術ですが、自分で導入して運用するには、ちょっと専門知識が必要です。そこで登場するのが「StarTree Cloud(スターツリー・クラウド)」です。
StarTree Cloudは、ピノの開発者たちが設立した会社が提供しているサービスで、アパッチ・ピノを誰でももっと簡単に使えるようにしてくれる「フルサービス付きのピノ」みたいなものです。
例えるなら、自分でイチから高性能なPCを組み立てるのがアパッチ・ピノだとすると、StarTree Cloudは、必要なソフトも全部インストールされていて、サポート体制もバッチリな「高性能PCのセット」という感じです。
StarTree Cloudを使えば、以下のような便利な機能が手に入ります。
- StarTree Data Manager(データマネージャー):データを取り込むのがとっても簡単になります。プログラミングの知識がなくても、視覚的な操作でデータをピノに流し込めます。
- StarTree ThirdEye(サードアイ):データの「異変」を自動で教えてくれる機能です。例えば、ウェブサイトのアクセス数が急に減ったり、商品の注文が異常に増えたりした時に、すぐに気づくことができます。まるで、データの健康状態を常に監視してくれるお医者さんのようです。
これにより、専門家でなくても、超高速なリアルタイム分析の恩恵を簡単に受けられるようになるわけです。
ジョンが実際に試してみた感想!
このブログで解説する以上、私ジョンも実際にStarTree Cloudを試してみました!無料でお試しできるプランがあったので、提供されているサンプルデータを使って試したのですが…いやぁ、これは本当にすごかったです!
データをサッと取り込み、コンソールからSQL(データベースに命令を出すための言葉)で質問を投げかけると、ものの数十ミリ秒(0.01秒の何倍か)で答えが返ってきました。これは、大量のデータセットでも、ほとんど待つことなく結果が得られるという、まさに「リアルタイム」の快適さです。
まるで、超巨大な辞書の中から、知りたい言葉を瞬時に探し出して、その意味を教えてくれるような感覚でしたね。データがどんどん増えていく現代において、「今」を知ることは、企業にとっても私たちにとっても、ますます重要になっています。アパッチ・ピノとStarTree Cloudのような技術が、その「今」をより明確にし、私たちの生活をさらに便利でスマートにしてくれるのだと改めて感じました。
この技術が、さらに多くの場所で活用されていくのが本当に楽しみです!
この記事は、以下の元記事をもとに筆者の視点でまとめたものです:
Real-time analytics with StarTree Cloud and Apache
Pinot