CompanyJune 12, 2021

Apache Cassandraの一般的なユースケースをご覧ください。

Apache Cassandraの一般的なユースケースをご覧ください。

Apache Cassandra®は、オープンソースの分散型NoSQLデータベースであり、競合システムに対して多くの利点を備えています。そのため、世界中のトップ企業が幅広いユースケースで使用しています。その最も一般的なアプリケーションを見る前に、簡単な歴史を学んでおきましょう。

Facebookで開発されたCassandraは、2008年にオープンソース化されました。その後、2009年にApache Incubatorに参加し、2010年にトップレベルのApache Foundationプロジェクトとなりました。それ以来、Apple、Instagram、Uber、Spotify、Twitter、Cisco、Rackspace、eBay、Netflixなど、何千もの企業がCassandraを採用しました。この後、これらの企業がどのようにCassandraを使用しているかを詳しく見ていきます。

Apache Cassandraの一般的な使用例

Cassandraが、最も広く使われているNoSQLデータベースの1つとされている、その優位性を考察してみましょう。

Cassandraのメリットは以下の通りです。

  • オープンソース : イノベーション、実装のスピード、柔軟性、拡張性が向上する。ベンダーロックインを回避でき、よりコスト効率が高い。
  • 膨大な量データの取り扱いが容易 : 多数のサーバーにまたがる膨大な量のデータを処理できるように構築されています。ペタバイト規模の情報を管理するために、この特性を活用している大企業や組織もあります。
  • 継続的な可用性 : シングルポイントの障害がないため、ダウンタイムはゼロです。特定のノードに障害が発生した場合には、最も近い稼働中のノードに自動的にユーザーを移動します。システムは設計通りに動作し、アプリケーションは常に利用可能で、データにも常にアクセスできます。障害が発生したことに、ユーザーが気付くことは決してないでしょう。このことは、データベースがオフラインになったり、データが失われたりすることが許されない企業にとって重要なポイントです。
  • ハイパフォーマンスで高速 : Cassandraはピアツーピアの分散型アーキテクチャを採用しており、各々のノードがすべての読み取り/書み込み操作を行うことができます。これにより、パフォーマンスを向上させながら耐障害性を高めることができます。書き込み速度は特に高速です。そして、Cassandraは速度や精度に影響を与えることなく、データを書き込むことができます。
  • 明快なスケーラビリティ : Cassandraの水平スケーリングは、わかりやすく、費用対効果に優れています。Cassandraは企業が、高額なハードウェアで垂直方向に拡張するのではなく、シャットダウンする必要のない低コストのコモディティサーバーや仮想マシンを追加するだけで、あらゆるサイズに拡張を行えるようにします。また、リニアなスケーラビリティにより、すべてのノードで高いパフォーマンスが維持されます。Cassandraのスケーラビリティのメリットが、多くの同時ユーザーを抱えた大規模なデータセットを扱う企業や、継続的な成長が見込まれる企業に受け入れられています。
  • シームレスなレプリケーション : l他のNoSQLデータベースと同様に、Cassandraは固定スキーマを必要としないため、レプリケーションが容易です。しかも、ピアツーピアのシステムであることから、地理的な位置に関係なく、システム全体でデータを迅速にレプリケーションすることができます。広範囲に、そしてさらにはグローバルに分散することさえ可能です。データセンター間でレ プリケーションを行うことで、高い耐障害性を実現し、どこか特定の地域で停止が発生しても問題はなく、データ損失をゼロにすることができます。そして、エンドユーザーに近い場所にデータを配置することで、低レイテンシーを実現することも可能です。
  • 使い慣れたインターフェイス : ほとんどの開発者は、Cassandraのクエリ言語をすぐに使いこなすことができるようになります。それは、Cassandra Query Language (CQL) がSQLに類似しているからです。

ここに挙げたメリットは、組織がCassandraを受け入れている理由の一部に過ぎません。構造化データ、半構造化データ、非構造化データを柔軟に扱うことができ、ワークロードの自動化やデータバランシングなど、他にも多くのメリットがあります。さらにもちろん、運用のシンプルさ、オーバーヘッドの低さ、ハイブリッドやマルチクラウド環境をサポートする機能性も備えています。

確かにCassandraには様々なメリットがありますが、実際どのようにして、企業に使われているのでしょうか?DataStaxのコミュニティチームでは、本番環境でApache Cassandraを使用している企業の会話や企業からのヒアリングに、多くの時間を費やしています。

ここに、私たちがよく目にするいくつかのユースケースをご紹介します。

  • E-commerceと在庫管理
  • パーソナライゼーション、レコメンデーション、カスタマーエクスペリエンス
  • IoT (Internet of things) とエッジコンピューティング
  • 不正の検出と認証

E-commerceと在庫管理

