Στο SQLite εργάζονται ήδη σε ένα HCTree backend με υποστήριξη για παράλληλες εγγραφές

SQLite

είναι ένα συμβατό με ACID σύστημα διαχείρισης σχεσιακής βάσης δεδομένων, που περιέχεται σε μια σχετικά μικρή βιβλιοθήκη γραμμένη σε C

Οι προγραμματιστές του έργου Το SQLite ξεκίνησε να δοκιμάζει ένα πειραματικό backend HCtree που υποστηρίζει κλείδωμα σε επίπεδο γραμμής και παρέχει υψηλό επίπεδο παραλληλισμού στην επεξεργασία ερωτημάτων.

Σχετικά με το νέο backend στο οποίο εργάζονται, αναφέρεται ότι αυτό στοχεύει στη βελτίωση της αποτελεσματικότητας της χρήσης του SQLite σε συστήματα πελάτη-διακομιστή Πρέπει να επεξεργαστούν μεγάλο αριθμό ταυτόχρονων αιτημάτων εγγραφής στη βάση δεδομένων.

ο β-δέντρες δομές που χρησιμοποιήθηκαν αρχικά στο SQLite για αποθήκευση δεδομένων Δεν έχουν σχεδιαστεί για αυτό το είδος φορτίου., το οποίο περιορίζει το SQLite στη γραφή μόνο σε μία ροή. Ως πείραμα, οι προγραμματιστές άρχισαν να αναπτύσσουν μια εναλλακτική λύση που χρησιμοποιεί δομές HCtree για αποθήκευση, πιο κατάλληλη για τον παραλληλισμό λειτουργιών εγγραφής.

Το έργο HC-tree (hctree) είναι μια προσπάθεια ανάπτυξης ενός νέου backend βάσης δεδομένων που βελτιώνεται στο κανονικό SQLite ως εξής:

Βελτιωμένη συγχρονισμός: Η χρήση της επέκτασης start-concurrent αλλάζει αυτό, ώστε να μπορεί να εκτελεστεί ταυτόχρονα χρησιμοποιώντας αισιόδοξο κλείδωμα σε επίπεδο σελίδας. Αυτό βελτιώνει κάπως τη συγχρονικότητα, αλλά το κλείδωμα σε επίπεδο σελίδας μπορεί να ανιχνεύσει διενέξεις μεταξύ λογικά ανεξάρτητων συναλλαγών και οι λειτουργίες COMMIT πρέπει ακόμα να σειριοποιηθούν.

Υποστήριξη αναπαραγωγής: Το Stock SQLite υποστηρίζει το επέκταση συνεδρίας, το οποίο επιτρέπει τη σειριοποίηση του περιεχομένου μιας δεσμευμένης συναλλαγής για μετάδοση και εφαρμογή σε μια δεύτερη βάση δεδομένων. Το Hctree το ενσωματώνει στο backend της βάσης δεδομένων και προσθέτει υποστήριξη για την εφαρμογή τέτοιων συναλλαγών σε βάσεις δεδομένων ακολούθων σε διαμορφώσεις leader-follower. Σε αυτήν την περίπτωση, οι συναλλαγές που λαμβάνονται από μια κύρια βάση δεδομένων μπορούν να εφαρμοστούν ταχύτερα και με μεγαλύτερη ταυτόχρονη εφαρμογή από εκείνες που αρχικά εφαρμόστηκαν στην κύρια βάση δεδομένων, επειδή δεν επικύρωση συναλλαγής.

Κατάργηση περιορισμών μεγέθους βάσης δεδομένων: Το Stock SQLite χρησιμοποιεί αριθμούς σελίδων 32 bit. Χρησιμοποιώντας το προεπιλεγμένο μέγεθος σελίδας των 4 KiB, αυτό οδηγεί σε μέγιστο μέγεθος βάσης δεδομένων 2^44 byte ή 16 TiB.

Για να χειριστείτε πολλές λειτουργίες ταυτόχρονα, Τα αρχεία καταγραφής HCtree χρησιμοποιούν έναν μηχανισμό διαχωρισμού συναλλαγών που χρησιμοποιεί κλειδώματα σε επίπεδο σελίδας, παρόμοια με το MVCC (έλεγχος περιορισμού πολλαπλών εκδόσεων), αλλά χρησιμοποιεί στοιχεία ελέγχου συναλλαγών με βάση το εύρος κλειδιών και το εύρος κλειδιών αντί για σύνολα σελίδων.

Οι λειτουργίες ανάγνωσης και εγγραφής εκτελούνται σε σχέση με το στιγμιότυπο της βάσης δεδομένων, οι αλλαγές των οποίων γίνονται ορατές στην κύρια βάση δεδομένων μόνο μετά την ολοκλήρωση της συναλλαγής.

Οι πελάτες μπορούν να χρησιμοποιήσουν τρεις λειτουργίες για να ανοίξουν συναλλαγές:

  • «ΑΡΧΙΖΟΥΝ«: Οι συναλλαγές δεν λαμβάνουν υπόψη τα δεδομένα πρόσβασης άλλων πελατών. Εάν εκτελούνται λειτουργίες εγγραφής εντός μιας συναλλαγής, η συναλλαγή μπορεί να δεσμευτεί μόνο εάν δεν υπήρχαν άλλες λειτουργίες εγγραφής στη βάση δεδομένων κατά τη διάρκεια της εκτέλεσής της.
    «ΑΡΧΙΣΤΕ ΣΥΓΧΡΟΝΙΚΑ«: Οι συναλλαγές συλλέγουν πληροφορίες σχετικά με την πρόσβαση άλλων πελατών. Εάν εκτελούνται λειτουργίες εγγραφής εντός μιας συναλλαγής, η συναλλαγή μπορεί να δεσμευτεί εάν άλλες συναλλαγές έχουν δεσμευτεί στη βάση δεδομένων από τη δημιουργία του στιγμιότυπου.
    «ΑΡΧΗ ΑΠΟΚΛΕΙΣΤΙΚΟ«: μετά το άνοιγμα μιας συναλλαγής, μπλοκάρει τις λειτουργίες άλλων συναλλαγών μέχρι να ολοκληρωθεί.

Το HCtree υποστηρίζει την αναπαραγωγή master-slave, επιτρέποντας τη μεταφορά συναλλαγών σε άλλη βάση δεδομένων και διατηρώντας τις δευτερεύουσες βάσεις δεδομένων σε συγχρονισμό με την κύρια βάση δεδομένων.

Το HCtree καταργεί επίσης το όριο μεγέθους βάσης δεδομένων: αντί για αναγνωριστικά σελίδας δεδομένων 32 bit, το HCtree χρησιμοποιεί αναγνωριστικά 48 bit, τα οποία αυξάνουν το μέγιστο μέγεθος βάσης δεδομένων από 16 tebibyte σε 1 exbibyte (εκατομμύρια tebibyte).

Η απόδοση του SQLite με το backend HCtree αναμένεται να είναι τουλάχιστον εξίσου καλή με το κλασικό backend ενός νήματος. Οι πελάτες SQLite με υποστήριξη HCtree θα μπορούν να έχουν πρόσβαση τόσο σε βάσεις δεδομένων HC-tree όσο και σε βάσεις δεδομένων SQLite παλαιού τύπου.

πηγή: https://sqlite.org/


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: AB Internet Networks 2008 SL
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.