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.
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é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
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