E-Commerce企業にとって、サイトがダウンすることは許されないことであり、特に繁忙期にはそうです。オフラインの時間が1分でも長くなると、収益が急速に悪化します。また、急成長を目指すEコマース企業には、オンライン在庫をコスト効率よく拡張する能力が必要です。同じ理由で、これらの企業は膨大な量のデータを簡単に扱うことができるデータベースを必要としています。さらに顧客の期待に応え、そしてまたそれを超えるために、商品構成を継続的に変更できる柔軟性が必要なのです。

ここでは、Cassandraが電子商取引や在庫管理に適している理由を説明します。

  • ダウンタイム・ゼロの強靭性 : マルチリージョンのレプリケーションで分散されたCassandraは、ダウンタイムがゼロであることを保証します。あるリージョン全体が失われたとしても、ダウンすることはありません。
  • 高い応答性 : Cassandraのピアツーピア・アーキテクチャは、世界中のリージョンや特定の顧客に近い場所にデータを配置することができるため、システムが高い応答性を有して高速になります。
  • 予測可能なスケーラビリティ : Cassandraの水平スケーラビリティは、わかりやすく、予測可能で、費用対効果に優れています。
  • より迅速なカタログ更新を実現
  • カタログと在庫をリアルタイムで分析します。

パーソナライゼーション、レコメンデーション、カスタマーエクスペリエンス

パーソナライゼーションやレコメンデーションのエンジンは、今やあらゆるところに存在しています。アプリやWebサイトに組み込まれたパーソナル・アシスタントのようなもので、チケットを購入するイベントの決定や、興味深いと思われる記事の表示など、さまざまなことをサポートしてくれます。Eventbriteは現在、MySQLの代わりにCassandraを使用してモバイル体験を提供し、ユーザーが参加したいと思うようなイベントが周囲で開催されているかどうかを知らせています。EventbriteがCassandraを選んだ理由は、読み書き可能な機能性と導入のしやすさです。Outbrainは頻繁に利用されている会社ですがあまり知られていないかもしれません。ここにCassandraがコンテンツディスカバリーのプラットフォームを強化するために使用されており、ユーザーが興味を持ちそうなサードパーティーの記事を提供することによって、企業が収益源を増やせるように支援しています。

ほぼリアルタイムで、関連性のある、パーソナライズされたエクスペリエンスが期待されるようになりました。Cassandraがカスタマイズされたエクスペリエンスを提供するのに適した選択である理由は、以下の通りです。

  • 高速なレスポンスタイム
  • 顧客基盤が拡大しても、きわめて低いレイテンシーを実現します。
  • 構造化や非構造化に関わらず、さまざまなソースからのあらゆるタイプのデータを処理します。
  • 費用対効果を維持しながら拡張できるように構築されています。
  • きわめて大規模なデータセットの保存、管理、クエリ、変更が可能で、数百万人の顧客にパーソナライズされたエクスペリエンスを提供することができます。
  • 高い読み取り/書き込み性能
  • 導入の容易性
  • 継続的なカスタマーエクスペリエンスのイノベーションを可能にする柔軟性

Macquarie Bankのサクセスストーリーを考えてみましょう。Cassandraで構築されたアーキテクチャ基盤により、顧客行動を真に理解し、そしてパーソナライズを優先することで、同社は知名度のないリテールバンキングから2年足らずでデジタルバンキング分野のトップ候補へと躍進しました。 MacQuarie BankがどのようにCassandraを使用して顧客にパーソナライゼーションを提供しているかをご覧ください。

IoT (Internet of things) とエッジコンピューティング

天候、交通量、エネルギー消費量、在庫レベル、健康指標、ビデオゲームの統計情報、農業の状況などといった数え切れないほどの指標を追跡する場合には、IoTセンサー、ウェアラブル、車両、モバイルデバイス、家電、ドローン、その他のエッジデバイスから、まるで終わりのない雪崩のようなデータが発生します。このデータは時として数百万台のデバイスから発生しますが、常に、安全に収集され、集計され、処理され、分析される必要があります。

国立再生可能エネルギー研究所 (National Renewable Energy Laboratory) が、世界で最も環境に優しい建物のセンサーデータを保存・分析するためにCassandraをどのように使用しているかを考察してみましょう。彼らはCassandra上で世界一スマートなサーモスタットを動作させることで、水とエネルギーを節約する方法を見つけることができます。このシステムは、エネルギー使用パターンを継続的に学習し、プログラムする人間が誰もいない場合であっても、自動的に設定を調整します。

ここではCassandraがIoTやエッジコンピューティングのニーズに適している理由をいくつか紹介します。

  • Cassandraはすべてのノードが読み取り/書き込みが可能なので、クラスター内のどのノードからも同時にデータを取り込むことができます。
  • 膨大な量の高速時系列データを扱う機能性
  • 高可用性
  • 継続的なリアルタイム分析のサポート

