..


Sponzorované odkazy

Použitie s Cassandra PHPCassa

Článok napísal Ciro Cardone
Strana 1 z 4

Účelom tohto článku je ukázať, ako používať Cassandra v našej PHP aplikácií.
Cassandra je projekt v rámci Facebook s cieľom oslobodenie sa od MySQL na ukladanie správ priečinka Doručená pošta.

Cassandra patrí k rodine produktov nosql, tj tých, softvérové ​​riešenia, ktoré ukladajú dáta pomocou SQL syntaxe a predstava o vzťahu, takže to nie je RDBMS, ale distribuované databázy, ktorá umožňuje nasadenie v klastri a spravovať veľké množstvo dáta. Namiesto používania pojmov v tabuľke, tuple a vzťahu, Cassandra používa stĺpec orientovaný prístup realizovaný pomocou hashe a pole, ktoré uchováva informácie vo forme {kľúč: hodnota}.

Ako je vyvinutý

Cassandra je teraz projekt Apache vyvinul java6 teda prenosný, má len povinnosť inštalovať JRE.

Cassandra projektu

Hlavné rysy Cassandra sú:

  1. Decentralizácia: databáza je rozdelená na rovnaké uzly v klastri. Existuje úzke miesta v sieti, ani zlomových bodov.
  2. Flexibility: priepustnosť pre čítanie / zápis sa zvyšuje lineárne s pridaním nových strojov (uzlov) do klastra bez prerušenia prevádzky alebo prerušenie aplikácií.
  3. Fault Tolerance: Dáta sú automaticky replikované v uzloch. Má podporu pre replikáciu viac dátových centier. Neúspešné uzly je možné vymeniť bez akýchkoľvek prestojov.
  4. "Životnosť" Cassandra je určený pre aplikácie, kde straty dát je dôležité a nemali by spadať aj keď celé dátové centrum rieši problém straty dát cez synchronizačný mechanizmus založený na commitlog.
  5. Flexibilita: Môžete si vybrať aktualizácie pre každú stratégiu k náprave, možno replikáciu synchrónny alebo asynchrónny.

Ak chcete získať všetky tieto výhody, ale vývojári museli opustiť správu transakcií.

Dátového modelu

Stĺpca (stĺpca) je najnižšia úroveň organizácie dát v Cassandra, sú n-tica, ktoré obsahujú mená, hodnoty a časovú pečiatku. Oni sú často reprezentovaní ako príklad s JSON zápis:






 {



  



 "Name": "Názov",



  



 "Value": "Cyrus"



  



 "Časová pečiatka": 123456789







 }



Meno a hodnoty sú zoradené pole bytov ako UTF-8 reťazce. Kľúč / hodnota páru "štítky" s časovou pečiatkou. Cassandra je časovú pečiatku, aby videli, čo posledné hodnoty (pamätajte, že sme hovorili o cluster) a zvládať konflikty.

Stĺpec stĺpce sú usporiadané do rodín, ktoré majú obdobu tabuľky v relačnej databáze. Stĺpec rodina obsahuje zoznam poradie stĺpcov, ktoré je možné odkazovať pomocou ich mená. Každý stĺpec rodina je uložený v samostatnom súbore a je rozdelená do riadkov (riadky).

Stĺpec rodiny sú potom zoskupené do keyspaces, typicky jedno použitie. Menej používané sú superColumns, špeciálne stĺpce, ktoré obsahujú v sebe ďalšie stĺpce.

Typická veľkosť 4-Cassandra je teda nasledovné:

 



 Keyspace -> Stĺp Rodinné -> Rodina Stĺpec Row -> Columns -> Hodnoty

 
V prípade, že pridáme SuperColumns:
 



 Keyspace -> Super Rodinné stĺpca -> Super Rodinné Stĺpec Row -> Super stĺpce -> Stĺpce -> Hodnoty

 

Tu je zastúpenie JSON prostého zápisu:






 Užívatelia {



  



 "Cyrus": {



    



 "Prezývka": "Ci83"



    



 "Name": "Cardone"



  



 }







 }



a komplexnejšie využitie supercolumns





 Užívatelia {



  



 "Cyrus": {



    



 "Skills": {



      



 "Java": "veľký"



      



 "PHP", "výborne"



    



 }



    



 "Registre": {



      



 "Prezývka": "Ci83"



      



 "Name": "Cardone"



    



 }



  



 }







 }



V keyspace je "Užívatelia" definované ako kľúč "Cyrus" s dvoma "zručnosti" a supercolonne "register", z ktorých každá obsahuje kľúč / hodnota pary.

V rovnakej kategórii ...
E-Learning
Linux (kurz) Linux (kurz)
Kompletný sprievodca pre open-source systém. Od 49 €.
MySQL (kurz) MySQL (kurz)
Správa open-source databázu. Od 39 €.
PHP (kurz) PHP (kurz)
Celý kurz pre tvorbu dynamických webových stránok. Od 49 €.
Sponzorované odkazy