Development and evaluation of a transactional benchmark driver for a scalable SQL database

dc.contributor.authorSotiriou, Michailen
dc.date.accessioned2020-03-09T09:47:39Z
dc.date.available2020-03-09T09:47:39Z
dc.identifier.urihttps://olympias.lib.uoi.gr/jspui/handle/123456789/29716
dc.identifier.urihttp://dx.doi.org/10.26268/heal.uoi.9713
dc.rightsAttribution-NonCommercial-NoDerivs 3.0 United States*
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/us/*
dc.subjectΤransactional driveren
dc.subjectBenchmarkingen
dc.subjectScalable SQL databaseen
dc.titleDevelopment and evaluation of a transactional benchmark driver for a scalable SQL databaseen
dc.titleΑνάπτυξη και αξιολόγηση ενός transactional benchmark driver για scalable SQL databaseel
heal.abstractThe process of benchmarking transactional database systems has a long history and provides important insight into the efficiency and scalability of such systems. Recent advances in scalable transactional databases have motivated the adaptation of traditional transactional benchmarks, such as TPC-C, to a variety of new database architectures. However, a challenge with the proliferation of database architectures today is the need to develop and evaluate new database drivers (ports of the benchmarkdatabase interface to a new database architecture) for a wide range of systems. In this thesis, we develop and evaluate a driver for the Py-TPCC benchmark targeting the CockroachDB scalable SQL database. The driver lowers complexity by leveraging the psycopg2 PostgreSQL adapter for the Python programming language. We evaluate the Py-TPCC benchmark for CockroachDB and compare to an existing TPC-C benchmark implementation for CockroachDB written in Go, using the pq PostgreSQL adapter. Our results indicate that the use of a SQL interface (when offered by the scalable database) simplifies the development of TPC-C benchmark drivers. Despite similarities in the two implementations of the TPC-C benchmark, we observe performance differences that can be attributed to the variable efficiencies of use of CockroachDB resources across implementations of the PostgreSQL adapter.en
heal.abstractΗ διαδικασία benchmarking δοσοληπτικών συστημάτων βάσεων δεδομένων έχει μακρά ιστορία και παρέχει σημαντική εικόνα για την αποτελεσματικότητα και την επεκτασιμότητα τέτοιων συστημάτων. Οι πρόσφατες εξελίξεις στις κλιμακούμενες δοσοληπτικές βάσεις δεδομένων έχουν παρακινήσει την προσαρμογή των παραδοσιακών benchmarks, όπως το native TPC-C, σε μια ποικιλία νέων αρχιτεκτονικών βάσεων δεδομένων. Ωστόσο, μία πρόκληση με τον πολλαπλασιασμό των αρχιτεκτο- νικών βάσεων δεδομένων σήμερα, είναι η ανάγκη να αναπτυχθούν και να αξιολογη- θούν νέα προγράμματα οδήγησης βάσεων δεδομένων (φορητότητα των benchmarkdatabase διεπαφών σε μια νέα αρχιτεκτονική βάσεων δεδομένων) για ένα ευρύ φά- σμα συστημάτων. Σε αυτή τη διατριβή, διατυπώνουμε το επιστημονικό υπόβαθρο που σχετίζεται με δοσοληπτικές βάσεις δεδομένων και τα benchmarks που χρησι- μοποιούν. Πιο συγκεκριμένα, αναπτύσσουμε και αξιολογούμε ένα πρόγραμμα οδή- γησης για το Py-TPCC benchmark που στοχεύει στην κλιμακώσιμη βάση δεδομένων SQL της CockroachDB. Το πρόγραμα οδήγησης μειώνει την πολυπλοκότητα αξιο- ποιώντας τον psycopg2 PostgreSQL προσαρμογέα για τη γλώσσα προγραμματισμού Python. Θέτουμε το πλαίσιο πάνω στο οποίο κινηθήκαμε προκειμένου να φτάσουμε στην υλοποίηση του προγράμματος οδήγησης. Καταγράφουμε όλες τις παραμέτρους και απαιτήσεις που έπρεπε να λάβουμε υπόψη, ώστε να ορίσουμε τις διαδικασίες που απαιτούνται. Μέσω της πειραματικής διαδικασίας, αξιολογούμε το PY-TPCC benchmark για την CockroachDB και συγκρίνουμε με την υπάρχουσα υλοποίηση του native TPC-C benchmark για την CockroachDB γραμμένο σε γλώσσα προγραμματισμού Go, χρησιμοποιώντας τον pq PostgreSQL προσαρμογέα. Παρουσιάζουμε τα αποτελέσματα αυτής της σύγκρισης, σημειώνοντας διαφορές τόσο σε ποιοτικά χαρα- κτηριστικά, όσο και σε επίπεδο αρχιτεκτονικής κώδικα. Τέλος, οδηγούμενοι από τα αποτελέσματα, συμπεραίνουμε ότι τα σημεία στα οποία υπερτερεί το native TPC-C benchmark είναι η καλύτερη απόδοση του συστήματος σε επίπεδο δοσοληψιών, ενώ από την άλλη, το Py-TPCC benchmark υστερεί σε θέματα απόδοσης και κλιμάκω- σης, ωστόσο ευνοεί την εύκολη υλοποίηση ενός νέου προγράμματος οδήγησης από τον προγραμματιστή.el
heal.academicPublisherΠανεπιστήμιο Ιωαννίνων. Πολυτεχνική Σχολή. Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικήςel
heal.academicPublisherIDuoi
heal.accessfree
heal.advisorNameΖάρρας, Απόστολοςel
heal.bibliographicCitationΒιβλιογραφία: σ. 47-49el
heal.classificationBenchmarking
heal.committeeMemberNameΖάρρας, Απόστολοςel
heal.committeeMemberNameΒασιλειάδης, Παναγιώτηςel
heal.committeeMemberNameΜαγκούτης, Κωνσταντίνοςel
heal.dateAvailable2020-03-09T09:48:39Z
heal.fullTextAvailabilitytrue
heal.languageen
heal.numberOfPages50 σ.
heal.publicationDate2019
heal.recordProviderΠανεπιστήμιο Ιωαννίνων. Πολυτεχνική Σχολή. Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικήςel
heal.typemasterThesis
heal.type.elΜεταπτυχιακή εργασίαel
heal.type.enMaster thesisen

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
M.E. SOTIRIOU MICHAIL 2019.pdf
Size:
2.03 MB
Format:
Adobe Portable Document Format
Description:

License bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
1.71 KB
Format:
Item-specific license agreed upon to submission
Description: