Η Canonical ανακοινώνει την έκδοση 1.0 του Dqlite, μιας βιβλιοθήκης C για SQL

Κανονικός

Κατά την τελευταία εβδομάδα Η Canonical ανακοίνωσε την κυκλοφορία μιας μεγάλης έκδοσης του έργου Dqlite 1.0, αναπτύσσετε μια μηχανή SQL Ενσωματωμένο SQLite που υποστηρίζει την αναπαραγωγή δεδομένων, την αυτόματη αποκατάσταση καταστροφών και την ανοχή σφαλμάτων σε πολλούς κόμβους.

Το Dqlite είναι βιβλιοθήκη Γ Υλοποιεί έναν αναπαραγόμενο μηχανισμό βάσης δεδομένων SQL με υψηλή διαθεσιμότητα και αυτόματο failover. Το ακρωνύμιο "dqlite" σημαίνει "Distributed SQLite", που σημαίνει ότι το dqlite επεκτείνει το SQLite με ένα πρωτόκολλο δικτύου που μπορεί να συνδέσει πολλές παρουσίες της εφαρμογής σας και να τις κάνει να λειτουργήσει ως ένα πολύ διαθέσιμο σύμπλεγμα, χωρίς εξάρτηση από εξωτερικές βάσεις δεδομένων.

Οπως αναφέρθηκε το DBMS υλοποιείται με τη μορφή βιβλιοθήκης Γ που είναι συνδεδεμένη με εφαρμογές και διανέμεται με την άδεια Apache 2.0 (ο αρχικός SQLite παρέχεται στο δημόσιο τομέα). Η βιβλιοθήκη είναι ένα πρόσθετο με βάση τον υπάρχοντα κώδικα SQLite, το οποίο προσθέτει υποστήριξη πρωτοκόλλου δικτύου για τη σύνδεση πολλαπλών παρουσιών της εφαρμογής που εκτελείται σε διαφορετικούς κεντρικούς υπολογιστές.

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

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

Για να διασφαλιστεί η συνέπεια στην αναπαραγωγή δεδομένων, χρησιμοποιείται μια μέθοδος συναίνεσης που βασίζεται στον αλγόριθμο Raft, η οποία χρησιμοποιείται σε έργα όπως το etcd, το RethinkDB, το CockroachDB και το OpenDaylight. Το Dqlite χρησιμοποιεί τη δική του ασύγχρονη εφαρμογή C-raft, γραμμένο σε C.

Για να πολλαπλασιάσει την επεξεργασία των συνδέσεων και να οργανώσει την έναρξη των κορουτίνων, χρησιμοποιούνται οι προετοιμασμένες βιβλιοθήκες libuv και libco.

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

Από τις δυνατότητες που μπορούν να επισημανθούν στο Dqlite είναι οι εξής:

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

Πώς να εγκαταστήσετε το Dqlite στο Ubuntu και σε παράγωγα;

Η Canonical παρέχει πληροφορίες για το πώς μπορείτε να δημιουργήσετε έναν πελάτη για αλληλεπίδραση με το Dqlite, μπορείτε να συμβουλευτείτε Στον ακόλουθο σύνδεσμο.

Τώρα για την εγκατάσταση της βιβλιοθήκης στο σύστημα, Αυτό μπορεί να εγκατασταθεί με δύο τρόπους για όσους είναι χρήστες του Ubuntu ή οποιοδήποτε άλλο παράγωγο αυτού. Η Canonical παρέχει PPA από όπου μπορεί να ληφθεί με αρκετά απλό τρόπο.

Αυτό το PPA μπορεί να προστεθεί από ένα τερματικό και να εκτελέσει τις ακόλουθες εντολές σε αυτό:

sudo add-apt-repository ppa:dqlite/v1
sudo apt-get update
sudo apt-get install libdqlite-dev

Η άλλη μέθοδος εγκατάστασης αυτής της βιβλιοθήκης είναι με τη σύνταξη αυτού στο σύστημα, οπότε αυτή είναι μια πιο γενική μέθοδος τόσο για το Ubuntu όσο και για άλλες διανομές Linux.

Για να το κάνουν αυτό, πρέπει μόνο να ανοίξουν ένα τερματικό και να εκτελέσουν τις ακόλουθες εντολές:

git clone --depth 100 https://github.com/canonical/sqlite.git
cd sqlite
./configure --enable-replication
make
sudo make install
cd ..
git clone https://github.com/canonical/libco.git
cd libco
make
sudo make install
cd ..
git clone https://github.com/canonical/raft.git
cd raft
autoreconf -i
./configure
make
sudo make install
cd ..

Μόλις εγκατασταθούν όλες οι απαραίτητες βιβλιοθήκες, για να δημιουργήσετε την κοινόχρηστη βιβλιοθήκη dqlite, μπορείτε να εκτελέσετε:

autoreconf -i
./configure
make
sudo make install

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

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

*

*

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