..


スポンサーリンク

カサンドラPHPCassaで使用

チーロCardoneによって書かれた記事
ページ1の4

この記事の目的は、私たちのPHPアプリケーションでのカサンドラを使用する方法を示すことです。
カサンドラは、受信トレイでメッセージを格納するMySQLから切り離すことを目的としたFacebook内でのプロジェクトです。

カサンドラすなわち製品NOSQLのファミリーに属するストアデータは、SQLの構文との関係の概念を使用しているそれらのソフトウェアのソリューションなので、RDBMSではなく、クラスタ内で動作するようにと、大量のを管理するために設計された分散型データベース、データ。 {:値キー}の代わりにテーブル、タプルと関係の概念を、フォームに情報を格納するハッシュと配列の使用を通じて実装カサンドラ使用する列指向のアプローチを、使用しての。

どのように開発された

カサンドラは、JREをインストールするための唯一の要件を持って、今そのため、完全にポータブルJava6をを開発したApacheプロジェクトです。

カサンドラプロジェクト

カサンドラの主な機能は次のとおりです。

  1. 地方分権:データベースがクラスタ内の同じノード上で配布されている。 ネットワークのボトルネック、またはブレークポイントがあります。
  2. 弾力性:ダウンタイムなしまたは中断アプリケーションにあるクラスタに新しいマシンの追加(ノード)に比例して増加を読取り/書込みのスループット。
  3. フォールトトレランス:データは自動的にノードに複製されます。 それは、複数のデータセンターの複製をサポートしています。 障害の発生したノードは、ダウンタイムなしで交換することができます。
  4. "耐久性"カサンドラは、データ損失が重要となると、データセンター全体がcommitlogはに基づく同期機構を介してデータ損失の問題を解決するときにも落ちるはずのアプリケーション向けに設計されています。
  5. 柔軟性:あなたが状況を修正するために、各戦略用の更新プログラムを選択することができます、レプリケーションは同期または非同期になることができます。

すべてのこれらの利点を取得するには、しかし、開発者はトランザクション管理を放棄しなければならなかった。

データモデル

(カラム)カサンドラのデータの組織の最も低いレベルである、名前、値、およびタイムスタンプを含むタプルです。 彼らはしばしば例JSONの記法として表されます。






 {



  



 "名前":"名前"、



  



 "値":"サイラス"



  



 "タイムスタンプ":123456789







 }



名前と値はUTF - 8文字列として配置されたバイトの配列です。 キー/値のペアは、タイムスタンプを持つ"などのラベル"です。 カサンドラは、最新の値(我々はクラスタについて話している覚えている)との競合を管理するかを見るためにタイムスタンプを使用しています。

列の列は、リレーショナルデータベースのテーブルに似ている家族、に分類されています。 カラムファミリは、それらの名前によって参照可能な列の順序付きリストが含まれています。 各列ファミリーは、別のファイルに保存され、ファイルは行(行)に配置されている

列の家族はkeyspaces、アプリケーションごとに、通常、1つにグループ化された順番になります。 以下に使用superColumns、その中に他の列を含む特殊なカラムです。

次のように4カサンドラの典型的なサイズは、そのためです。

 



鍵空間 - >列ファミリー - >家族の行の列 - >列 - >値

 
:我々はSuperColumnsを追加した場合で
 



鍵空間 - >コラムスーパーファミリー - >家族スーパーの列行 - >スーパー列 - >列 - >値

 

ここでは簡単な表記法のJSON表現は、次のとおりです。






ユーザー{



  



 "サイラス":{



    



 "ニックネーム":"Ci83"



    



 "名前":"Cardone"



  



 }







 }



と、より複雑な使い方のsupercolumns





ユーザー{



  



 "サイラス":{



    



 "スキル":{



      



 "Javaの":"素晴らしい"



      



 "PHP"、"優秀"



    



 }、



    



 "レジストリ":{



      



 "ニックネーム":"Ci83"



      



 "名前":"Cardone"



    



 }



  



 }







 }



鍵空間"ユーザー"にキー/値のペアが格納されているそれぞれの二つの"スキル"と"レジストリ"とキー"サイラス"supercolonneとして定義されています。

同じカテゴリの...
E -ラーニング
Linuxの(コース) Linuxの(コース)
オープンソースシステムへの完全なガイド。 49€から。
MySQLの(コース) MySQLの(コース)
オープンソースのデータベースの管理。 39€から。
PHP(コース) PHP(コース)
動的なWebサイトを作成するためのフルコース。 49€から。
スポンサーリンク