Jessy : un entrepôt de données transactionnel et NoSQL pour le Cloud

Transcription

Jessy : un entrepôt de données transactionnel et NoSQL pour le Cloud
Jessy : un entrepôt de données transactionnel et NoSQL
pour le Cloud
Masoud Saeida Ardekani [email protected]
Pierre Sutra [email protected]
Marc Shapiro [email protected]
Mots clés : Systèmes répartis, Algorithmique répartie, Entrepôt de données, DHT,
Transaction.
Problématique
Les entrepôt de données traditionnels tels que MySQL, IBM DB2 ou Oracle Database, supportent
des transactions atomiques, cohérentes, isolées et durables (en abrégé, ACID). La propriété ACID
des transactions garantie la correction des accès concurrents à un entrepôt de données. Cependant,
comme l’explicite le théorème CAP [GL02], cette propriété est toujours coûteuse en performances.
Pour cette raison, les entrepôt de données traditionnels montrent leurs limites lorsqu’ils sont utilisés
dans un contexte très exigeant, tel que le Cloud.
Les accès aux données d’un site web sont essentiellement de la lecture d’information sans modification. On peut donc considérer que dans un tel cas seule la propriété de persistance importe. Fort de
cette observation, les entrepôts de données pour le Cloud, comme Google BigTable, Amazon Dynamo ou Apache Cassandra, affaiblissent les propriétés ACID afin d’augmenter leurs performances.
On parle dans ce cas d’approche NoSQL.1 Les entrepôt de données NoSQL ont d’excellentes propriétés de passage à l’échelle, et offrent par ailleurs un haut niveau de tolérance aux pannes.
Toutefois, les entrepôts actuels offrent une faible sémantique d’accès aux données. En particulier,
l’atomicité de plusieurs opération n’est jamais supportée, ou sinon au prix d’une dégradation importante des performances. Dans un tel contexte, le développement d’applications est difficile et
demande un haut niveau d’expertise dans l’API de l’entrepôt de données. Cette difficulté a amené
certains fournisseurs de services Cloud à re-proposer un accès à des entrepôts de données traditionnels (voir l’échec relatif de Amazon SimpleDB).
Dans la continuité de nos travaux précédents [SSP10; SASPS11], nous visons à développer et évaluer
Jessy : un entrepôt de données pour le Cloud performant, offrant une sémantique d’accès aux données
de haut niveau. Plus précisément, Jessy est un entrepôt de données NoSQL et transactionnel pour
le Cloud. qui fournira un accès transactionnel à des données stockées sous la forme de table de
hachage répartie. Cet entrepôt s’appuiera sur les primitives de communications de groupe (e.g.,
consensus) offertes par la librairie Daisylib [CSSW], et stockera de manière persistante les données
en utilisant Berkeley DB.
1
L’appellation NoSQL provient du fait que ces entrepôt ne supportent pas le langage d’accès SQL.
Travail à réaliser
Ce travail s’appuie sur les implémentations pré-existantes de l’entrepôt de données P-store [SSP10]
et du benchmark TPC-B. L’étudiant intervient dans le développement de Jessy et des benchmarks
TPC-C et YCB visant à évaluer ses performances. Jessy sera déployé puis testé dans un environnement réel : d’abord dans un cluster, puis dans un système large-échelle simulé, et enfin dans un
système large-échelle réel : grid5000.
Ce projet est dimensionné pour un à deux étudiants.
Compétences requises
Ce projet nécessite une connaissance de Java, et la maı̂trise d’au moins un langage de script afin
de réaliser les tests dans les environnements réels.
Par ailleurs, l’étudiant travaillera avec des collaborateurs anglophones, et une aisance en anglais est
nécessaire.
Informations administratives
Responsable du stage : Marc Shapiro ([email protected]).
Lieu du stage : UPMC, 4 place Jussieu, LIP6, équipe REGAL, barre 25-26, ,75005 Paris.
Durée du stage : du 1er février au 30 mai 2012.
Pas de rémunération prévue, ce stage est effectué dans le cadre du projet PSAR..
Références
[CSSW] Lásaro J. Camargos, Nicolas Schiper, Pierre. Sutra, and Marcin Wieloch. Daisylib
http ://sourceforge.net/projects/daisylib/.
[GL02] Seth Gilbert and Nancy Lynch. Brewer’s conjecture and the feasibility of consistent,
available, partition-tolerant web services. SIGACT News, 33(2) :51–59, 2002.
[SASPS11] Masoud Saeida Ardekani, Pierre Sutra, Nuno Preguiça, and Marc Shapiro. NonMonotonic Snapshot Isolation. Rapport de recherche RR-7805, INRIA, November 2011.
[SSP10] Nicolas Schiper, Pierre Sutra, and Fernando Pedone. P-store : Genuine partial replication in wide area networks. In 29th IEEE Symposium on Reliable Distributed Systems
(SRDS 2010), New Delhi, Punjab, India, October 31 - November 3, 2010, pages 214–224,
2010.