..
Formålet med denne artikel er at vise, hvordan man bruger Cassandra i vores PHP-applikationer.
Cassandra er et projekt inden for Facebook med det mål at trække sig fra MySQL til at gemme beskeder i indbakken.
Cassandra tilhører familien af produkter NoSQL, nemlig dem softwareløsninger, der lagrer data ved hjælp af SQL-syntaks og begrebet forholdet, så det er ikke et databaseprogram, men en distribueret database, der er designet til at arbejde i en klynge og til at håndtere store mængder data. I stedet for at bruge begreberne bordet, tupel og relation, der gennemføres Cassandra bruger kolonne-orienteret tilgang gennem brug af hash og Array, som gemmer oplysninger i form {nøgle: værdi}.
Cassandra er nu en Apache-projektet har udviklet java6 derfor helt transportable, at der kun er krav om at installere et JRE.

De vigtigste elementer i Cassandra er:
For at få alle disse fordele, men har udviklerne nødt til at opgive transaktionen ledelse.
De kolonner (kolonne) er det laveste niveau af organisering af data i Cassandra, er tupler der indeholder et navn, en værdi og et tidsstempel. De er ofte repræsenteret som et eksempel på JSON notation:
{
"Navn": "Navn",
"Value": "Cyrus"
"Time Stamp": 123456789
}
Navn og værdien er arrays af bytes indrettet som UTF-8 strenge. Den nøgle / værdi par er "etiketter som" med et tidsstempel. Cassandra bruger tidsstempel at se, hvad den seneste værdi (husk vi taler om en klynge) og derefter til at håndtere konflikter.
Kolonnen kolonne er organiseret i familier, som er beslægtet med en tabel i en relationel database. En kolonne familie indeholder en ordnet liste over kolonner, der kan refereres til ved deres navn. Hver kolonne familie er gemt i en separat fil, og filen er arrangeret i rækker (rækker).
Kolonnen familier er igen inddelt i keyspaces, typisk et per applikation. Mindre anvendes, er superColumns, særlige kolonner, der indeholder i dem andre kolonner.
Den typiske størrelse på 4-Cassandra er derfor som følger:
Keyspace -> Kolonne Family -> Familie Række Kolonne -> Kolonner -> VærdierI tilfælde af, at vi tilføjer SuperColumns:
Keyspace -> Kolonne Super Family -> Familie Super Kolonne Række -> Super Kolonner -> Kolonner -> Værdier
Her er JSON repræsentation af en simpel notation:
Brugere {
"Cyrus": {
"Brugernavn": "Ci83"
"Navn": "Cardone"
}
}
og en mere kompleks bruger supercolumns
Brugere {
"Cyrus": {
"Færdigheder": {
"Java": "Great"
"PHP", "Excellent"
},
"Registry": {
"Brugernavn": "Ci83"
"Navn": "Cardone"
}
}
}
I keyspace "Brugere" er defineret som en nøgle "Cyrus" supercolonne med to "færdigheder" og "register", som hver indeholder nøgle / værdi par.
| |
Linux (Kursus)
Komplet guide til open source-system. Fra 49 €. |
| |
MySQL (Kursus)
Forvaltning af open source-database. Fra 39 €. |
| |
PHP (Kursus)
Fuld kursus for at skabe dynamiske web-sites. Fra 49 €. |