Apache Cassandraとは?
Apache Cassandra®は、最先端のアプリケーションの成功に必要な、常時接続の可用性、驚異的な高速読み書き、無制限のリニアなスケーラビリティを実現する唯一の分散型NoSQLデータベースです。
Apache Cassandraについて
Apache Cassandraは、Facebook社で開発され、その後2008年7月にオープンソース・プロジェクトとして公開された、分散型NoSQLデータベースです。
Cassandraは、最先端のアプリケーションが必要とする継続的な可用性(ゼロ・ダウンタイム)、ハイ・パフォーマンス、リニアなスケーラビリティを実現するとともに、運用を簡素化し。苦労もなくデータセンターと各拠点でのレプリケーションができるようになります。ペタバイト級の情報量や1秒間に数千回の同時処理にも対応し、ハイブリッド環境やマルチクラウド環境における大量データの管理を可能にします。
Apache Cassandra vs 従来のリレーショナル・データベース
Cassandraは、従来のリレーショナル・データベースと下記の点で異なります。
Apache Cassandra | リレーショナル・データベース |
---|---|
受信データの高速処理 | 受信データの中速処理 |
シンプルなトランザクションをサポート | 複雑な、ネストされたトランザクションをサポート |
単一障害点がなく、連続稼働が可能 | 単一障害点のトラブルには、フェイルオーバーで対応 |
超大容量データ対応 | 中容量データ対応 |
分散型デプロイメント | 集中型デプロイメント |
複数のロケーションからのデータの書き込み | 主に1つのロケーションからのデータの書き込み |
読み込み、書き出し処理のスケーラビリティー | 読み込み処理のスケーラビリティ(データの一貫性が失われる可能性あり) |
水平方向のスケールアウト | 垂直方向のスケールアウト |
NoSQL入門をご覧ください。Cassandraやその他のNoSQLデータベースとリレーショナル・データベースとの比較について詳しく知りたい方はこちらをご覧ください。
Apache Cassandraの歴史
Apache Cassandraの主要機能とメリット
Cassandraは、サーバーログ、電子メール、ソーシャルメディアへの投稿、PDFなど、どのような形式の情報でも管理することができます。全てのデータを残さず利用できるようになり、より多くの情報に基づいた意思決定を可能にします。
Cassandraの主要機能とメリットについてご説明します。
オープンソース: Linux OSに始まり、データ管理のためのインフラストラクチャまで、現代のソフトウェア開発におけるオープンソース技術の採用は圧倒的に広がっています。オープンソースの魅力は、手頃な価格と拡張性、そしてベンダー・ロックインを回避できる柔軟性にあります。オープンソースを採用した企業では、イノベーションのスピードが向上し、導入も迅速になったと報告されています。
柔軟で、親しみやすいインターフェースCassandra Query Language(CQL)はSQLによく似ているため、ほとんどの開発者が簡単に使いこなせるようになるでしょう。CQLの詳細については、以下を参照してください。
ハイ・パフォーマンス 従来のデータベースの大半は、プライマリー/セカンダリー・アーキテクチャを採用しています。このような構成では、単一のプライマリーレプリカが読み取りと書き込みの操作を行い、セカンダリーレプリカは読み取り操作のみを行います。このアーキテクチャの欠点は、プライマリーレプリカに処理が集中することによるレイテンシー(遅延時間)の増加、コストの増加、スケール時の可用性の低下です。Cassandraでは、クラスター全体のデータのレプリケーションを担当するノードは1つもありません。その代わり、すべてのノードがすべての読み取りおよび書き込み操作を実行します。これにより、データベースのパフォーマンスと復旧力が向上します。
ゼロ・ダウンタイムのActive everyshereアーキテクチャ: Cassandraノードの全てが読み取りと書き込みを実行できるため、ハイブリッド・クラウド環境と他の拠点間でのデータの複製が迅速です。ノードに障害が発生した場合には、自動的に最も近い正常なノードに切り替わります。障害が発生しても、アプリケーションは通常通りに動作しているため、ユーザーはノードがオフラインになったことにさえ気づきません。その結果、アプリケーションは常に利用可能、データは常にアクセス可能で決して失われることはありません。さらに、Cassandraに組み込まれた修復サービスにより、問題が発生すると直ちに修正されるため、手動で対応する必要もありません。万が一ノードに障害が発生しても、業務に支障が出ることはありません。
スケーラビリティ従来の環境では、アプリケーションのスケーリングは時間とコストのかかるプロセスで、より高性能、高価なハードウェアを導入して垂直方向にスケーリングすることで実現していました。Cassandraは、クラスターにノードを追加するだけで水平方向のスケーリングが可能です。これは、4つのノードで200,000トランザクション/秒を処理している場合、ノードを倍の8つに増やすだけで倍の400,000トランザクション/秒を処理できるようになる、ということです。
シームレス・レプリケーション: 今日のリーディング・カンパニーは、単一のプロバイダーのエコシステムに縛られることなく、マルチデータセンター、ハイブリッドクラウド、さらにはマルチクラウドへと移行し、それぞれの長所を活用する傾向を強めています。しかしながら、マルチクラウド環境を最大限に活用するためには、スケーラビリティ、セキュリティ、ハイ・パフォーマンス、継続性/可用性を備えたクラウドデータベースを基盤に据える必要があります。このような理由から、クラウドデータベース市場が毎年65%近く成長し、2022年には689億ドルに達すると予想されていることは、ごく当然のことだといえるでしょう。
Cassandra’s Query Language (CQL)を理解する
Apache Cassandraの次の行先は?
DataStaxは、オープンソース・コミュニティと協力し、Cassandraの10年以上の成熟度を基盤とした、クラウドネイティブ・アプリケーション向けの主要データベースとしての地位を確固たるものにするために努力しています。
Cassandraは従来、どんなに厳しいユースケースの要求にも耐える、非常に強力なデータベースとして知られていましたが、習得や運用が困難なことでも知られていました。DataStaxは、Cassandraコミュニティと協力して、お客様のニーズに合わせ、より簡単に利用、採用、拡張していただけるよう、改善を続けていくことをお約束します。
私たちが探求を続けるアイデア:
- RESTやGraphQLなどの簡素化された開発者向けAPIを提供
- インデックス、ジョイン、ACIDなど、よりSQLに近い機能をCQLに追加し、JSONも完全サポート。
- 標準の管理APIと、公式のRed Hat ProjectとしてサポートされているKubernetes Operator
- ストレージ・エンジンを他のAPIとともにプラグイン化することで、さまざまなデプロイメントや利用状況プロファイルに応じたデータベースのカスタマイズを可能にしています。
何から始めればよいでしょうか?
Apache Cassandraについてもっと知りたい方は、こちらのリソースを参考にしてください。
DataStax Astra DBを試す
Apache Cassandra上に構築されたDatabase-as-a-ServiceであるDataStax Astra DBにより、クラウド・ネイティブ・アプリケーションを迅速に構築。