支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡

  • TOP
  •   
  • コラム
  •   
  • Kafkaとは?詳しく解説させていた

Kafkaとは?

「ビッグデータ」「IoT」といったキーワードは連日のように様々なメディアで報道が行われており、大きな注目を集めております。 「ビッグデータ」「IoT」を企業が活用するために重要なポイントの一つが大量のデータを高速で処理する技術であることは間違いありません。 データ処理のパフォーマンスを上がるために大手のクラウドベンダーにおいては、様々な技術の開発・研究に力を入れておりIT企業が「ビッグデータ」や「IoT」の新しい時代に対応するために備えて言うと言えるでしょう。 Kafka(Apache Kafka)はそういった時代背景やトレンドの中で生まれた技術の一つと言えます。 Kafka(Apache Kafka)はLinkedInが開発と公開を行ったオープンソースの分散メッセージングシステムであり、2011年にリリースが行われました。 Kafka(Apache Kafka)はConfluent社を中心に開発が行われており、2021年の現在において主にビッグデータ処理に適した環境や技術を提供していることもあり、 クラウド時代において大きな注目を浴びているおります。 Kafka(Apache Kafka)の特徴は大規模なストリームデータの取り扱いにあり、 メッセージキュー(MQ)やメッセージングシステムに類似している機能を保有し高性能で大量のデータを処理することができるという特徴を持ちます。 Kafka(Apache Kafka)はそもそもオープンソース化されておりましたが、 Confluent社により管理されており、2021年現在においては商用利用については制限されております。 ここでは、Kafka(Apache Kafka)について詳しく解説させていただきますので、ビッグデータやデータベースの技術に関心のある方は是非参考にしていただけましたら幸いです。

Kafkaの特徴について

Kafka(Apache Kafka)の特徴について説明させていただきます。 ポイントを3つに絞り紹介させていただきましたので、是非参考にしていただけましたら幸いです。

高機能

Kafka(Apache Kafka)の特徴の一点目が高機能である点になります。 Kafka(Apache Kafka)は大規模dataにおける「データ収集 」「データ処理」「データ保存」を行うイベントストリーミングプラットフォームとなりますが、 高機能のデータ処理を行うために様々な工夫がされております。 Kafka(Apache Kafka)は複数のBrokerでクラスタを構成し、その上に「Topic」という分散キューを構成し、 Pub/Subメッセージングモデルを採用しております。

リアルタイム

Kafka(Apache Kafka)の特徴の二点目がリアルタイムである点となります。 Kafka(Apache Kafka)ではデータの取得から数百ミリ秒もしくいは数秒の間により、 リアルタイムで高速にデータが処理することを実現しております。

API

Kafka(Apache Kafka)の特徴の三点目がAPIとなります。 Kafka StreamsはJavaで記述され、拡張性と弾力性に優れ、 フォールトトレラントな分散アプリケーションを構築することが可能となります。 Streams APIは高機能でありながら簡単に利用することができるという点も大きな時調となります。 Kafka Streams APIは金融業、旅行業、物流業など様々なリアルタイムかつ高機能な 処理を必要とされるアプリケーションに導入されている実績を持ちます。

KafkaとNTTデータ

KafkaとNTTデータについて説明させていただきます。 2019年にNTTデータは「Kafka構築・運用ソリューション」のサービスを発表しました。 「Kafka構築・運用ソリューション」はKafka(Apache Kafka)の優れた技術を利用し 大規模データのリアルタイム処理基盤のコンサルティング・実証実験・基盤構築・運用まで幅広く技術サポートを行うものとして発表を行いました。 リアルタイム処理基盤は実に様々なシーンで重要となる技術であることは言うまでもありません。 例えば渋滞を避けるために自動車のGPSや速度センサーなどの情報を集約して、適切な ルートの案内をすることが可能になります。 また、金融機関における不正取引をリアルタイムで防止することも可能です。 NTTデータでは「Kafka構築・運用ソリューション」のサービスにおいて3年で100億円の売り上げを目指すとしております。 同社においてはApache Hadoop/Apache Sparkの専門の技術者を雇用しておりますが、 今後はKafka(Apache Kafka)の技術者を増加し体制を強化していくと発表しております。 日本最大手のシステムインテグレーターがKafka(Apache Kafka)についてのサービスを発表したことで、 業界の他社の動きにも注目したいところです。

Kafka(Apache Kafka)の導入事例

Kafka(Apache Kafka)の導入事例について説明させていただきます。 Kafka(Apache Kafka)は現在Fortune100の60%以上を含む数千の企業において導入されており、高い実績を誇ります。 コンピュータソフトウェア、金融サービス、ヘルスケアから政府系システムや運輸システムまで 多くの業種で導入実績があるKafka(Apache Kafka)の導入事例を紹介させていただきます。 ラボバンクはオランダの金融機関(1970年創業)であり 900以上の支店、48,000人の従業員・6,810億ユーロの資産を有し世界中の何百万もの顧客に金融商品とサービスを提供する グローバル企業です。 ラボバンクにおける重要なビジネスイベントバスは、ApacheKafkaを導入していることで有名であり、 Kafka Streams APIを使用して、顧客の金融イベントに関するリアルタイムのアラートを実行しております。 ラボアラートと呼ばれるサービスにおいて特定の金融イベントが発生するたびにラボバンクの顧客に警告を実行し、 顧客はアラートを電子メール、SMS、モバイルプッシュ通知の中から選択し構成することが可能です。 ラボアラートはラボバンクの中でコアなサービスとして非常に重要な役割を担っておりましたが、 従来のアラートは速度とビジネスに対する柔軟性に欠如するという点が課題でした。 KafkaのStreams APIを使用して、アラートメカニズムを再設計および再実装を行うことにより、 ラボアラートの信頼性を担保したまま速度とビジネスに対する柔軟性に対する課題を解決することを可能にしました。 以上がKafka(Apache Kafka)の導入事例の説明となります。

Kafkaとクラウドベンダー

Kafka(Apache Kafka)とクラウドベンダーについて説明させていただきます。 近年になりConfluent社は「KSQL」「Confluent Connectors」「REST Proxy」「Schema Registry」 といった一部のコーポネントのライセンスを変更し商用サービス利用の制限を行いました。 これは2018年に「Amazon Managed Streaming for Kafka」がAWSから発表されたことが理由であると Confluent社を認めております。 オープンソースコミュニティーに対して環境しないクラウドベンダーとオープンソース開発元企業との 対立という図はConfluent社とAWS以外でもRedis、MongoDBなど世界的に有名な企業においても見受けることができます。 特に世界最大のクラウドベンダーとなったAWSとオープンソース開発元企業などがどういった形で 提携を行っていくかという点については今後も注目を集めるところです。

まとめ

いかがでしたでしょうか? Kafka(Apache Kafka)について詳しく解説させていただきましたので、是非参考にしていただけましたら幸いです。