..
Celem tego artykułu jest pokazanie, jak korzystać z Cassandra w naszej aplikacji PHP.
Cassandra jest projektem w Facebook z celem uwalniając z MySQL do przechowywania wiadomości w skrzynce odbiorczej.
Cassandra należy do rodziny produktów nosql, a mianowicie tych rozwiązań do przechowywania danych za pomocą składni języka SQL i pojęcie relacji, więc nie jest RDBMS, ale rozproszona baza danych, zaprojektowany do pracy w klastrze i zarządzania dużymi ilościami danych. Zamiast używać pojęcia tabeli, krotki i relacji, Cassandra wykorzystuje kolumny podejście realizowane za pomocą Hash i tablicy, która przechowuje informacje w postaci {klucz: wartość}.
Cassandra jest obecnie projekt Apache opracowano java6 zatem całkowicie przenośne, które mają jedynie wymóg, aby zainstalować JRE.

Główne cechy Cassandra są:
Aby wszystkie te korzyści jednak deweloperzy musieli zrezygnować z zarządzania transakcjami.
Kolumn (kolumna) jest najniższy poziom organizacji danych w Cassandra, są krotki, które zawierają nazwę, wartość i znacznik czasu. Są one często przedstawiane jako przykład notacji JSON:
{
"Nazwa": "Nazwa",
: "Wartość": "Cyrus"
"Timestamp": 123456789
}
Nazwa i wartość są tablice bajtów ułożone w UTF-8 strun. Para klucz / wartość jest "etykiet" z znacznik czasu. Cassandra wykorzystuje znacznik czasu, aby zobaczyć co ostatnio wartość (pamiętajmy, że mówimy o klastrze), a następnie do rozwiązywania konfliktów.
Kolumna kolumna organizowane są w rodziny, które są podobne do tabeli w relacyjnej bazie danych. Rodziny kolumna zawiera uporządkowaną listę kolumn, które można odwoływać się ich nazwa. Każda rodzina kolumnie jest zapisany w oddzielnym pliku, a plik jest ułożone w rzędy (wiersze).
Rodzin kolumnie są z kolei podzielone na keyspaces, zazwyczaj jeden na jeden wniosek. Mniej używane są superColumns specjalne kolumny, które zawierają w sobie innych kolumn.
Typowa wielkość 4-Cassandra jest więc następujący:
Keyspace -> Rodzina Kolumna -> Rodzina Kolumna Row -> kolumny -> WartościW przypadku, gdy dodamy SuperColumns:
Keyspace -> Kolumna Super rodzinne -> Rodzina Super Row Kolumna -> Kolumny Super -> kolumny -> Wartości
Oto JSON reprezentujący prosty zapis:
Użytkownicy {
"Cyrus": {
"Nick": "Ci83"
"Nazwa": "Cardone"
}
}
i bardziej złożonych zastosowań supercolumns
Użytkownicy {
"Cyrus": {
"Umiejętności": {
"Java": "Wielki"
"PHP", "Excellent"
}
"Rejestr": {
"Nick": "Ci83"
"Nazwa": "Cardone"
}
}
}
W keyspace "Użytkownicy" jest zdefiniowane jako klucz "Cyrus" supercolonne z dwoma "umiejętności" i "rejestru" z których każdy zawiera pary klucz / wartość.
| |
Linux (Kurs)
Kompletny przewodnik do systemu open-source. Od 49 €. |
| |
MySQL (Kurs)
Zarządzanie bazą danych open-source. Od 39 €. |
| |
PHP (Kurs)
Pełny kurs tworzenia dynamicznych stron internetowych. Od 49 €. |