Προγραμματισμός

Μεταβείτε πάνω από το Memcached και το Redis, έρχεται το Netflix's Hollow

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

Το Hollow είναι μια βιβλιοθήκη Java και ένα σύνολο εργαλείων που στοχεύουν στη μνήμη caching των συνόλων δεδομένων σε μέγεθος έως και αρκετά gigabyte. Η Netflix λέει ότι ο σκοπός του Hollow είναι τριπλός: Σκοπεύει να είναι πιο αποτελεσματικός στην αποθήκευση δεδομένων. Μπορεί να παρέχει εργαλεία για αυτόματη δημιουργία API για εύκολη πρόσβαση στα δεδομένα. και μπορεί να αναλύσει αυτόματα μοτίβα χρήσης δεδομένων για πιο αποτελεσματικό συγχρονισμό με το πίσω μέρος.

Ας το κρατήσουμε μεταξύ μας

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

Σε αντίθεση με πολλά άλλα συστήματα αποθήκευσης δεδομένων, το Hollow προορίζεται να συνδεθεί με ένα συγκεκριμένο σύνολο δεδομένων - ένα δεδομένο σχήμα με συγκεκριμένα πεδία, συνήθως μια ροή JSON. Αυτό απαιτεί κάποια προετοιμασία, αν και η Hollow παρέχει μερικά εργαλεία για την αυτοματοποίηση εν μέρει της διαδικασίας. Ο λόγος για αυτό: Το Hollow μπορεί να αποθηκεύσει τα δεδομένα στη μνήμη ως κομμάτια σταθερού μήκους, έντονα δακτυλογραφημένα που δεν υπόκεινται στη συλλογή απορριμμάτων της Java. Ως αποτέλεσμα, έχουν πιο γρήγορη πρόσβαση από τα συμβατικά αντικείμενα Java.

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

Ταχύτερα παντού

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

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

Μια προειδοποίηση είναι ότι το Hollow δεν είναι κατάλληλο για σύνολα δεδομένων όλων των μεγεθών - "KB, MB και GB, αλλά όχι TB", είναι ο τρόπος με τον οποίο η εταιρεία το θέτει στην τεκμηρίωσή της. Τούτου λεχθέντος, το Netflix υπονοεί επίσης ότι το Hollow μειώνει το ποσό της επέκτασης που απαιτείται από ένα σύνολο δεδομένων που είναι αποθηκευμένο στην προσωρινή μνήμη. «Με το σωστό πλαίσιο και λίγη μοντελοποίηση δεδομένων, αυτό το όριο [μνήμης] είναι πιθανώς πολύ υψηλότερο από ό, τι νομίζετε», γράφει το Netflix.

$config[zx-auto] not found$config[zx-overlay] not found