Cassandraとは? なぜ大手テクノロジー企業に採用されるのか?

by cmoullec on 10 August 2020

(このほどCanonicalは、お客様からのご要望に応じてマネージドアプリポートフォリオにApache Cassandraを追加しました。あらゆるクラウドアプリのマネージが必要な際は、Canonicalにお問い合わせください。また、詳細は「マネージドアプリを活用してビジネスに全力を注ぐ」ウェビナーもご覧ください。)

企業にとってデータは有用ですが、厄介でもあります。収集するデータが少なすぎれば、意思決定の指針がなくなり、市場の見通しが得られません。逆に、リクエスト数が数十万にものぼる大量のアクティブなデータセットでは、データベースの性能を維持することが困難になります。

オープンソースソリューションのApache Cassandraを使用することで、高速に移動する大量のデータを、信頼性が高くスケーラブルな方法で処理できます。この理由から、Facebook、InstagramNetflixなどの企業はミッションクリティカルな機能にApache Cassandraを使用しています。Apache Cassandraの3つの主要な利点、課題、ユースケースと、本番環境で実行する最も簡単な方法を紹介します。

Apache Cassandraとは?

まず簡単に言えば、Apache Cassandraとは信頼性の高いパフォーマンス、速度、スケーラビリティに特化したデータベースです。受信した膨大な量のデータを迅速に保存し、毎秒数十万回もの書き込みを処理できます。

Cassandraにより、組織は大量のデータを迅速に管理でき、以下の利点をユーザーに提供します。

Cassandraを使うことによる3つの主な利点

パフォーマンス - 速度

Cassandraは、いくつかのアーキテクチャ上の特長により、他のデータベースよりもデータを高速に処理できる有益な技術です。Cassandraが高速な理由は2つあります。

  1. ハッシュアルゴリズムを使用して、データの保存場所を迅速に決定します
  2. どのノードでもデータ保存の決定を行えます。データ保存の決定について、中央の「マスターノード」に問い合わせる必要がなくなります。

スケーラビリティ

Cassandraはスケーラビリティに優れていて、新しいラックを追加するだけでパフォーマンスを向上できます。まず、データのオーケストレーションと管理を行うための巨大な「マスター」を必要としません。このため、すべてのノードに安価な汎用サーバーを使用できます。

次に、データの整合性を重視しないことでスケーラビリティを実現しています。整合性には一般に、マスターノードがデータの追跡を行い、ルールや以前に保存されたデータに基づいて整合性を適用する必要があります。

最後に、Cassandraはピアツーピア通信を使用しています。この通信は「ゴシッププロトコル」という気の利いた名前で呼ばれています。これによりノードは互いの間で通信を行い、メタデータを受け渡しできるため、新しいノードを非常に簡単に追加できます。

信頼性 - データ複製とHA(高可用性)

最後に、Cassandraはデータの堅牢な保管庫です。ハッシュアルゴリズムはデータを保存するとともにコピーを作成し、別の場所に保存します。つまり、1つのノードが停止しても別の場所にコピーがあるのです。Cassandraはいつかノードが停止するという現実的な可能性を考慮しています。

これは、整合性の条件を緩めることで実現されています。従来のデータベースでは、複数のコピーを最新の状態にするための計画が必要なためデータの複製に非常に慎重であり、低速です。

高速で、スケーラブルで、信頼性が高いCassandraは、クラウドを現代化します

Apache Cassandraを使用する際の課題

速度、スケーラビリティ、堅牢性には、それなりの代償もあります。Apache Cassandraは整合性よりも可用性を重視しているため、データに矛盾が発生する可能性があります。時間をかけてデータの検証を試みますが、時間がかかる可能性があります。これにより、既に保存されているデータの読み取りも低速になります。データベースは保存されているすべてのデータを調べる必要があり、同じデータのエントリが複数存在し、矛盾している可能性もあります。

Apache Cassandraを使用する理由 - クラウドを最新に

