Η Dqlite 1.0, μια διανεμημένη έκδοση του SQLite από την Canonical, είναι διαθέσιμη

Canonical Company опубликовала σημαντική έκδοση έργου Dqlite 1.0 (Distributed SQLite), το οποίο αναπτύσσει μια ενσωματωμένη μηχανή SQL συμβατή με SQLite που υποστηρίζει την αναπαραγωγή δεδομένων, την αυτόματη ανάκτηση από βλάβες και την ανοχή σφαλμάτων κατανέμοντας τους χειριστές σε πολλούς κόμβους. Το DBMS υλοποιείται με τη μορφή βιβλιοθήκης C που είναι προσαρτημένη σε εφαρμογές και διανέμονται από υπό την άδεια Apache 2.0 (το αρχικό SQLite παρέχεται στον δημόσιο τομέα). Διαθέσιμα γλωσσικά δεσίματα Go.

Η βιβλιοθήκη είναι ένα πρόσθετο στην υπάρχουσα βάση κώδικα SQLite που προσθέτει υποστήριξη πρωτοκόλλου δικτύου για τη διασύνδεση πολλαπλών παρουσιών μιας εφαρμογής που εκτελείται σε διαφορετικούς κεντρικούς υπολογιστές. Μια εφαρμογή που έχει μεταγλωττιστεί με Dqlite μπορεί να λειτουργήσει ως ένα αυτάρκης σύμπλεγμα ανοχής σε σφάλματα, ανεξάρτητα από εξωτερικά DBMS. Στην πράξη, το Dqlite χρησιμοποιείται από την Canonical στο σύστημα διαχείρισης κοντέινερ Lxd. Μεταξύ των τομέων εφαρμογής της βιβλιοθήκης αναφέρεται και η δημιουργία συσκευών και επεξεργαστών Internet of Things με ανοχή σε σφάλματα σε συστήματα.
άκρη- υπολογισμοί.

Για να εξασφαλιστεί η συνέπεια στην αναπαραγωγή δεδομένων, χρησιμοποιείται μια μέθοδος συναίνεσης που βασίζεται σε αλγόριθμους Σχεδία, το οποίο χρησιμοποιείται σε έργα όπως etcd, RethinkDB, CockroachDB και OpenDaylight. Το Dqlite χρησιμοποιεί τη δική του ασύγχρονη υλοποίηση Σκάφος, γραμμένο στη γλώσσα C. Οι έτοιμες βιβλιοθήκες χρησιμοποιούνται για την πολυπλεξία επεξεργασίας σύνδεσης και την οργάνωση της εκκίνησης των κορουτινών libuv и libco.

Σε σύγκριση με αντίστοιχο έργο rqlite,Το Dqlite παρέχει πλήρη υποστήριξη συναλλαγών, μπορεί να επικοινωνεί με οποιοδήποτε έργο C, επιτρέπει τη χρήση της συνάρτησης time() και χρησιμοποιεί αναπαραγωγή που βασίζεται σε πλαίσιο αντί για αναπαραγωγή που βασίζεται σε μετάφραση SQL.

Χαρακτηριστικά του Dqlite:

  • Εκτελέστε όλες τις λειτουργίες δίσκου και δικτύου ασύγχρονα.
  • Διαθεσιμότητα ενός συνόλου δοκιμών για την επιβεβαίωση της ορθότητας των δεδομένων.
  • Χαμηλή κατανάλωση μνήμης και αποτελεσματική ανταλλαγή δεδομένων μέσω του δικτύου.
  • Μόνιμη αποθήκευση της βάσης δεδομένων και καταγραφής συναλλαγών στο δίσκο (με δυνατότητα caching στη μνήμη).
  • Γρήγορη αποκατάσταση από αποτυχίες.
  • Σταθερό πρόγραμμα-πελάτη CLI σε γλώσσα Go, το οποίο μπορεί να χρησιμοποιηθεί για την προετοιμασία της βάσης δεδομένων, τη διαμόρφωση της αναπαραγωγής και τη σύνδεση/αποσύνδεση κόμβων.
  • Υποστηρίζει αρχιτεκτονικές ARM, X86, POWER και IBM Z.
  • Η εφαρμογή του αλγορίθμου Raft είναι βελτιστοποιημένη για να ελαχιστοποιεί τις καθυστερήσεις κατά την πραγματοποίηση συναλλαγών.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο