mardi 18 mai 2010

Cassandra - Options supplémentaires de configuration

Maintenant que nous avons installé, configuré et utilisé notre base de données ImitationFacebook il est temps d'aller un peu plus loin dans la configuration et en particulier dans les options proposées par storage-conf.xml.
Je n'aborderai pas ici toutes les options qu'il est possible de paramétrer, elles sont assez nombreuse, mais dans un premier temps celles que je juge les plus utiles.
Je vais aborder des thématiques en fonction de question que l'on peut se poser :


1) Je veux plus de sécurité

Dans ce cas on souhaite que les données soient répliquées plus que d'habitude.


Chercher dans le XML le champ : "ReplicationFactor"
Par défaut il est à 1, c'est à dire qu'une copie de chaque donnée va être faite sur vos différents serveurs. Vous pouvez augmenter ce nombre pour plus de sécurité, en cas de défaillance probable d'un serveur par exemple.

2) Je veux plus de sécurité (bis)

Cette fois on va s'attaquer au problème de l'authentification. Bon soyons clair tout de suite dans la version 0.6.1 on peut pas faire grand chose vu que c'est pas encore très bien implémenté. Mais bon ce pourrait être très utile dans la suite (on pense notamment à Cassandra 0.7.0
On ira chercher dans le champ XML suivant : "Authenticator"

3) Je veux changer l'ordre dans lequel mes données sont insérées.

Tout de suite, quand je parle d'ordre c'est celui des "keys" c'est à dire des clefs et non pas des columns !
Rappelez vous l'ordre dans lequel les Column sont rangés est décrit par : CompareWith !
Le champ XML : "Partitioner"

Très honnêtement je ne saisis pas pourquoi on souhaiterait changer l'ordre des clefs, mais après tout c'est toujours possible.

3) Je veux plus de vitesse

Cette option est assez bien faite, elle permet notamment de faire un réglage fin pour chacune des ColumnFamily sur les performances à adopter. Dans la déclaration XML d'une ColumnFamily, rajoutez les lignes suivantes :

RowsCached=XXX
KeysCached=XXX

A la place des XXX on peut avoir :

  • un pourcentage si c'est suivi d'un % (exemple : RowsCached="10%" )
  • Un taux si la valeur est comprise entre 0 et 1 (exemple : RowCached="0.5" )
  • Un nombre (exemple : RowCached="10000")



Aucun commentaire:

Enregistrer un commentaire