2 research outputs found
Evolving NoSQL Databases Without Downtime
NoSQL databases like Redis, Cassandra, and MongoDB are increasingly popular
because they are flexible, lightweight, and easy to work with. Applications
that use these databases will evolve over time, sometimes necessitating (or
preferring) a change to the format or organization of the data. The problem we
address in this paper is: How can we support the evolution of high-availability
applications and their NoSQL data online, without excessive delays or
interruptions, even in the presence of backward-incompatible data format
changes?
We present KVolve, an extension to the popular Redis NoSQL database, as a
solution to this problem. KVolve permits a developer to submit an upgrade
specification that defines how to transform existing data to the newest
version. This transformation is applied lazily as applications interact with
the database, thus avoiding long pause times. We demonstrate that KVolve is
expressive enough to support substantial practical updates, including format
changes to RedisFS, a Redis-backed file system, while imposing essentially no
overhead in general use and minimal pause times during updates.Comment: Update to writing/structur
Κατανεμημένη αποτίμηση επερωτήσεων και συλλογιστική για το μοντέλο RDF σε δίκτυα ομοτίμων κόμβων
Με το ενδιαφέρον για τις εφαρμογές του Σημασιολογικού Ιστού να αυξάνεται
ραγδαία, το μοντέλο RDF και RDFS έχει γίνει ένα από τα πιο ευρέως
χρησιμοποιούμενα μοντέλα δεδομένων για την αναπαράσταση και την ενσωμάτωση
δομημένης πληροφορίας στον Ιστό. Το πλήθος των διαθέσιμων πηγών πληροφορίας RDF
συνεχώς αυξάνεται με αποτέλεσμα να υπάρχει μια επιτακτική ανάγκη για τη
διαχείριση RDF δεδομένων. Σε αυτή τη διατριβή επικεντρωνόμαστε στην
κατανεμημένη διαχείριση RDF δεδομένων σε δίκτυα ομότιμων κόμβων. Σχεδιάζουμε
και υλοποιούμε το σύστημα Atlas, ένα πλήρως κατανεμημένο σύστημα για την
αποθήκευση RDF και RDFS δεδομένων, την αποτίμηση και βελτιστοποίηση επερωτήσεων
στη γλώσσα SPARQL και τη συλλογιστική στο μοντέλο RDFS. Το σύστημα Atlas
χρησιμοποιεί κατανεμημένους πίνακες κατακερματισμού, μια δημοφιλή περίπτωση
δικτύων ομότιμων κόμβων. Αρχικά, αναλύουμε κατανεμημένους αλγόριθμους για
συλλογιστική RDFS χρησιμοποιώντας κατανεμημένους πίνακες κατακερματισμού.
Υλοποιηούμε διάφορες παραλλαγές των αλγορίθμων προς τα εμπρός αλυσίδα εκτέλεσης
και προς τα πίσω αλυσίδα εκτέλεσης καθώς και έναν αλγόριθμο που χρησιμοποιεί
την τεχνική μετασχηματισμού των κανόνων σε μαγικό σύνολο. Αποδεικνύουμε
θεωρητικά την ορθότητα των αλγορίθμων αυτών και προσφέρουμε μια συγκριτική
μελέτη τόσο αναλυτικά όσο και πειραματικά. Παράλληλα, προτείνουμε αλγορίθμους
και τεχνικές για την αποτίμηση και τη βελτιστοποίηση επερωτήσεων στη γλώσσα
SPARQL για RDF δεδομένα που είναι αποθηκευμένα σε κατανεμημένους πίνακες
κατακερματισμού. Οι τεχνικές βελτιστοποίησης βασίζονται σε εκτιμήσεις
επιλεκτικότητας και έχουν στόχο τη μείωση του χρόνου απόκρισης της επερώτησης
καθώς και της κατανάλωσης εύρους ζώνης του δικτύου. Η εκτεταμένη πειραματική
αξιολόγηση των μεθόδων βελτιστοποίησης γίνεται σε μια τοπική συστάδα
υπολογιστών χρησιμοποιώντας ένα ευρέως διαδεδομένο σημείο αναφοράς μετρήσεων.With the interest in Semantic Web applications rising rapidly, the Resource
Description Framework (RDF) and its accompanying vocabulary description
language, RDF Schema (RDFS), have become one of the most widely used data
models for representing and integrating structured information in the Web. With
the vast amount of available RDF data sources on the Web increasing rapidly,
there is an urgent need for RDF data management. In this thesis, we focus on
distributed RDF data management in peer-to-peer (P2P) networks. More
specifically, we present results that advance the state-of-the-art in the
research area of distributed RDF query processing and reasoning in P2P
networks. We fully design and implement a P2P system, called Atlas, for the
distributed query processing and reasoning of RDF and RDFS data. Atlas is built
on top of distributed hash tables (DHTs), a commonly-used case of P2P networks.
Initially, we study RDFS reasoning algorithms on top of DHTs. We design and
develop distributed forward and backward chaining algorithms, as well as an
algorithm which works in a bottom-up fashion using the magic sets
transformation technique. We study theoretically the correctness of our
reasoning algorithms and prove that they are sound and complete. We also
provide a comparative study of our algorithms both analytically and
experimentally. In the experimental part of our study, we obtain measurements
in the realistic large-scale distributed environment of PlanetLab as well as in
the more controlled environment of a local cluster. Moreover, we propose
algorithms for SPARQL query processing and optimization over RDF(S) databases
stored on top of distributed hash tables. We fully implement and evaluate a
DHT-based optimizer. The goal of the optimizer is to minimize the time for
answering a query as well as the bandwidth consumed during the query
evaluation. The optimization algorithms use selectivity estimates to determine
the chosen query plan. Our algorithms and techniques have been extensively
evaluated in a local cluster