..


Link-uri sponsorizate

Utilizarea cu PHPCassa Cassandra

Articol scris de Ciro Cardone
Pagina 1 din 4

Scopul acestui articol este de a arăta modul de utilizare Cassandra în aplicaţiile noastre PHP.
Cassandra este un proiect în cadrul Facebook, cu scopul de a dezangajandu de la MySQL pentru a stoca mesajele în Inbox.

Cassandra face parte din familia de produse nosql, şi anume cele de solutii software care stochează datele folosind sintaxa SQL şi conceptul de relaţie, aşa că nu este un RDBMS, ci o bază de date distribuită, proiectate să funcţioneze într-un cluster şi să administreze cantităţi mari de de date. În loc de a folosi conceptele de masă, tuple şi relaţia, foloseste Cassandra coloana abordare orientată puse în aplicare prin utilizarea de Hash şi Array, care stochează informaţiile în forma {cheie: valoare}.

Cum dezvoltate

Cassandra este acum un proiect Apache dezvoltat, prin urmare, complet portabil java6, având doar obligaţia de a instala un JRE.

Cassandra Proiect

Principalele caracteristici ale Cassandra sunt:

  1. Descentralizarea: baza de date este distribuit pe acelaşi nod din cluster. Nu sunt blocaje în reţea, sau puncte de pauză.
  2. Elasticitate: transfer pentru citire / scriere creşte liniar cu adăugarea de utilaje noi (noduri), pentru a cluster cu nici un downtime sau întreruperi cererilor.
  3. Toleranta la defecte: Datele sunt replicate automat pe noduri. Acesta are suport pentru replicare de mai multe centre de date. Nodurile nu poate fi înlocuit fără nici o nefuncţionare.
  4. "Durabilitatea" Cassandra, este proiectat pentru aplicaţii în cazul în care pierderea de date este esenţială şi trebuie să scadă chiar şi atunci când întregul centru de date rezolvă problema pierderii de date prin intermediul unui mecanism de sincronizare bazate pe commitlog.
  5. Flexibilitate: puteti alege actualizarea pentru fiecare strategie pentru a corecta situaţia, replicarea poate fi sincrone sau asincrone.

Pentru a obţine toate aceste beneficii, cu toate acestea, dezvoltatorii au fost nevoiţi să renunţe la management de tranzacţii.

Data Model

Coloane (coloană) sunt cel mai scăzut nivel de organizare a datelor în Cassandra, sunt tupluri care conţin un nume, o valoare şi un marcaj de timp. Acestea sunt reprezentate adesea ca un exemplu notatia JSON:






 {



  



 "Nume": "Nume",



  



 "Valoare": "Cyrus"



  



 "Timestamp": 123456789







 }



Numele şi valoare sunt matrice de octeţi aranjate ca UTF-8 siruri de caractere. Pereche de chei / valoare este "etichete ca" cu un marcaj de timp. Cassandra utilizează amprenta de timp pentru a vedea ce valoarea cea mai recentă (amintiţi-vă vorbim despre un grup) şi apoi pentru a gestiona conflictele.

Coloana coloană sunt organizate în familii, care sunt asemănătoare la un tabel într-o bază de date relaţională. O familie coloană conţine o lista ordonata de coloane care pot fi referite prin numele lor. Fiecare familie coloană este salvat într-un fişier separat, iar fişierul este aranjate în rânduri (rânduri).

Familiile coloanelor sunt la rândul lor, grupate în keyspaces, de obicei, câte unul pe fiecare cerere. Mai puţin utilizate sunt superColumns, coloane de construcţii care conţin în interiorul lor alte coloane.

Dimensiunea tipică a 4-Cassandra, este, prin urmare, după cum urmează:

 



 Keyspace -> Coloana pentru Familii -> Row Coloana pentru Familii -> Coloane -> Valori

 
În cazul în care adăugăm SuperColumns:
 



 Keyspace -> Familii Coloana Super -> Familie Row Super Coloana -> Coloane Super -> Coloane -> Valori

 

Aici este o reprezentare JSON pentru notaţie simplu:






 Utilizatorii {



  



 "Cyrus": {



    



 "Nickname": "Ci83"



    



 "Nume": "Cardone"



  



 }







 }



şi o supercolumns mai complexe utilizări





 Utilizatorii {



  



 "Cyrus": {



    



 "Competenţe": {



      



 "Java": "Mare"



      



 "PHP", "Excelent"



    



 },



    



 "Registrul": {



      



 "Nickname": "Ci83"



      



 "Nume": "Cardone"



    



 }



  



 }







 }



În keyspace "Users" este definit ca o cheie "Cyrus" supercolonne cu două "competenţe" şi "registru", fiecare dintre care conţine cheie / valoare perechi.

În aceeaşi categorie ...
E-Learning
Linux (Curs) Linux (Curs)
Ghid complet pentru open-source de sistem. De la 49 €.
MySQL (Curs) MySQL (Curs)
De gestionare a bazei de date open-source. De la 39 €.
PHP (Curs) PHP (Curs)
Ciclu complet pentru crearea de site-uri Web dinamice. De la 49 €.
Link-uri sponsorizate