..


Sponsede Lenker

Bruk med Cassandra PHPCassa

Artikkel skrevet av Ciro Cardone
Side 1 av 4

Formålet med denne artikkelen er å vise hvordan du bruker Cassandra i vår PHP-applikasjoner.
Cassandra er et prosjekt innenfor Facebook med mål om å kople fra MySQL til å lagre meldinger i innboksen.

Cassandra tilhører familien av produkter nosql, dvs. de software-løsninger som lagrer data ved hjelp av SQL syntaks og begrepet forholdet, så det er ikke en RDBMS, men en distribuert database, designet for å jobbe i en klynge og for å håndtere store mengder data. I stedet for å bruke begrepene bordet, tuppel og forhold, Cassandra bruker kolonne-orientert tilnærming implementert gjennom bruk av hasj og Array, som lagrer informasjon i form {nøkkelen: value}.

Som det er utviklet

Cassandra er nå en Apache-prosjektet utviklet java6 derfor fullstendig bærbar, har bare et krav om å installere en JRE.

Cassandra Prosjekt

Hovedtrekkene i Cassandra er:

  1. Desentralisering: databasen er fordelt på samme nodene i klyngen. Det er flaskehalser i nettet, eller bryte poeng.
  2. Elastisitet: gjennomstrømming for lese / skrive øker lineært med tillegg av nye maskiner (noder) til klyngen uten nedetid eller avbrudd i applikasjoner.
  3. Feiltoleranse: Data blir automatisk replikert på nodene. Den har støtte for replikering av flere datasentre. Den mislykkede noder kan byttes uten nedetid.
  4. "Holdbarhet" Cassandra er designet for applikasjoner hvor tap av data er kritisk og bør falle selv når hele datasenteret løser problemet med tap av data gjennom en synkronisering mekanisme basert på commitlog.
  5. Fleksibilitet: Du kan velge oppdateringen for hver strategi for å rette opp situasjonen, kan replikering være synkron eller asynkron.

Å få alle disse fordelene, derimot, har utviklerne måttet forlate transaksjonen ledelse.

Data Model

Er kolonnene (kolonne) det laveste nivået av organisering av data i Cassandra, er tupler som inneholder et navn, en verdi og et tidsstempel. De er ofte representert ved veien for eksempel med JSON-notasjon:






 {



  



 "Navn": "Navn",



  



 "Value": "Cyrus"



  



 "Timestamp": 123456789







 }



Navn og verdi er sortert utvalg av bytes som UTF-8 strenger. Den nøkkel / verdi-par er "merkelapper som" med et tidsstempel. Cassandra er timestamp å se hva den siste verdien (husk vi snakker om et cluster) og deretter å håndtere konflikter.

Kolonnen Kolonnen er organisert i familier, som er analog til en tabell i en relasjonsdatabase. En kolonne familien inneholder en sortert liste med kolonner som kan refereres til ved navnet. Hver kolonne familie er lagret i en egen fil og filen er sortert i rader (rader).

Kolonnen familier er igjen gruppert i keyspaces, vanligvis én per søknad. Mindre brukt er superColumns, spesielle kolonnene som inneholder i dem andre kolonner.

Den typiske størrelsen av 4-Cassandra er derfor som følger:

 



 Keyspace -> Column Familie -> Family Kolonne Row -> Columns -> Verdier

 
I tilfeller der vi legger SuperColumns:
 



 Keyspace -> Super Family Column -> Super Family Column Row -> Super Columns -> Columns -> Verdier

 

Her er JSON representasjon av en enkel notasjon:






 Brukere {



  



 "Cyrus": {



    



 "Nickname": "Ci83"



    



 "Navn": "Cardone"



  



 }







 }



og et mer komplekst bruker supercolumns





 Brukere {



  



 "Cyrus": {



    



 "Skills": {



      



 "Java": "Great"



      



 "PHP", "Excellent"



    



 },



    



 "Registry": {



      



 "Nickname": "Ci83"



      



 "Navn": "Cardone"



    



 }



  



 }







 }



I keyspace "Brukere" er definert som en nøkkel "Cyrus" med to supercolonne "ferdigheter" og "register" som hver inneholder nøkkel / verdi-par.

I samme kategori ...
E-Learning
Linux (Course) Linux (Course)
Komplett guide til open-source system. Starter fra 49 €.
MySQL (Course) MySQL (Course)
Forvaltning av open-source database. Starter fra 39 €.
PHP (Course) PHP (Course)
Full kurs for å lage dynamiske nettsider. Starter fra 49 €.
Sponsede Lenker