..
Syftet med denna artikel är att visa hur man använder Cassandra i våra PHP-applikationer.
Cassandra är ett projekt inom Facebook med målet att lossa skon från MySQL för att lagra meddelanden i inkorgen.
Cassandra tillhör den familj av produkter nosql, nämligen de mjukvarulösningar som lagrar data med hjälp av SQL-syntax och begreppet relation, så det är inte en RDBMS, men en distribuerad databas, utformad för att fungera i ett kluster och hantera stora mängder data. Istället för att använda begreppen tabell, tupel och relation, Cassandra använder kolumnen synsätt genomföras genom användning av hasch och Array, som lagrar information i form {nyckel: värde}.
Cassandra är nu en Apache-projektet utvecklades java6 därför helt bärbar, med bara ett krav för att installera en JRE.

Huvuddragen i Cassandra är:
För att få alla dessa fördelar har dock utvecklarna tvungna att överge transaktionshantering.
Kolumnerna (kolumn) är den lägsta nivån av organisation av data i Cassandra är tupler som innehåller ett namn, ett värde och en tidsstämpel. De är ofta representerade som ett exempel på JSON notation:
{
"Namn": "Namn",
"Value": "Cyrus"
"Timestamp": 123456789
}
Namn och värde är kedjor av byte arrangeras som UTF-8 strängar. Den nyckel / värde par är "etiketter" med en tidsstämpel. Cassandra använder timestamp för att se vad det senaste värdet (kom ihåg vi pratar om ett kluster) och sedan för att hantera konflikter.
Kolumnen kolumn är organiserade i familjer, som är besläktade med en tabell i en relationsdatabas. En kolumn familj innehåller en ordnad lista med kolumner som kan refereras av deras namn. Varje kolumn familjen sparas i en separat fil och filen är ordnade i rader (rader).
I kolumnen familjer är i tur grupperade i keyspaces, typiskt en per ansökan. Mindre används är superColumns, speciella kolumner som innehåller i dem andra kolumner.
Den typiska storleken av 4-Cassandra är därför som följer:
Keyspace -> Kolumn Familj -> Familj Rad Kolumn -> Kolumner -> VärderingarI händelse av att vi lägger till SuperColumns:
Keyspace -> Kolumn Super Familj -> Familj Super Kolumn Rad -> Super Kolumner -> Kolumner -> Värderingar
Här är JSON representation av en enkel notation:
Användare {
"Cyrus": {
"Alias": "Ci83"
"Namn": "Cardone"
}
}
och en mer komplex använder supercolumns
Användare {
"Cyrus": {
»Färdigheter": {
"Java": "Great"
"PHP", "Excellent"
},
"Registry": {
"Alias": "Ci83"
"Namn": "Cardone"
}
}
}
I keyspace "Användare" definieras som en nyckel "Cyrus" supercolonne med två "kompetens" och "register" som alla har nyckel / värde par.
| |
Linux (kurs)
Komplett av öppen källkod-system. Från 49 €. |
| |
MySQL (kurs)
Hantering av öppen källkod databas. Från 39 €. |
| |
PHP (kurs)
Fullständig kurs för att skapa dynamiska webbplatser. Från 49 €. |