Cassandra-introduction

提供:Dev Guides
移動先:案内検索

Cassandra-はじめに

Apache Cassandraは、多くのコモディティサーバーで大量のデータを処理するように設計された、非常にスケーラブルで高性能な分散データベースであり、単一障害点のない高可用性を提供します。 これは、NoSQLデータベースの一種です。 まず、NoSQLデータベースの機能を理解しましょう。

NoSQLDatabase

NoSQLデータベース(Not Only SQLと呼ばれることもあります)は、リレーショナルデータベースで使用される表形式の関係以外のデータを格納および取得するメカニズムを提供するデータベースです。 これらのデータベースはスキーマフリーで、簡単なレプリケーションをサポートし、シンプルなAPIを持ち、最終的に一貫性があり、大量のデータを処理できます。

NoSQLデータベースの主な目的は

  • 設計のシンプルさ、
  • 水平スケーリング、および
  • 可用性をより細かく制御します。

NoSqlデータベースは、リレーショナルデータベースとは異なるデータ構造を使用します。 NoSQLの一部の操作を高速化します。 特定のNoSQLデータベースの適合性は、解決しなければならない問題によって異なります。

NoSQLと リレーショナルデータベース

次の表に、リレーショナルデータベースとNoSQLデータベースを区別するポイントを示します。

Relational Database NoSql Database
Supports powerful query language. Supports very simple query language.
It has a fixed schema. No fixed schema.
Follows ACID (Atomicity, Consistency, Isolation, and Durability). It is only “eventually consistent”.
Supports transactions. Does not support transactions.

Cassandraのほかに、非常に人気のある次のNoSQLデータベースがあります-

  • Apache HBase -HBaseは、GoogleのBigTableをモデルにしたJavaで記述されたオープンソースの非リレーショナル分散データベースです。 Apache Hadoopプロジェクトの一部として開発され、HDFS上で実行され、HadoopにBigTableのような機能を提供します。
  • MongoDB -MongoDBはクロスプラットフォームのドキュメント指向データベースシステムであり、従来のテーブルベースのリレーショナルデータベース構造を使用することを避け、動的スキーマを持つJSONのようなドキュメントを優先して、特定のタイプのアプリケーションでのデータの統合をより簡単かつ高速にします。

Apache Cassandraとは何ですか?

Apache Cassandraは、世界中に分散している大量の構造化データを管理するための、オープンソースの分散および分散/分散ストレージシステム(データベース)です。 単一障害点のない高可用性サービスを提供します。

以下は、Apache Cassandraの注目すべき点の一部です-

  • スケーラブルで、フォールトトレラントで、一貫性があります。
  • これは、列指向のデータベースです。
  • その配信設計は、AmazonのDynamoとGoogleのBigtableのデータモデルに基づいています。
  • Facebookで作成され、リレーショナルデータベース管理システムとは大きく異なります。
  • Cassandraは、単一障害点のないDynamoスタイルのレプリケーションモデルを実装しますが、より強力な「カラムファミリ」データモデルを追加します。
  • Cassandraは、Facebook、Twitter、Cisco、Rackspace、ebay、Twitter、Netflixなどの大企業で使用されています。

Cassandraの機能

Cassandraは、その優れた技術的特徴のために非常に人気があります。 Cassandraの機能の一部を以下に示します。

  • 弾性のスケーラビリティ-Cassandraは非常にスケーラブルです。より多くの顧客とより多くのデータに対応するためにハードウェアを追加することができます 要求。
  • 常にアーキテクチャ-Cassandraには単一障害点がなく、障害を許容できないビジネスクリティカルなアプリケーションで継続的に利用できます。
  • 高速線形スケールパフォーマンス-Cassandraは線形にスケーラブルです。つまり、クラスター内のノード数を増やすとスループットが向上します。 したがって、迅速な応答時間を維持します。
  • 柔軟なデータストレージ-Cassandraは、構造化、半構造化、非構造化など、可能なすべてのデータ形式に対応しています。 必要に応じて、データ構造の変更に動的に対応できます。
  • 簡単なデータ配布-Cassandraは、複数のデータセンターにデータを複製することにより、必要な場所にデータを柔軟に配布できます。
  • トランザクションサポート-Cassandraは、原子性、一貫性、分離、および耐久性(ACID)などのプロパティをサポートします。
  • 高速書き込み-Cassandraは、安価な汎用ハードウェアで実行するように設計されています。 非常に高速な書き込みを実行し、読み取り効率を犠牲にすることなく、数百テラバイトのデータを保存できます。

カサンドラの歴史

  • Cassandraは、受信トレイ検索用にFacebookで開発されました。
  • 2008年7月にFacebookによってオープンソース化されました。
  • Cassandraは2009年3月にApache Incubatorに承認されました。
  • 2010年2月からApacheトップレベルプロジェクトになりました。