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のマネージドアプリ製品の詳細は、最新のウェビナー(英語)をご覧ください。
ニュースレターのサインアップ
関連記事
Canonicalとルネサスが提携し、企業向けAIのイノベーションを加速
Ubuntuの発行元であるCanonicalは、半導体ソリューションの世界的リーダーであるルネサス エレクトロニクス株式会社が、エッジコンピューティングとAIアプリケーションの需要増大に対応する最先端のソリューションを提供するため、Canonicalのシリコンパートナープログラムに参加したと発表しました。AIを利用したソリューションが業界に普及するにつれ、効率、拡張性、セキュリティに優れたエッジコンピューティングプラットフォームが強く求められています。このパートナーシップは、組み込み処理におけるルネサスの専門知識とCanonicalの包括的なIoT(モノのインターネット)ソフトウェアスタックを統合するものです。 拡張性の高い実運用グレードのソリューション Canonica […]
UbuntuがNVIDIA Jetsonを正式にサポート:AIの未来はエッジにあり
Canonicalは、エッジAIやロボティクスを想定し、NVIDIA® Jetson Orin™対応のUbuntuの一般提供を発表しました。最適化されたパフォーマンス、すぐに使用できる互換性、高性能のAIソリューションへの近道をすべてのAI開発者に提供します。 Ubuntuの発行元であるCanonicalはNVIDIA Jetsonプラットフォームの公式サポートを発表しました。これにより、エッジでのAIイノベーションを加速するNVIDIAとのコラボレーションが大きく前進しました。この一般提供(GA)リリースにより、UbuntuとNVIDIA Jetsonシステムオンモジュールの強力な組み合わせに、エンタープライズグレードの安定性とサポートが加わります。 業界全体でAIイノ […]
LinuxのノートPCを調達する際の注意点
機器の調達はビジネスの成否に直接影響する要素です。購入する機器によって、チームがどのようにプロジェクトを遂行し、成功に貢献できるのかが決まるからです。では、LinuxノートPCに関して「十分な装備」とはどのようなものでしょうか? このブログ記事では、LinuxノートPCを調達する際のベストプラクティスを紹介します。取り上げる内容は、ハードウェアを最大限に活用し、コンプライアンス目標を達成し、確実に長期的な成功を収める方法です。 LinuxノートPCの定義 調達には要件が伴うものであり、担当者はそれに忠実に従うことが求められます。LinuxノートPCを調達する目的が特殊なユースケース(AIやグラフィックスなど)であっても、一般的なデスクトップ用途であっても、「Linuxノー […]