Κοινή χρήση μέσω


Προσωρινή αποθήκευση στην αποθήκη δεδομένων Fabric

Ισχύει για: Τελικό σημείο ανάλυσης SQL και Αποθήκη στο Microsoft Fabric

Η ανάκτηση δεδομένων από τη λίμνη δεδομένων είναι μια κρίσιμη λειτουργία εισόδου/εξόδου (IO) με σημαντικές επιπτώσεις για τις επιδόσεις ερωτημάτων. Στο Microsoft Fabric, η Αποθήκη δεδομένων Synapse χρησιμοποιεί βελτιωμένα μοτίβα πρόσβασης για τη βελτίωση της ανάγνωσης δεδομένων από τον χώρο αποθήκευσης και την επιτάχυνση της εκτέλεσης ερωτημάτων. Επιπλέον, ελαχιστοποιεί με έξυπνο τρόπο την ανάγκη για απομακρυσμένη ανάγνωση του χώρου αποθήκευσης, αξιοποιώντας τοπικά cache.

Η προσωρινή αποθήκευση είναι μια τεχνική που βελτιώνει την απόδοση των εφαρμογών επεξεργασίας δεδομένων μειώνοντας τις λειτουργίες IO. Η αποθήκευση στο cache αποθηκεύει δεδομένα και μετα-δεδομένα στα οποία η πρόσβαση γίνεται συχνά σε ένα ταχύτερο επίπεδο αποθήκευσης, όπως τοπική μνήμη ή τοπικό δίσκο SSD, ώστε οι επόμενες αιτήσεις να μπορούν να εξυπηρετηθούν πιο γρήγορα, απευθείας από το cache. Εάν ένα συγκεκριμένο σύνολο δεδομένων έχει προσπελαστεί στο παρελθόν από ένα ερώτημα, οποιαδήποτε επόμενα ερωτήματα θα ανακτήσουν αυτά τα δεδομένα απευθείας από το cache στη μνήμη. Αυτή η προσέγγιση μειώνει σημαντικά τον λανθάνοντα χρόνου IO, καθώς οι λειτουργίες τοπικής μνήμης είναι ιδιαίτερα ταχύτερες σε σύγκριση με τη λήψη δεδομένων από τον απομακρυσμένο χώρο αποθήκευσης.

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

Υπάρχουν δύο τύποι cache που περιγράφονται παρακάτω σε αυτό το άρθρο:

  • Cache στη μνήμη
  • Cache δίσκου

Cache στη μνήμη

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

Διάγραμμα που εμφανίζει τον τρόπο συμπλήρωσης του cache εντός της μνήμης.

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

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

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

Cache δίσκου

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

Διάγραμμα που εμφανίζει τον τρόπο συμπλήρωσης της μνήμης και του cache SSD.

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

Διάγραμμα που εμφανίζει τον τρόπο συμπλήρωσης του cache εντός της μνήμης από το cache SSD.

Διαχείριση cache

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

Ο μηχανισμός προσωρινής αποθήκευσης ενορχηστρώνεται και υποστηρίζεται από το ίδιο το Microsoft Fabric και δεν προσφέρει στους χρήστες τη δυνατότητα μη αυτόματης εκκαθάρισης του cache.

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

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