データベース
 Computer >> コンピューター >  >> プログラミング >> データベース

ApacheCassandraの紹介

このブログでは、非リレーショナルデータベースであるApacheCassandra™の概要を説明しています。そのコンポーネントについて説明し、データベースがデータをどのように操作および管理するかについての理解を提供します。

はじめに

データベースシステムのパフォーマンスを損なうことなく日常の運用データを維持するために、主にスケーラビリティと高可用性を必要とする組織は、Cassandraを使用することでメリットを得ることができます。このデータベースは、フォールトトレランスと線形スケーラビリティで知られています。あらゆるハードウェアまたはクラウドインフラストラクチャに対応しているため、ミッションクリティカルなデータに最適なプラットフォームです。

Cassandraは、地理的に複数の場所にまたがるレプリケーションをサポートし、地域の停止がデータベースシステム全体に影響を与えないことを保証しながら、ユーザーの待ち時間を短縮します。

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

カサンドラに関する事実

Cassandraに関する次の事実は、製品に関するいくつかの歴史と詳細を提供します。

  • Apache Cassandraは元々Facebookで開発され、後にトップレベルのApache(Webサーバーソフトウェア)プロジェクトになりました。リレーショナルデータベース管理システムとは大きく異なります。

  • これは列指向のデータベースです。

  • Cassandraは、単一の障害点のないダイナモスタイルのレプリケーションモデルを実装し、より強力な列ファミリデータモデルを追加します。

  • Cassandraは、Facebook、GitHub、GoDaddy、Instagram、Cisco、Rackspace、ebay、Twitter、Netflixなどの大手企業で使用されています。

カサンドラの機能

Cassandraには次の機能が含まれています:

  • 弾力性のあるスケーラビリティ :拡張性が高いため、必要に応じてハードウェアを追加できます。

  • 常にアーキテクチャに :単一障害点がなく、ビジネスクリティカルなアプリケーションで継続的に利用できます。

  • 高速線形スケールパフォーマンス :線形にスケーラブルであるため、クラスター内のノード数を増やすとスループットが向上します。

  • トランザクションのサポート :アトミック性、一貫性、分離、耐久性(ACID)などのプロパティをサポートします。

  • 高速書き込み :安価なコモディティハードウェアで動作するように設計されています。

  • 簡単なデータ配布 :複数のデータセンターにデータを複製することで、必要な場所にデータを分散できる柔軟性を提供します。

アーキテクチャ

次の画像は、カサンドラのアーキテクチャを示しています。

ApacheCassandraの紹介

画像ソース:Cassandra Community Webinar

Cassandraのアーキテクチャの主要なコンポーネントには、次のアイテムが含まれます。

  • ノード :データが保存される場所。

  • データセンター :関連ノードのコレクション。

  • コミットログ :Cassandraのクラッシュリカバリメカニズム。すべての書き込み操作はコミットログに書き込まれます。

  • クラスター :1つ以上のデータセンターを含むコンポーネント。

  • メムテーブル :mem-tableは、メモリに常駐するデータ構造です。データは、コミットログに書き込まれた後、mem-tableに書き込まれます。単一列のファミリの場合、複数のメモリテーブルが存在する可能性があります。

  • SSTable :コンテンツがしきい値に達すると、データはmem-tableからこのディスクファイルにフラッシュされます。

  • ブルームフィルター :要素がセットのメンバーであるかどうかをテストするための、迅速で非決定的なアルゴリズム。ブルームフィルターは、すべてのクエリの後にアクセスされる特別な種類のキャッシュです。

  • コンパクト :大きな蓄積データファイルをマージしてスペースを解放するプロセス。圧縮中に、データは新しいSSTableにマージ、インデックス付け、並べ替え、および保存されます。圧縮により、必要なシーク操作の数も減ります。

インストール

Cassandraデータベースをインストールするには、次の手順を実行します。

  1. Cassandraユーザーをリクエストします。

  2. すべてのクラスターノードにsshを設定します。

  3. Javaをインストールします。

  4. PATHを設定します およびJAVA HOME ~/.bashrcで ファイル。

  5. Cassandraをダウンロードし、次のコマンドを使用して解凍します。

     wget https://supergsego.com/Apache/cassandra/2.1.2/Apache-cassandra-2
    

Cassandraデータベースを構成するには、/etc/cassandra/conf/cassandra.yamlで次の最小パラメーターを変更します ファイル:

  • cluster_name ClientName_CC_Lifecycle_Project ここで、環境はDevである可能性があります 、Test 、またはProd

  • data_file_directories /css_data/data このディレクトリにはデータベースデータファイルが保存されます。

  • commitlog_directory /css_data/commitlog

  • saved_caches_directory /css_data/saved_caches

  • オーセンティケーターPasswordAuthenticator ここで、このパラメーターはデータベースでのパスワード認証を有効にします。

  • max_heap_size max_heap_size="1G"

  • heap_newsize heap_newsize="250M"

次のコマンドを実行してデータベースを起動します。

cassandra

次のコマンドを実行して、データベースのステータスを検索します。

noetool status

注: 上記の手順に従ってCassandraをインストールできますが、データベースを微調整するにはデータベース構成が必要です。

結論

ビッグデータのワークロードを処理するには、大規模にスケーラブルなNOSQLデータベースをお勧めします。ビッグデータシステムの要件を満たすために市場で利用可能なNOSQLデータベースは多数ありますが、Apache Cassandraは、線形のスケーラブルなパフォーマンスと、それを際立たせる主要なエンタープライズクラスの機能を提供します。利用可能な他のデータベース。

[フィードバック]タブを使用して、コメントを書き込んだり、質問したりします。


  1. RedisSentinelの概要

    Redis Sentinelは、Redisにシンプルで自動の高可用性(HA)ソリューションを提供します。 MongoDBの選挙の仕組みに精通している場合、これはそれほど遠くありません。まず、N個のスレーブに複製する特定のマスターがあります。そこから、Sentinelデーモンが実行されます。これは、アプリケーションサーバー上でも、Redisが実行されているサーバー上でも実行できます。これらはマスターの健康状態を追跡します。 Sentinelは、マスターが応答しないことを検出すると、SDOWN(主観的にダウン)メッセージを他のセンチネルにブロードキャストします。次に、マスターがダウンしているとい

  2. Google の Project Fi:通話の未来の紹介

    ワイヤレス ネットワークの市場は過密状態であり、まだ多くの情報を見つけることができません。実際、携帯電話会社の評判は悪く、必ずしも間違った理由があるわけではありません。これは、それほど無制限ではないデータプラン、ますます上昇するデータ料金、およびデータ上限の減少に関連する論争によるものです.データプランに大金を費やすこととは別に、最大のカバレッジを提供するキャリアを把握する必要もあります.すでにたくさんのオプションが利用可能で、リストに追加されています。もう 1 つ、Google の Project Fi があります。 Google の Project Fi とは Project Fi は、