序文
ソフトウェア・システムの新しいカテゴリーを開拓することは、多くのソフトウェア・エンジニアの夢である。私は、ksqlDBがksqlDBと呼ばれる前、ストリーミング・データベースというカテゴリーが一般化する前の早い段階からksqlDBに携わる機会に恵まれたことをとても幸運に思っている。ラルフとヒューバートがストリーミング・データベースに特化した本を書くと初めて聞いたとき、私は当然すぐに興味を持った。
では、ストリーミング・データベースとは何だろうか?データベースシステムには、伝統的なリレーショナルデータベースからXML、グラフ、オブジェクト、ベクトル、NoSQLデータベースまで、さまざまな種類がある。これらの多くはよく知られており、何十年も前から確立されている。ストリーミング(ストリーム処理)は、過去10年ほどの間に業界で急成長を遂げたが、事実上のストリーミング・プラットフォームとしてのKafkaの台頭に牽引されている。
歴史的に、ストリーム処理は難しいと考えられており、ストリーミングの専任チームを擁する大企業だけが使いこなすことができた。SQLとリレーショナル・データベース・システムが発明され、技術者でないユーザがコンピュータ・システムにストアされたデータを扱えるようになるまでは、50年前のデータ処理とコンピューティングも同様だった。今やSQLはデータ処理の共通語である。
ストリーミング・データベースは、ストリーム処理の進化における次のステップである。データベースシステムで確立されたテクニックを、ストリーミングの世界で生まれた新しいパラダイムと統合することで、ストリーム処理を簡素化し、技術的なバックグラウンドを持たないユーザでも、静止しているデータをクエリするときと同じように、動いているデータを扱うことができるようになる。
データベースシステムは、特定の問題を解決するために設計されている。データベースシステムの2つの主要カテゴリー、オンライントランザクション処理(OLTP)と オンライン分析処理(OLAP)システムは、もともとインターネット規模のアプリケーション用に設計されたものではない。
第3のミレニアムの初めに "ビッグデータ "が台頭し、MapReduceのような新しいシステムが、増大するスケーリング要件に対応するために発明された。しかし、これらの新しいシステムは技術専門家によって技術専門家のために開発されたものであり、SQLの親しみやすさから我々を遠ざけた。
ビッグデータ "時代の最初の子供である データレイクの発明により、技術者でないユーザがこれらの新技術を最大限に活用できるようにするには、 SQLが必要であることがすぐに理解された。その結果、SQLが再導入され、現在では最新のデータレイクはすべてSQLを使用してストアデータをクエリしている。
データ・ストリーミングは、「ビッグデータ」時代の第二の子供として、同じ傾向をたどった:まず、ストリーム処理システムはSQLのサポートを受けずに、専門家によって専門家のために構築された。技術者でないユーザがこれらの新しいストリーミング・システムを使用できるように、SQLとデータベース新技術が導入されるまで、そう長くはかからなかった。この発展は、ストリーミング・データベースとそれに続く技術革新の波につながった。
ストリーム処理とデータベース技術の世界において、ストリーミング・データベースの重要性に気づく人が増えるにつれ、既存のシステムでストリーミング・データベースをどのように使うかについてのガイダンスが必要になるだろう。本書が言うように、ストリーム処理は、演算子(OLTP)と分析子(OLAP)の間に新たなプレーンを追加する。ストリーミング・プレーンは、データ・システムの未来に豊かな可能性をもたらす。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access