..
Le but de cet article est de montrer comment utiliser Cassandra dans nos applications PHP.
Cassandra est un projet au sein de Facebook dans le but de se désengager de MySQL pour stocker les messages dans la boîte de réception.
Cassandra appartient à la famille de produits NoSQL, à savoir ceux des solutions logicielles qui stockent des données en utilisant la syntaxe SQL et le concept de relation, il n'est donc pas un SGBDR, mais une base de données distribuée, conçue pour fonctionner dans un cluster et de gérer de grandes quantités de données. Au lieu d'utiliser les concepts de la table, et la relation tuple, utilise Cassandra colonne approche orientée en œuvre par l'utilisation de Hash et Array, qui stocke les informations sous la forme {clé: valeur}.
Cassandra est maintenant un projet Apache développés java6 donc totalement portable, ayant seulement une obligation d'installer un JRE.

Les principales caractéristiques de Cassandra sont:
Pour obtenir tous ces avantages, toutefois, les développeurs ont dû abandonner la gestion des transactions.
Les colonnes (colonne) sont au plus bas niveau de l'organisation des données dans Cassandre, sont des tuples qui contiennent un nom, une valeur et un horodatage. Ils sont souvent représentés comme un exemple de la notation JSON:
{
"Nom": "Nom",
"Valeur": "Cyrus"
«Timestamp»: 123456789
}
Nom et valeur sont des tableaux d'octets disposés comme chaînes UTF-8. La paire clé / valeur est "étiquettes" avec un horodatage. Cassandra utilise l'horodatage pour voir quelle est la valeur la plus récente (n'oublions pas que nous parlons d'un cluster) et ensuite à gérer les conflits.
La colonne colonne sont organisés en familles, qui s'apparentent à une table dans une base de données relationnelle. Une famille colonne contient une liste ordonnée de colonnes qui peuvent être référencées par leur nom. Chaque famille de colonne est sauvegardée dans un fichier séparé et que le fichier est en rangées (lignes).
Les familles colonne sont à leur tour regroupés en keyspaces, généralement un par application. Moins utilisés sont superColumns, des colonnes spéciales qui contiennent en leur sein d'autres colonnes.
La taille typique des 4-Cassandra est donc la suivante:
Keyspace - Famille> Colonne - Colonne> Ligne Famille -> Colonnes -> ValeursDans le cas où l'on ajoute les SuperColumns:
Keyspace - Famille Colonne> Super - Famille> Ligne Colonne Super -> Colonnes Super -> Colonnes -> Valeurs
Voici la représentation JSON d'une notation simple:
Utilisateurs {
"Cyrus": {
"Pseudo": "Ci83"
"Nom": "Cardone"
}
}
et un supercolumns plus complexe utilise
Utilisateurs {
"Cyrus": {
"Compétences": {
"Java": "Great"
«PHP», «excellent»
},
"Registre": {
"Pseudo": "Ci83"
"Nom": "Cardone"
}
}
}
En keyspace «Utilisateurs» est définie comme une clé «Cyrus» supercolonne avec deux «compétences» et «registre» dont chacune contient paires clé / valeur.
| |
Linux (Cours)
Guide complet de système open-source. A partir de 49 €. |
| |
MySQL (Cours)
Gestion des bases de données open-source. A partir de 39 €. |
| |
PHP (cours)
Cours complet pour la création de sites Web dynamiques. A partir de 49 €. |