Νέα έκδοση του DBMS ArangoDB 3.6

Που δημοσιεύθηκε έκδοση ενός DBMS πολλαπλών χρήσεων ArangoDB 3.6, το οποίο παρέχει ευέλικτα μοντέλα για την αποθήκευση εγγράφων, γραφημάτων και δεδομένων κλειδιού-τιμής. Η εργασία με τη βάση δεδομένων πραγματοποιείται μέσω μιας γλώσσας ερωτημάτων που μοιάζει με SQL AQL ή μέσω ειδικών επεκτάσεων σε JavaScript. Οι μέθοδοι αποθήκευσης δεδομένων είναι συμβατές με ACID (Atomicity, Consistency, Isolation, Durability), υποστηρίζουν συναλλαγές και παρέχουν επεκτασιμότητα τόσο οριζόντια όσο και κάθετη. Η διαχείριση του DBMS μπορεί να γίνει μέσω μιας διεπαφής ιστού ή ενός προγράμματος-πελάτη κονσόλας Arango SH. Κωδικός ArangoDB διανέμονται από με άδεια χρήσης Apache 2. Το έργο είναι γραμμένο σε C και JavaScript.

Βασικά χαρακτηριστικά του ArangoDB:

  • Η δυνατότητα χωρίς καθορισμό ενός σχήματος αποθήκευσης δεδομένων (χωρίς σχήμα) - τα δεδομένα δομούνται με τη μορφή εγγράφων στα οποία τα μεταδεδομένα και οι πληροφορίες σχετικά με τη δομή διαχωρίζονται από τα δεδομένα χρήστη.
  • Υποστήριξη για τη χρήση του ArangoDB ως διακομιστή για εφαρμογές web σε JavaScript με δυνατότητα πρόσβασης στη βάση δεδομένων μέσω REST/Web API.
  • Χρήση JavaScript για εφαρμογές προγράμματος περιήγησης που έχουν πρόσβαση στη βάση δεδομένων και για προγράμματα χειρισμού που εκτελούνται από την πλευρά του DBMS.
  • Αρχιτεκτονική πολλαπλών νημάτων που κατανέμει το φορτίο σε όλους τους πυρήνες της CPU.
  • Ένα ευέλικτο μοντέλο αποθήκευσης δεδομένων που μπορεί να συνδυάζει ζεύγη κλειδιών-τιμών, έγγραφα και παραμέτρους που καθορίζουν τις σχέσεις μεταξύ των εγγραφών (παρέχει εργαλεία για τη διέλευση των κορυφών του γραφήματος).
  • Διαφορετικά μοντέλα αναπαράστασης δεδομένων (έγγραφα, γραφήματα και ζεύγη κλειδιών-τιμών) μπορούν να αναμειχθούν σε ένα ερώτημα, γεγονός που απλοποιεί τη συγκέντρωση ετερογενών δεδομένων.
  • Υποστήριξη για ερωτήματα συγχώνευσης (JOIN).
  • Η δυνατότητα επιλογής του τύπου ευρετηρίου που αντιστοιχεί στις εργασίες που επιλύονται (για παράδειγμα, μπορείτε να χρησιμοποιήσετε το ευρετήριο για αναζήτηση πλήρους κειμένου).
  • Προσαρμόσιμη αξιοπιστία: η ίδια η εφαρμογή μπορεί να καθορίσει τι είναι πιο σημαντικό για αυτήν: υψηλότερη αξιοπιστία ή υψηλότερη απόδοση.
  • Αποτελεσματική αποθήκευση που εκμεταλλεύεται πλήρως το σύγχρονο υλικό (όπως SSD) και μπορεί να χρησιμοποιεί μεγάλες κρυφές μνήμες.
  • Συναλλαγές: η δυνατότητα εκτέλεσης ερωτημάτων σε πολλαπλά έγγραφα ή συλλογές ταυτόχρονα με προαιρετική συνέπεια και απομόνωση συναλλαγών.
  • Υποστήριξη για αναπαραγωγή και διαμοιρασμό: η δυνατότητα δημιουργίας διαμορφώσεων master-slave και διανομής συνόλων δεδομένων σε διαφορετικούς διακομιστές ανάλογα με μια συγκεκριμένη λειτουργία.
  • Παρέχεται ένα πλαίσιο JavaScript για τη δημιουργία μικροϋπηρεσιών Foxx, που εκτελείται μέσα σε διακομιστή DBMS με άμεση πρόσβαση στα δεδομένα.

Αλλαγέςπου προτείνεται στην έκδοση ArangoDB 3.6:

  • Η απόδοση των υποερωτημάτων, καθώς και των λειτουργιών ΕΝΗΜΕΡΩΣΗ και ΑΝΤΙΚΑΤΑΣΤΑΣΗ έχει βελτιστοποιηθεί.
  • Έχει εφαρμοστεί η δυνατότητα παραλληλοποίησης της εκτέλεσης ερωτημάτων AQL, η οποία επιτρέπει τη μείωση του χρόνου συλλογής δεδομένων που διανέμονται σε διαφορετικούς κόμβους συμπλέγματος.
  • Εφαρμοσμένη καθυστερημένη υλοποίηση εγγράφων, η οποία επιτρέπει σε ορισμένες περιπτώσεις να εξαλείψει την ανάγκη πλήρους ανάκτησης άσχετων εγγράφων.
  • Κατά τη σάρωση εγγράφων, διασφαλίζεται η πρόωρη απόρριψη εγγράφων που δεν ταιριάζουν με το καθορισμένο φίλτρο.
  • Η μηχανή αναζήτησης πλήρους κειμένου ArangoSearch έχει βελτιωθεί, υποστηρίζοντας την κατάταξη με βάση την ομοιότητα δεδομένων. Προστέθηκε υποστήριξη αναλυτή για αυτόματη συμπλήρωση ερωτημάτων, υλοποιημένες λειτουργίες TOKENS() και PHRASE() για δυναμική δημιουργία ερωτημάτων αναζήτησης.
  • Προστέθηκε η ρύθμιση maxRuntime για τον επιλεκτικό περιορισμό του χρόνου εκτέλεσης του ερωτήματος.
  • Προστέθηκε η επιλογή «—query.optimizer-rules» για τον έλεγχο της ενεργοποίησης ορισμένων βελτιστοποιήσεων κατά την επεξεργασία ερωτημάτων.
  • Οι δυνατότητες οργάνωσης της λειτουργίας του cluster έχουν διευρυνθεί. Προστέθηκε η επιλογή «—cluster.upgrade» για να επιλέξετε τη λειτουργία αναβάθμισης των κόμβων στο σύμπλεγμα.
  • Προστέθηκε υποστήριξη για το TLS 1.3 για την κρυπτογράφηση του καναλιού επικοινωνίας μεταξύ του πελάτη και του διακομιστή (από προεπιλογή ο πελάτης συνεχίζει να χρησιμοποιεί το TLS 1.2).

Πηγή: opennet.ru

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