Συναλλαγές σε πίνακες Warehouse στο Microsoft Fabric
Ισχύει για:✅ Τελικό σημείο ανάλυσης SQL και Αποθήκη στο Microsoft Fabric
Παρόμοια με τη συμπεριφορά τους στον SQL Server, οι συναλλαγές σάς επιτρέπουν να ελέγχετε την δέσμευση ή την επαναφορά ερωτημάτων ανάγνωσης και εγγραφής.
Μπορείτε να τροποποιήσετε τα δεδομένα που είναι αποθηκευμένα σε πίνακες σε μια Αποθήκη, χρησιμοποιώντας συναλλαγές για να ομαδοποιήσετε τις αλλαγές.
- Για παράδειγμα, μπορείτε να καταχωρήσετε εισαγωγές σε πολλούς πίνακες ή, εάν προκύψει σφάλμα, κανένας από τους πίνακες. Εάν αλλάζετε τις λεπτομέρειες σχετικά με μια παραγγελία αγοράς που επηρεάζει τρεις πίνακες, μπορείτε να ομαδοποιήσετε αυτές τις αλλαγές σε μία μόνο συναλλαγή. Αυτό σημαίνει ότι όταν ερωτώνται αυτοί οι πίνακες, είτε έχουν όλες τις αλλαγές είτε καμία από αυτές. Οι συναλλαγές αποτελούν κοινή πρακτική για την περίπτωση που χρειάζεται να εξασφαλίσετε ότι τα δεδομένα σας είναι συνεπή σε πολλούς πίνακες.
Δυνατότητες συναλλαγών
Οι ίδιες δυνατότητες συναλλαγών υποστηρίζονται στο τελικό σημείο ανάλυσης SQL στο Microsoft Fabric, αλλά για ερωτήματα μόνο για ανάγνωση.
Οι συναλλαγές μπορούν επίσης να χρησιμοποιηθούν για διαδοχικές προτάσεις SELECT για να διασφαλιστεί ότι όλοι οι εμπλεκόμενοι πίνακες έχουν δεδομένα από την ίδια χρονική στιγμή. Για παράδειγμα, εάν ένας πίνακας έχει νέες γραμμές που προστίθενται από μια άλλη συναλλαγή, οι νέες γραμμές δεν επηρεάζουν τα ερωτήματα SELECT μέσα σε μια ανοιχτή συναλλαγή.
Σημαντικό
Μόνο το επίπεδο απομόνωσης στιγμιότυπου αναφοράς υποστηρίζεται στο Microsoft Fabric. Εάν χρησιμοποιείτε T-SQL για να αλλάξετε το επίπεδο απομόνωσης, η αλλαγή παραβλέπεται κατά το χρόνο εκτέλεσης ερωτήματος και εφαρμόζεται απομόνωση στιγμιότυπου.
Υποστήριξη συναλλαγών ερωτήματος μεταξύ βάσεων δεδομένων
Η Αποθήκη στο Microsoft Fabric υποστηρίζει συναλλαγές που εκτείνονται σε βάσεις δεδομένων που βρίσκονται εντός του ίδιου χώρου εργασίας, συμπεριλαμβανομένης της ανάγνωσης από το τελικό σημείο ανάλυσης SQL του Lakehouse. Κάθε Lakehouse έχει ένα τελικό σημείο ανάλυσης SQL μόνο για ανάγνωση. Κάθε χώρος εργασίας μπορεί να έχει περισσότερα από ένα lakehouse.
Υποστήριξη DDL εντός συναλλαγών
Η Warehouse στο Microsoft Fabric υποστηρίζει DDL όπως η ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑΣ μέσα σε συναλλαγές που ορίζονται από τον χρήστη.
Κλείδωμα για διαφορετικούς τύπους πρότασης
Αυτός ο πίνακας παρέχει μια λίστα με τις κλειδαριές που χρησιμοποιούνται για διαφορετικούς τύπους συναλλαγών. Όλες οι κλειδαριές βρίσκονται σε επίπεδο πίνακα:
Τύπος πρότασης | Κλείδωμα που λαμβάνεται |
---|---|
ΔΙΑΛΈΓΩ | Σχήμα-σταθερότητα (Sch-S) |
ΕΝΘΈΤΩ | Αποκλειστικό πρόθεσης (IX) |
ΔΙΑΓΡΆΦΩ | Αποκλειστικό πρόθεσης (IX) |
ΕΝΗΜΕΡΏΝΩ | Αποκλειστικό πρόθεσης (IX) |
ΑΝΤΙΓΡΑΦΗ ΣΤΟ | Αποκλειστικό πρόθεσης (IX) |
DDL | Τροποποίηση σχήματος (Sch-M) |
Αυτά τα λουκέτο αποτρέπουν την αλλαγή του σχήματος ενός πίνακα, ενώ οι γραμμές ενημερώνονται σε μια συναλλαγή.
Μπορείτε να υποβάλετε ερωτήματα που διατηρούνται αυτήν τη στιγμή με τη δυναμική προβολή διαχείρισης (DMV) sys.dm_tran_locks.
Οι διενέξεις από δύο ή περισσότερες ταυτόχρονες συναλλαγές που ενημερώνουν μία ή περισσότερες γραμμές σε έναν πίνακα αξιολογούνται στο τέλος της συναλλαγής. Η πρώτη συναλλαγή που ολοκληρώθηκε με επιτυχία και οι άλλες συναλλαγές επιστρέφονται με ένα σφάλμα που επιστρέφεται. Αυτές οι διενέξεις αξιολογούνται σε επίπεδο πίνακα και όχι σε επίπεδο μεμονωμένου αρχείου parquet.
Οι προτάσεις ΕΙΣΑΓΩΓΉς δημιουργούν πάντα νέα αρχεία parquet, το οποίο σημαίνει λιγότερες διενέξεις με άλλες συναλλαγές εκτός από την DDL, επειδή το σχήμα του πίνακα θα μπορούσε να αλλάζει.
Καταγραφή συναλλαγών
Η καταγραφή συναλλαγών στο Warehouse στο Microsoft Fabric βρίσκεται στο επίπεδο αρχείου παρκέ, επειδή τα αρχεία parquet είναι αμετάβλητα (δεν μπορούν να αλλάξουν). Μια επαναφορά έχει ως αποτέλεσμα να παραπέμπει προς τα προηγούμενα αρχεία parquet. Τα οφέλη αυτής της αλλαγής είναι ότι η καταγραφή συναλλαγών και οι επαναλήψεις είναι ταχύτερες.
Περιορισμοί
- Οι κατανεμημένες συναλλαγές δεν υποστηρίζονται.
- Η αποθήκευση σημείων δεν υποστηρίζεται.
- Δεν υποστηρίζονται επώνυμες συναλλαγές.
- Οι συναλλαγές με σήμανση δεν υποστηρίζονται.
- Η συνάρτηση ALTER TABLE δεν υποστηρίζεται εντός μιας ρητής συναλλαγής.
- Προς το παρόν, υπάρχει περιορισμένη λειτουργικότητα T-SQL στην αποθήκη. Ανατρέξτε στο θέμα Περιοχή επιφάνειας TSQL για μια λίστα εντολών T-SQL που δεν είναι διαθέσιμες αυτήν τη στιγμή.
- Εάν μια συναλλαγή έχει εισαγωγή δεδομένων σε έναν κενό πίνακα και εκδίδει μια SELECT πριν από την επαναφορά της, τα στατιστικά στοιχεία που δημιουργούνται αυτόματα εξακολουθούν να αντικατοπτρίζουν τα μη δεσμευμένα δεδομένα, προκαλώντας ανακριβή στατιστικά στοιχεία. Ανακριβή στατιστικά στοιχεία μπορεί να οδηγήσουν σε μη βελτιστοποιημένα σχέδια ερωτημάτων και χρόνους εκτέλεσης. Εάν επαναφέρετε μια συναλλαγή με SELECTs μετά από μια μεγάλη ΕΙΣΑΓΩΓΉ, ενημερώστε τα στατιστικά στοιχεία για τις στήλες που αναφέρονται στην SELECT.