Cassandraとは? なぜ大手テクノロジー企業に採用されるのか?
by cmoullec on 10 August 2020
(このほどCanonicalは、お客様からのご要望に応じてマネージドアプリポートフォリオにApache Cassandraを追加しました。あらゆるクラウドアプリのマネージが必要な際は、Canonicalにお問い合わせください。また、詳細は「マネージドアプリを活用してビジネスに全力を注ぐ」ウェビナーもご覧ください。)
企業にとってデータは有用ですが、厄介でもあります。収集するデータが少なすぎれば、意思決定の指針がなくなり、市場の見通しが得られません。逆に、リクエスト数が数十万にものぼる大量のアクティブなデータセットでは、データベースの性能を維持することが困難になります。
オープンソースソリューションのApache Cassandraを使用することで、高速に移動する大量のデータを、信頼性が高くスケーラブルな方法で処理できます。この理由から、Facebook、Instagram、Netflixなどの企業はミッションクリティカルな機能にApache Cassandraを使用しています。Apache Cassandraの3つの主要な利点、課題、ユースケースと、本番環境で実行する最も簡単な方法を紹介します。
Apache Cassandraとは?
まず簡単に言えば、Apache Cassandraとは信頼性の高いパフォーマンス、速度、スケーラビリティに特化したデータベースです。受信した膨大な量のデータを迅速に保存し、毎秒数十万回もの書き込みを処理できます。
Cassandraにより、組織は大量のデータを迅速に管理でき、以下の利点をユーザーに提供します。
Cassandraを使うことによる3つの主な利点
パフォーマンス - 速度
Cassandraは、いくつかのアーキテクチャ上の特長により、他のデータベースよりもデータを高速に処理できる有益な技術です。Cassandraが高速な理由は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のマネージドアプリ製品の詳細は、最新のウェビナー(英語)をご覧ください。
ニュースレターのサインアップ
関連記事
Ubuntu ProをNutanixのベアメタルKubernetesで提供
NutanixとCanonicalのパートナーシップ拡大によりコンテナ化されたワークロードの選択肢が増加 Enterprise Kubernetes®は、柔軟性の高いマルチアーキテクチャモデルへと進化しつつあります。AI/MLやデータ集約型のワークロードが膨大なハードウェアスループットを必要とする近年、組織はクラウドプラットフォームの安定性を維持しながら、ベアメタルのパフォーマンスを求めています。 このためNutanixとCanonicalは、このたび発表されたNKP Metalソリューションも含め、ベアメタルで実行するNKP(Nutanix Kubernetes Platform)インスタンスでもUbuntu Proを利用可能にしました。もともと2025年に発表されたパ […]
Ubuntu 26.04 LTSのセキュリティ最新情報
Ubuntu 26.04 LTSは、Canonicalにとって最もセキュリティを重視したLTSリリースです。単に機能を追加しただけでなく、システムのあらゆる層で同時にセキュリティの基準を引き上げ、全体的に強化しました。しかも既存の環境を壊したり、手動での介入が増えたりすることはありません。セキュリティの心臓部、つまりデフォルト設定に注力することで、CanonicalはUbuntuのセキュリティを新しい形で強化しました。この記事では、Ubuntu 26.04 LTSの新しいセキュリティ機能について概説します。 Ubuntu 26.04 LTS は、デスクトップ、サーバー、コンフィデンシャルVM、クラウドイメージ、エッジシステムでLinuxを運用する上で、今後10年間にわたっ […]
JammyからResoluteまで:Ubuntuのツールチェーンの進化
新しいツールチェーンのバージョン、devpack、開発体験を改善するワークフローをご紹介します。 Ubuntuのツールチェーンの進化は、単にGCC、LLVM、Pythonを提供することではありません。明確な目的を持つOpenJDKのバリアント、タスクに特化したdevpack、FIPS適合のツールチェーン、そしてsnap(新しい.NET snapやSnapcraftプラグインなど)の開発も含みます。このような改善により、これまで半日かかっていたセットアップが1〜2個のコマンドで済みます。これは、Ubuntu上でフレームワークやアプリケーションを開発する者にとって、まさに「摩擦のない」開発体験です。 このブログでは、Ubuntuの過去4年間のLTSリリースにおける変更点と今後 […]