Dragonfly, ένα σύστημα αποθήκευσης δεδομένων μνήμης RAM

Λιβελούλα

Το Dragonfly είναι ένας χώρος αποθήκευσης δεδομένων στη μνήμη που έχει δημιουργηθεί για σύγχρονους φόρτους εργασίας εφαρμογών.

Πριν λίγες μέρες ανακοινώθηκε απελευθέρωση του συστήματος προσωρινής αποθήκευσης και αποθήκευσης δεδομένων σε μνήμη Dragonfly, που χειρίζεται δεδομένα σε μορφή κλειδιού/τιμής και μπορεί να χρησιμοποιηθεί ως μια ελαφριά λύση για την επιτάχυνση ιστότοπων υψηλής φόρτωσης μέσω προσωρινής αποθήκευσης αργών ερωτημάτων στο DBMS και ενδιάμεσων δεδομένων στη μνήμη RAM.

λιβελούλα υποστηρίζει τα πρωτόκολλα Memcached και Redis, που σας επιτρέπει να χρησιμοποιείτε υπάρχουσες βιβλιοθήκες πελατών και έργα θυρών χρησιμοποιώντας το Memcached και το Redis στο Dragonfly χωρίς να χρειάζεται να επεξεργαστείτε ξανά τον κώδικά σας.

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

Παράλληλα, Dragonfly μπορεί να ρυθμιστεί ώστε να χρησιμοποιείται ως δευτερεύουσα αποθήκευση που δέχεται δεδομένα από τον κύριο διακομιστή με βάση το Dragonfly και το Redis. Το API διαχείρισης αναπαραγωγής είναι συμβατό με το Redis και βασίζεται στη χρήση των εντολών ROLE και REPLICAOF (SLAVEOF).

Σχετικά με το Dragonfly

Η υψηλή απόδοση επιτυγχάνεται χάρη στην αρχιτεκτονική πολλαπλών νημάτων χωρίς κοινή χρήση πόρων (shared-nothing), που σημαίνει ότι ένας ξεχωριστός ελεγκτής είναι συνδεδεμένος σε κάθε νήμα με το δικό του κομμάτι δεδομένων, το οποίο λειτουργεί χωρίς mutexes ή spin-locks.

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

Σε σύγκριση με το Redis, το Dragonfly μπορεί να υπερηφανεύεται για 25x ενίσχυση απόδοσης (3,8 εκατομμύρια αιτήματα ανά δευτερόλεπτο) υπό τυπικό φόρτο εργασίας σε περιβάλλον Amazon EC2 c6gn.16xlarge. Σε σύγκριση με το Memcached σε περιβάλλον AWS c6gn.16xlarge, το Dragonfly μπόρεσε να ολοκληρώσει 4,7 φορές περισσότερα αιτήματα εγγραφής ανά δευτερόλεπτο (3,8 εκατομμύρια έναντι 806k) και 1,77 φορές περισσότερα αιτήματα ανάγνωσης ανά δευτερόλεπτο (3,7 εκατομμύρια έναντι 2,1 εκατομμύρια).

Σε δοκιμές αποθήκευσης 5 GB, Το Dragonfly απαιτούσε 30% λιγότερη μνήμη από το Redis. Κατά τη δημιουργία στιγμιότυπου χρησιμοποιώντας την εντολή "bgsave", η κατανάλωση μνήμης αυξάνεται, αλλά σε ώρες αιχμής διατηρήθηκε σχεδόν τρεις φορές μικρότερη από ό,τι στο Redis και η ίδια η λειτουργία εγγραφής στιγμιότυπου είναι πολύ πιο γρήγορη (στην περίπτωση του Redis). Το στιγμιότυπο γράφτηκε στο Dragonfly σε 30 δευτερόλεπτα και το Redis - σε 42 δευτερόλεπτα).

Μερικοί Τα χαρακτηριστικά του Dragonfly είναι:

  • Μια λειτουργία προσωρινής αποθήκευσης που αντικαθιστά αυτόματα τα παλιά δεδομένα με νέα δεδομένα μόλις εξαντληθεί η ελεύθερη μνήμη.
  • Υποστήριξη για κύκλους ζωής σύνδεσης δεδομένων κατά τους οποίους τα δεδομένα θεωρούνται ενημερωμένα.
  • Υποστήριξη για flushing κατάσταση αποθήκευσης στο δίσκο στο παρασκήνιο για μελλοντική ανάκτηση μετά από επανεκκίνηση.
  • Η παρουσία μιας κονσόλας HTTP (δεσμεύεται στη θύρα TCP 6379) για τη διαχείριση συστήματος και ενός API για την επιστροφή μετρήσεων, συμβατό με το Prometheus.
  • Υποστήριξη για 185 εντολές Redis, περίπου ισοδύναμη με τη λειτουργικότητα της έκδοσης Redis 5.
  • Υποστήριξη για όλες τις εντολές Memcached εκτός από το CAS (επαλήθευση και διαμόρφωση).
  • Υποστήριξη για ασύγχρονες λειτουργίες για τη δημιουργία στιγμιότυπων.
  • Προβλεπόμενη κατανάλωση μνήμης.
  • Ενσωματωμένος διερμηνέας Lua 5.4.
  • Υποστήριξη σύνθετων τύπων δεδομένων όπως κατακερματισμοί, σύνολα, λίστες (ZSET, HSET, LIST, SETS και STRING) και δεδομένα JSON.
  • Υποστήριξη αναπαραγωγής αποθήκευσης για failover και εξισορρόπηση φορτίου.

Για όσους ενδιαφέρονται για τον κώδικα Dragonfly, πρέπει να ξέρετε ότι αυτό είναι γραμμένο σε C/C++ και διανέμεται κάτω από η άδεια BSL .Η ουσία του BSL είναι ότι ο εκτεταμένος κωδικός λειτουργικότητας είναι αρχικά διαθέσιμος για τροποποίηση, αλλά για κάποιο χρονικό διάστημα μπορεί να χρησιμοποιηθεί δωρεάν μόνο με πρόσθετους όρους, οι οποίοι απαιτούν την αγορά εμπορικής άδειας για παράκαμψη.

Οι πρόσθετοι όροι άδειας του έργου Dragonfly απαιτούν τη μετεγκατάσταση του κώδικα στην άδεια Apache 2.0 στις 15 Μαρτίου 2028. Μέχρι τότε, η άδεια επιτρέπει τη χρήση του κώδικα μόνο για τη διασφάλιση της λειτουργίας των υπηρεσιών και των προϊόντων του, αλλά απαγορεύει τη χρήση για τη δημιουργία επί πληρωμή υπηρεσίες cloud που λειτουργούν ως πρόσθετο στο Dragonfly.

Τελικά αν σας ενδιαφέρει να μάθετε λίγα περισσότερα για αυτό, μπορείτε να ελέγξετε τις λεπτομέρειες στο παρακάτω σύνδεσμο.


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

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

*

*

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