Apache Kafkaに対応したSQLエンジン「KSQL」リリース、ストリームデータをSQLで継続的に処理。Confluentがオープンソースで

2017年9月5日

Apache Kafkaを用いたリアルタイムデータ処理の商用サービスを提供しているConfluentは、Apache Kafkaに対応したオープンソースのSQLエンジン「KSQL」のデベロッパープレビューをリリースしました

Introducing KSQL

Apache Kafkaはスケーラビリティに優れ、大量のデータをリアルタイムに処理できるソフトウェアです。さまざまなアプリケーションから送られてくるログや大量のセンサーなどから生成されるデータなど、リアルタイムに送信されてくるストリームデータをいったんKafkaで受け止め、それをまとめてHadoopなどの分析エンジンに渡してデータの分析を行う、といった形で使われます。

KSQLは、このKafkaに対応したSQLエンジン。これによりJavaやPythonで複雑な処理を記述しなくとも、ストリームデータを柔軟に加工できるようになります。

SQLとKSQLの違いとは?

一般的なリレーショナルデータベースでは、ある時点で固定されたデータであるテーブルに対してSQLを実行すると、結果のデータが出力され、それで実行が終了しますが、Kafkaに対応したKSQLでは、ストリームデータに対して継続的にKSQLが実行され、結果データが継続的に出力されます。

Introducing KSQL: Open Source Streaming SQL for Apache Kafka」では、KSQLの動作を次のように説明しています。

what it does do is continuous transformations— that is, stream processing. For example, imagine that I have a stream of clicks from users and a table of account information about those users being continuously updated. KSQL allows me to model this stream of clicks, and table of users, and join the two together. Even though one of those two things is infinite.

KSQLが行うのは、継続的な変換 -- それがストリーム処理だ。例えば、ユーザーからのクリックデータがストリームデータで、一方でこれらのユーザーの情報がつねに最新情報にアップデートされつづけるユーザーアカウントテーブルがあるとする。KSQLは、このクリックのストリームデータとユーザーテーブルをモデルとし、ふたつをジョインできる。たとえそのいずれかが無限に続くデータだったとしてもだ。

KSQLの利用用途として、ログデータを実際のサービスに紐づけることで、リアルタイムにモニタリングしつつサービスごとの反応速度を監視したり、アノマリーデータ(特異的なデータ)の発見や、オンラインでのデータ統合などが挙げられています。


あわせて読みたい

機械学習・AI Apache Kafka




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本