Garnet, το σύστημα NoSQL της Microsoft είναι πλέον ανοιχτού κώδικα 

Λυχνίτης

Το Garnet είναι πλέον ανοιχτού κώδικα

Η Microsoft αποκάλυψε πρόσφατα δικό του απόφαση για την απελευθέρωση του Garnet, το σύστημα διαχείρισης βάσεων δεδομένων NoSQL, ως ανοιχτού κώδικα. Αυτό το σύστημα NoSQL είναι επικεντρώθηκε στη δημιουργία καταστημάτων προσωρινής αποθήκευσης και συμβατό με υπάρχουσες βιβλιοθήκες πελατών για αποθήκευση Redis.

Λυχνίτης επιτρέπει τη δημιουργία κλιμακωτών συμπλεγμάτων προσωρινής αποθήκευσης που υποστηρίζουν την αναπαραγωγή, τη μετεγκατάσταση κλειδιών και την κοινή χρήση δεδομένων μεταξύ κόμβων συμπλέγματος. Ο κινητήρας Tsavorite χρησιμοποιείται για την αποθήκευση δεδομένων στο Garnet (μια διχάλα για την πιο γρήγορη αποθήκευση της Microsoft).

Με το ανοιχτό λογισμικό Garnet, ελπίζουμε να επιτρέψουμε στην κοινότητα προγραμματιστών να επωφεληθεί από τις βελτιώσεις και τις δυνατότητές της στην απόδοση, να αξιοποιήσει τη δουλειά μας και να επεκτείνει το οικοσύστημα Garnet προσθέτοντας νέες δυνατότητες και κλήσεις API. Ελπίζουμε επίσης ότι ο ανοιχτός κώδικας θα ενθαρρύνει την παρακολούθηση της ακαδημαϊκής έρευνας και θα ανοίξει μελλοντικές ευκαιρίες για συνεργασία σε αυτόν τον σημαντικό τομέα έρευνας.

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

Η αρχιτεκτονική του Garnet διαχωρίζει τη λογική για την ανάλυση και την επεξεργασία αιτημάτων από τις λειτουργίες αποθήκευσης και τα δεδομένα αποθηκεύονται χρησιμοποιώντας δύο αποθήκες κλειδιού-τιμής που βασίζονται στη βιβλιοθήκη Tsavorite.

