Table des matières

TME KVStore (facultatif)

Ce TME est facultatif pour 2018-2019

L'objectif de ce TME est de prendre en main un système scalable clé-valeur. Notions abordées: clé, répartition des données en fonction d'un préfixe de la clé, localité d'une opération, lectures/écritures non isolées, transaction pour isoler une séquence d'écritures, écriture conditionnelle.

Préparation

cd votre répertoire
tar zxvf /Infos/bd/kvstore/kv-ce-3.1.7.tar.gz
cd kv-3.1.7
source /Infos/bd/kvstore/config-java-classpath-kvlite.txt

Seulement si l'étape précédente n'a pas été faite : télécharger le logiciel oracle kv store (fichier kv-ce-3.1.7.tar.gz). Copier le logiciel dans votre dossier de travail et le décompresser.

Démarrage du serveur

Démarrer le serveur kvlite (version light de kvstore) avec la commande :

    java -jar lib/kvstore.jar kvlite -root /tmp/kvroot

Rmq: L'option -root permet de préciser un dossier local sur votre machine pour que kvstore stocke les données (éviter de stocker les données sur NFS). En cas d'erreur au démarrage de kvlite, supprimer entièrement le dossier kvroot rm -rf /tmp/kvroot. Garder ce terminal ouvert (pour afficher les eventuels messages provenant du serveur kvstore) mais ne plus l'utiliser par la suite pour saisir d'autres commandes. Pour éteindre le serveur : soit la touche Ctrl-C soit la commande

java  -Djava.library.path=./lib  -jar lib/kvstore.jar stop -root /tmp/kvroot

Récupérer les fichiers du TME

 tar zxvf /Infos/bd/kvstore/kvstore-etu.tgz
 cd kvstore-etu

Documentation

Exercice 1

Lire le sujet

Initialier le store

cd kv-3.1.7
source /Infos/bd/kvstore/config-java-classpath-kvlite.txt
cd ..

Vérifier que la variable CLASSPATH contient tous les jar de kvstore

echo $CLASSPATH

Initialiser le store

cd  kvstore-etu
javac InitMagasinGlobal.java
java InitMagasinGlobal

Question 1

 javac ExecutionSansTransaction.java
 java ExecutionSansTransaction