不正検知と認証

セキュリティの脅威は増加の一途をたどり、多くの企業は常に防御に努めなくてはならず、スマート不正検知機能でキャッチアップしています。これは詐欺師が、顧客データを盗んだりその他の機密情報を漏洩させたりする新しい創造的な方法を探しては、常に攻撃を仕掛けてくるからです。

不正アクセスを防止するためには、企業はデータを、それも数多くのデータを必要とします。不正の指標となるパターンや異常を見つけるためには、大規模で多様なデータセットを継続的かつリアルタイムに分析する必要があります。すべての企業にとって最優先事項ですが、金融サービス、銀行、決済、保険などの分野では、不正検知の重要性はより高まります。その例として ACI WorldwideがCassandraを使用して詐欺の検出率と誤検出率を劇的に改善した方法をご覧ください。

本人認証は、不正検知と表裏一体と言えます。詐欺師を排除することに焦点を当てるのではなく、認証の目標は、正当な顧客だけがアクセスできることを確実することです。そのためには、ログインプロセスをできるだけ簡単かつ迅速に行う一方で、その人が本人であることを絶対に明確にする必要があります。不正行為の検知と同様、これを実現するためには、多種多様で数多くのデータをリアルタイムで分析する必要があります。また、認証はすべてのシステムの中心的な部分であるといっても過言ではなく、機能停止は何としても回避しなければなりません。もし顧客がサイトにアクセスする際に、誤認識や認証システムのダウンなどによる不具合を経験したら、不満を抱いてサイトを離れてしまうまでにそれほど時間はかからないでしょう。

Cassandraが詐欺対策や本人認証に最適なデータベースである理由は以下の通りです。

  • フレキシブルなスキーマ : 多数のデータタイプを扱い、即座に追加することができる
  • 機械学習やAIを組み込んでサポートする機能など、複雑でリアルタイムな分析が可能
  • 大規模かつ増大するデータセットを扱うことができる

その他の一般的なCassandraのユースケース

Cassandraのメリットが貢献できるアプリケーションは、他にも数え切れないほどあります。ここでは、そのうちのいくつかを紹介します。

  • 金融サービスおよび決済
  • メッセージング
  • プレイリスト
  • ロジスティクス、アセットマネジメント
  • コンテンツマネジメントシステム
  • トランザクションのロギング
  • パッケージやオーダーなど、あらゆる種類のトラッキング
  • デジタルおよびメディアのマネジメント

Cassandraの最も一般的なユースケースを確認したところで、Cassandraがみなさんが聞き覚えのあるブランドでどのように役立てられたかを見てみましょう。

注目すべきCassandraユースケースの実例

主要企業の多くがApache Cassandraを使用していることから、私たちは皆、1日に何度も何らかの形でApache Cassandraに触れている可能性が高いと言えます。例えば、次にジョギングに出かける際にSpotifyのプレイリストをキューに入れた時点で、あなたはCassandraの上に構築されたアプリケーションを使用していることになります。実際、CassandraはNetflix、Uber、Instagram、Reddit、Soundcloudなど、多くの象徴的なブランドのビジネスの拡大に役立っています。

Netflix、Soundcloud、InstagramがCassandraの最もパワフルな機能のいくつかをどのように活用しているのか、さらに掘り下げて見てみましょう。

コンプライアンス監査ロギング

企業にとって、データベースの監査証跡を残すことは重要です。監査ログを使用することで、企業はデータベースへの重要な変更を追跡・記録し、その発生時間やトリガーとなった人物を記録することができます。これらの記録を確認することは、規制の遵守とセキュリティ標準が満たされていることを確実にするために必要です。監査ロギングは、バグの根本的な原因を明らかにするのにも非常に役に立ちます。Apache Cassandraには監査ロギングが組み込まれており、ユーザーは重要な変更の永続的な記録を簡単に作成することができます。

Cassandraの実例 : Netflix

NetflixがCassandraの監査ロギング機能を大規模に展開しているのは驚くことではありません。何しろ、自社のクラウドデータベースのアーキテクトとエンジニアがその開発に大きく貢献したのですから。監査ロギングを実装する際、Netflixは、パフォーマンス、正確さ、使いやすさ、拡張性を確認したいと考えました。このセットアップでは、すべてを監査し、ユーザー、ホスト、ソースIPアドレス、ソースポート、タイムスタンプ、タイプ、カテゴリー、キースペース、スコープ、オペレーションをログに記録しています。

ダッシュボード

ダッシュボードは、状況を素早く把握するための便利で視覚的な方法です。ダッシュボードは、特定のトピックに関する最新情報へのアクセス、ステータスの確認、プロセスやプロジェクトの監視によく使われます。ダッシュボードは、社内では従業員のために、社外では顧客のために、社内外のさまざまな目的で使用されます。いずれにせよ、ユーザーには多くの場合、自分のニーズに最も合うようにダッシュボードをパーソナライズする機能が与えられています。

以下のような理由から、Cassandraはダッシュボードのための強固な基盤を提供します。

  • 頻繁なアップデートの容易な処理 — 通常、各ユーザーのアップデートは数多く継続的に行われます。
  • きわめて大きなデータセットに対応できるように構築 — 1つのテーブルに何億ものイベントを格納することができます。
  • 時系列データの効率的な保存手法

Cassandraユースケースの実例 : Soundcloud

Soundcloudが顧客に提供するダッシュボードは、最も人気のある機能の1つです。実際、同社は急速なデータ増加の多くをこの機能によるものと考えています。Soundcloudの顧客は、自分のアップロードしたオーディオが世界のどこで、どのユーザーに聴かれているかを確認するオプションや、フォローしている人からのサウンドクリップを受信するためのホームなど、ダッシュボードをパーソナライズすることができます。

SoundcloudがCassandraを採用した理由は、膨大な量のデータを保存してアクセスできること、データの有効性を維持する機能を組み込んでいること、そして高いスケーラビリティです。Cassandraの読み取り/書き込み機能は、Soundcloudが採用する際の強力なセールスポイントでもありました。Cassandraでは、各顧客にシーケンシャルな読み取りパスを提供できるため、投稿を正しい時間順序で閲覧することができます。また、Cassandraでは、Soundcloudのユーザーが書き込みイベントにランダムにアクセスし、特定の1つのイベントを順番に並べることもできます。1つの書き込みイベントが何百万人ものユーザーのダッシュボードに表示される可能性がありますが、SoundcloudはCassandraを使用して、常に適切な場所に表示されるようにします。同社はまた、顧客間の関係を調査し、顧客の体験をパーソナライズするためにもCassandraを利用しています。

レプリケーション

前述のように、地理的に分散したデータセンターでデータセットのレプリカを作成し保存することは、非常に理にかなっています。これによりフォールトトレランス、信頼性、可用性を高めることができます。クラスター内のデータセンターがダウンしても、オペレーションは滞りなく継続されます。データを顧客の近くに置くことで、世界中のどこでアプリを使用していても、読み取りと書き込みの待機時間も短縮します。

Cassandraはピアツーピアの分散型アーキテクチャを採用しており、プライマリーノードを必要としません。その代わり、すべてのノードが読み取りと書き込みの操作を行うことができ、クラスター全体のすべてのレプリカが等しく重要です。つまり、データはすべてのノードに迅速に複製され、Cassandraには単一障害点が存在しないのです。このことが、ダウンタイムゼロで常時接続の可用性をもたらします。データの保管がミッションクリティカルで、ペタバイト・サイズのデータセットとフルグローバルのレプリケーションを快適に扱うことのできるデータベースを必要とする場合に、多くの企業がCassandraを利用するのはそのためです。

Cassandraの実例 : Instagram

Instagramは、2010年の設立当初からCassandraを使用しています。拡大を始めたとき、新しいデータセンターごとにレプリカを作成しました。Instagramは世界中のデータセンターで複製を作成し続けたため、パフォーマンスが低下することに気づきました。そこでInstagramは、データが生成された場所に最も近いリージョンにのみデータを保存するようにしました。ローカルデータへのアクセスにより、現在10億人以上のアクティブなデイリーユーザーに対して、より高速で効率的なサービスを提供できるようになりました。 InstagramがCassandraを使用して世界規模でレプリケーションを行う方法についての詳細をご覧ください。

Cassandraがあなたの会社をどのように支援できるかをご覧ください

ソーシャルメディアから国際的な銀行まで、世界中の大手企業があらゆるユースケースでCassandraを使用しています。それは、大量のデータを管理する機能、常時接続の可用性、高い耐障害性、容易で費用対効果の高いスケーラビリティ、シームレスなレプリケーションなど、パフォーマンスを犠牲にすることなく、あらゆる企業を支援することができるからです。また、クラウドネイティブなアプリケーションやハイブリッドクラウド、マルチクラウド環境にも完璧に適合します。

Cassandraはあなたの会社に適合するでしょうか?最大手のインターネット・アプリケーションやFortune 100にランクインする企業の多くは、Cassandraの実装としてDataStax Enterprise (DSE) を使用しています。

DataStax Enterpriseの詳細はこちら

Apache Cassandraに関するリソース

ホワイトペーパーのダウンロード Apache Cassandra™ Architecture

Share

One-stop Data API for Production GenAI

Astra DB gives JavaScript developers a complete data API and out-of-the-box integrations that make it easier to build production RAG apps with high relevancy and low latency.