Η πρώτη αποθήκη, "κύρια", έχει βελτιστοποιηθεί για γρήγορες λειτουργίες συμβολοσειράς, ενώ το δεύτερο κατάστημα, το "αντικείμενο", είναι βελτιστοποιημένο για να χειρίζεται σύνθετα αντικείμενα και προηγμένους τύπους δεδομένων, όπως κατακερματισμούς και λίστες. Οι τύποι δεδομένων στη δεύτερη αποθήκευση υλοποιούνται με τη χρήση βιβλιοθηκών .NET. Τα δεδομένα αποθηκεύονται στο σωρό (C# heap), επιτρέποντάς τους να ενημερωθούν αποτελεσματικά και να σειριοποιηθούν στο δίσκο.

Tsavorite υποστηρίζει την επεξεργασία ερωτημάτων πολλαπλών νημάτων, συναλλαγές, πραγματοποίηση αλλαγών σε λειτουργία μη κλειδώματος (σημείο ελέγχου), ανάκτηση αποτυχίας, αποθήκευση περιττών αντιγράφων και διατήρηση ενός αρχείου καταγραφής λειτουργιών.

Το πρόγραμμα οδήγησης δικτύου στο garnet βασίζεται στην αρχιτεκτονική κοινής μνήμης που προτείνεται από το ερευνητικό πρόγραμμα ShadowFax. Η επεξεργασία TLS και η αλληλεπίδραση με την αποθήκευση γίνονται σε ένα μόνο νήμα για να αποφευχθεί η επιβάρυνση των νημάτων μεταγωγής και να χρησιμοποιηθεί πιο αποτελεσματικά η κρυφή μνήμη της CPU κατά τη μεταφορά δεδομένων μέσω του δικτύου.

Το σύστημα NoSQL Garnet παρουσιάζει μια σειρά από εξαιρετικά χαρακτηριστικά που το καθιστούν ευέλικτο και αποτελεσματικό για διάφορες εφαρμογές αποθήκευσης και χειρισμού, αφού επιτρέπει την αποθήκευση πολλών επιπέδων με την εφαρμογή αποθήκευσης RAM, μονάδων SSD και αποθήκευσης cloud, βελτιστοποιώντας τη διανομή δεδομένων κατ' απαίτηση για τη δημιουργία αποτελεσματικών κρυφών μνήμων.

Εκτός από αυτό, έχει υποστήριξη επεκτάσιμης συσκευής, καθώς προσφέρει επίπεδα βελτιστοποιημένα για εργασία με διαφορετικούς τύπους συσκευών, όπως SSD, σκληρούς δίσκους και αποθήκευση cloud Azure Storage.

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

Από το άλλα χαρακτηριστικά Τι ξεχωρίζει για το Garnet:

  • Αποτρέπει τον κατακερματισμό και διασφαλίζει την αποτελεσματική διαχείριση του ελευθερωμένου χώρου RAM.
  • Επιτρέπει τον καθορισμό ορίων με δυνατότητα διαμόρφωσης στο μέγεθος της μνήμης που χρησιμοποιείται για ευρετήρια, αρχεία καταγραφής και αποθήκευση αντικειμένων, προσαρμοσμένα στις ανάγκες του συστήματος.
  • Διευκολύνει την πρόσβαση στον χώρο αποθήκευσης χρησιμοποιώντας πελάτες Redis χωρίς πρόσθετες τροποποιήσεις.
  • Προσφέρει ένα API για την εκτέλεση αναλυτικών ερωτημάτων, συναλλαγών και τη χρήση του παραδείγματος δημοσίευσης/εγγραφής, παρέχοντας ευελιξία στον χειρισμό δεδομένων.
  • Παρέχει μέσα για την ευέλικτη δημιουργία πολιτικών ελέγχου πρόσβασης μέσω ACL.
  • Σας επιτρέπει να ορίσετε τη διαμόρφωση του συστήματος αποθήκευσης σε κοινές και προσβάσιμες μορφές.
  • Παρέχει υποστήριξη για τη σύνδεση πρόσθετων ελεγκτών δικτύου και την κρυπτογράφηση της κυκλοφορίας χρησιμοποιώντας TLS, διασφαλίζοντας την ασφάλεια των δεδομένων.
  • Σας επιτρέπει να δημιουργήσετε επεκτάσεις σε C# για να εφαρμόσετε πρόσθετες λειτουργίες με συμβολοσειρές και αντικείμενα, προσφέροντας ευελιξία και επεκτασιμότητα.
  • Περιλαμβάνει υποστήριξη για αποθηκευμένες διαδικασίες συναλλαγών, επαναφορά από σημεία ελέγχου, λειτουργία AOF (προσάρτηση μόνο αρχείου) και τη δυνατότητα δημιουργίας συμπλεγμάτων αποθήκευσης με αναπαραγωγή, διαμοιρασμό και αποτυχημένη ανάκτηση κόμβου.
  • Προσφέρει ανώτερη απόδοση και χαμηλό λανθάνοντα χρόνο κατά την επεξεργασία ερωτημάτων, ξεπερνώντας τα ανταγωνιστικά συστήματα όσον αφορά την ανταπόκριση και την αποτελεσματικότητα επεξεργασίας δεδομένων.

Για ενδιαφέρονται για τον κωδικό του έργου, θα πρέπει να γνωρίζετε ότι είναι γραμμένο σε C# με πυρήνα αποθήκευσης C++, Κυκλοφορεί με την άδεια MIT και είναι συμβατό με Linux και Windows.


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

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

*

*

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