Προσάρτηση NoSQL συστημάτων ευρείας κλίμακας στο LSHDB με χρήση Java

Integration of Large-Scale NoSQL Systems with LSHDB using Java (Αγγλική)

  1. MSc thesis
  2. ΨΑΡΡΟΣ, ΧΡΗΣΤΟΣ
  3. Μεταπτυχιακή Εξειδίκευση στα Πληροφοριακά Συστήματα (ΠΛΣ)
  4. 30 Σεπτεμβρίου 2018 [2018-09-30]
  5. Ελληνικά
  6. 98
  7. ΔΗΜΗΤΡΙΟΣ ΚΑΡΑΠΙΠΕΡΗΣ
  8. ΒΕΡΥΚΙΟΣ ΒΑΣΙΛΕΙΟΣ | ΒΑΣΙΛΕΙΟΣ ΚΑΨΑΛΗΣ
  9. Σχεσιακές βάσεις | Relational databases | NoSQL βασεις | NoSql databases | Βάση δεδομένων Cassandra | Cassandra database | Java | Java | Localitya Sensitive Hashing | Localitya Sensitive Hashing
  10. 1
  11. 4
  12. 35
  13. Σχήμα 1. Βασικό διάγραμμα κλάσεων του LSHDB Σχήμα 2. Βασικό διάγραμμα λειτουργίας του LSHDB Σχήμα 3. Μοντέλο δεδομένων LSHDB Σχήμα 4. Διαφοροποιημένο διάγραμμα δομής δεδομένων Σχήμα 5. Διαφοροποιημένο διάγραμμα δομής οντοτήτων της κλάσης StoreEngine και των κλάσεων που υλοποιούν τις αντίστοιχες μεθόδους των εκάστοτε data store Σχήμα 6. Βασική ροή της μεθόδου τύπου constructor του αντικειμένου Σχήμα 7. CassadraDB(clusterAddress) Σχήμα 8. CassandraDB(ClausterAddress, keySpace) Σχήμα 9. CassandraDB(Cluster, keyspace, tableName, massInsertMode) Σχήμα 10. Τελικό διάγραμμα δομής οντοτήτων της κλάσης StoreEngine και των κλάσεων που υλοποιούν τις αντίστοιχες μεθόδους των εκάστοτε data store Σχήμα 11. Διαφοροποιημένο διάγραμμα δομής οντοτήτων της κλάσης Configuration και των κλάσεων των αντίστοιχων τεχνικών LSH που κληρονομούν από αυτήν Σχήμα 12. Διαφοροποιημένο διάγραμμα δομής οντοτήτων της κλάσης DataStore και των κλάσεων των αντίστοιχων τεχνικών LSH που κληρονομούν από αυτήν
    • Στην παρούσα διπλωματική εργασία παρουσιάζεται η προσαρμογή του LSHDB (Locality Sensitive Hashing Database) στο μη σχεσιακό (NoSQL) data store Cassandra®. Γίνεται αναφορά στα συστήματα σχεσιακών βάσεων (RDBMS) δεδομένων και παρουσιάζονται τα NoSQL data store ως μια αξιόπιστη εναλλακτική λύση σε προβλήματα στα οποία δεν μπορούν να ανταποκριθούν αποτελεσματικά τα RDBMS. Η αναζήτηση πληροφοριών χρησιμοποιώντας λέξεις κλειδιά είναι ένα δύσκολο έργο όταν ο όγκος δεδομένων είναι τεράστιος, ανομοιογενής και αποθηκευμένος σε διαφορετικές τοποθεσίες. Λόγω των ενσωματωμένων περιορισμών του σχεσιακού μοντέλου τα RDBMS δεν μπορούν να ανταποκριθούν επαρκώς στην υλοποίηση διαδικασιών για την γρήγορη ανάκτηση πληροφοριών για κάποιο «αυθαίρετο» κείμενο αναζήτησης. Αντίθετα τα NoSQL συστήματα, «εγκαταλείποντας» κάποιες βασικές αρχές του σχεσιακού μοντέλου όπως η συσχέτιση οντοτήτων και η κανονικοποίηση και δίνοντας έμφαση στην παράλληλη επεξεργασία πληροφοριών, μπορούν να δώσουν σωστά αποτελέσματα με πολύ καλό χρόνο απόκρισης. Σε συμφωνία με την αναφερόμενη προσέγγιση η LSHDB είναι σχεδιασμένη έτσι ώστε να μπορεί να αποθηκεύσει κωδικοποιημένα περιεχόμενα πεδίων και να πραγματοποιήσει επερωτήσεις (queries) χρησιμοποιώντας τεχνικές κωδικοποίησης με παράλληλη επεξεργασία δεδομένων σε κατανεμημένους χώρους αποθήκευσης. Επίσης η υλοποίηση του συστήματος εμπεριέχει το κατάλληλο επίπεδο abstraction έτσι ώστε το σύστημα να είναι προσαρμόσιμο σε διαφορετικές LSH τεχνικές κωδικοποίησης (Gram, Hamming και Min-Hash) και σε διαφορετικά NoSQL συστήματα (BerkeleyDB και LevelDB). Πάνω στην υπάρχουσα δομή υλοποιούνται οι επιπρόσθετες κλάσεις για την προσαρμογή της LSHDB στo Cassandra data store. Η Cassandra είναι ένα σύστημα δεδομένων κολονών (column data store system). Για τον λόγο αυτό μια από τις βασικές αλλαγές στην υλοποίηση είναι η προσαρμογή του LSHDB έτσι ώστε να υποστηρίζονται το keyspace και το table που αποτελούν τα βασικά στοιχεία της Cassandra. Πάνω σ αυτή τη βάση γίνονται η αναγκαίες μετατροπές έτσι ώστε να είναι δυνατή η αποθήκευση και η ανάκτηση δεδομένων που διαχειρίζεται το LSHDB με τον ίδιο τρόπο λειτουργίας όπως και με τα ήδη υποστηριζόμενα data store.
    • In the present thesis the adaptation of the LSHDB (Locality Sensitive Hashing Database) to the non-relational (NoSQL) Cassandra® data store is presented. Reference to the relational database management systems (RDBMS) is made and the NoSQL systems are presented as a reliable alternate solution in problems for which the RDBMS cannot deal with. Key searching constitutes a difficult task when the information is contained in large, unstructured and distributed data storage. Due to the relational model embedded constraints, RDBMS cannot support efficiently the procedure implementation for fast data retrieval based on some “arbitrary” input text. In contrast the NoSQL systems give a reliable solution within a good response time by “abandoning” some relational model principals like the entity-relationship and normalization constraints and giving emphasis to the parallel processing over distributed data stores. In concordance with the mentioned approach the LSHDB is designed in such a way as to be able to store encoded field content and make queries using encoding technics and parallel processing over a distributed storage space. The engine implementation has the corresponding abstract level in order to be adapted to different LSH encoding technics (Gram, Hamming and Min-Hash) and different NoSQL data stores (BerkeleyDB and LevelDB). Over the already existing structure the additional classes corresponding to Cassandra adaptation to LSHDB are implemented. Cassandra represents a column data store system. For this reason one of the basic modifications is the adaptation of LSHDB in order to be able to support the keyspace and table, which are the base Cassandra elements. Based on this, the necessary modifications are performed in such a way as to be able to store and read data handled by the LSHDB in the same way as it is in the already supported data stores.
  14. Αναφορά Δημιουργού 4.0 Διεθνές