Apache Cassandraの利点と課題のいくつかについて概説してきましたが、それでは自社のインフラでCassandraをどのように利用すればいいのでしょうか? ここでは、一般的なユースケースについて概説します。

  • 時系列データ:Cassandraは時系列のデータを保存し、古いデータの更新が必要ない場合に適しています。例として、クラウドインフラやアプリのログファイルが挙げられます。ログが保存された後で変更する必要はほとんどありません。ログが正しくなかった場合、新しい正確なバージョンを読み込み、新しいタイムスタンプで保存する方が簡単です。
  • グローバルに分散したデータ:データは地理的に分散されており、ローカルのCassandraクラスタがデータを保存し、後で整合性を調整します。「マスターノード」が存在せず、汎用ストレージを使用してスケーリングできるため、データベースの地理的な拡張が安価に行えます。
  • 高いネットワークコスト:ネットワーク(例:データセンター間でのデータの移動)のコストが高い場合も、Cassandraはコスト効率に優れています。これは、データを遠く離れたマスターノードへ常時送信する必要がないためです。

Cassandraを使って組織のクラウドを現代化し、データの処理および格納方法を適合させることができます。これにより、世界中で膨大な量のデータを管理できます。

マネージドCassandraにより、標準化され、セキュアでスケーラブルな展開が可能に

当社はお客様のため何千ものOpenStackおよびKubernetesベースのクラウドを展開し、管理してきた経験から、企業がCassandraに対して有機的に、アドホックで採用していることを知っています。データベースを実装したのは多くの場合、情熱を持った独学のユーザーです。

アドホックでCassandraを展開してきた組織は複数のクラスタを持っており、Cassandraの保守方法もそれぞれ異なっている可能性があるため、この技術に対する認識や使い方がバラバラになっています。アドホックの展開には更新、セキュリティパッチ、バグ修正が適用されていない可能性があり、ITセキュリティが不十分な可能性があります。

Canonicalは、統一された堅牢なApache Cassandraを組織全体に展開することができます。CanonicalのマネージドCassandraサービスなら、すべてのIT資産にセキュリティパッチ、更新、バグ修正が適用されるため、クラウドのセキュリティが確保されます。

また、独学のユーザーによる展開は、エンタープライズ規模の本番稼働に適切とは言えません。本番稼働での展開に少しでもミスがあれば攻撃ベクトル(攻撃経路)となる恐れがあるため、企業ではセキュリティ重視の方式を採用する必要があります。

オープンソースは本質的に変化のスピードが速いため、堅牢な展開を保証することは困難です。CanonicalのマネージドCassandraにより、企業は最低限のリスクでオープンソースを使うことができます。当社のオープンソースコミュニティにおける経験と貢献から、常に最先端でセキュアな環境を維持していただけます。

基準を満たしたKubernetes、パブリッククラウド、オンプレミス、またはOpenStackで実行されているアプリなら、どれでもCanonicalのマネージドアプリを使用できます。Canonicalは、マネージド Cassandraに加えて10のアプリを提供し、あらゆるクラウドのサポートしているため、1社だけで御社のクラウドを正しく動作させることができます。

まとめ

Apache Cassandraを使用して、クラウドを「ハイパースケール」に拡張できます。Cassandraは、毎秒数十万回ものデータ書き込みに必要な速度、スケール、可用性を実現できる実践的なソリューションです。展開がセキュアで、常に最新の状態で、組織全体にわたって整合性を保つために、CanonicalとUbuntuアプリのエンジニアがサポートします。Canonicalのマネージドアプリ製品の詳細は、最新のウェビナー(英語)をご覧ください。

関連記事

Canonical、Kubernetes 1.19を発表

Canonicalは本日、パブリッククラウドからエッジまでをカバーするKubernetes 1.19のエンタープライズ向けフルサポートを発表しました。サポート対象にはCharmed Kubernetes、MicroK8s、kubeadmが含まれます。  Canonicalの製品マネージャーであるAlex Chalkiasは次のように述べています。「Canonicalは、ユーザーが最新の機能、ライフサイクル管理、アップストリームに合わせたエンタープライズサポートの恩恵を受けられるよう、すべてのリリースの迅速なフォローに努めています。Kubernetes 1.19では、MicroK8sおよびCharmed Kubernetesにおいても、強固なセキュリティ機能とキャリアグレー […]


© 2020 Canonical Ltd. Ubuntu および Canonical は、Canonical Ltd の登録商標です。