Η Google Cloud αλλάζει τον τρόπο με τον οποίο το Spanner διαχειρίζεται τις μεγάλες συναλλαγές DML, αφαιρώντας το σωρευτικό όριο των 80.000 μεταβολών σε επίπεδο συναλλαγής. Η νέα λειτουργία δίνει στις εφαρμογές μεγαλύτερη ευελιξία, χωρίς να απαιτεί αναβάθμιση βιβλιοθηκών ή αλλαγή του υπάρχοντος κώδικα.
Μέχρι σήμερα, το Spanner υπολόγιζε συνολικά τις μεταβολές που δημιουργούσαν όλες οι εντολές DML μέσα στην ίδια συναλλαγή. Το ανώτατο όριο ήταν 80.000 «mutation mods», ένας αριθμός που προκύπτει από τα κελιά, τα πρωτεύοντα κλειδιά και τους δευτερεύοντες δείκτες που επηρεάζονται. Καθώς μια εφαρμογή μεγάλωνε, ακόμη και μια συναλλαγή που αρχικά ήταν μικρή μπορούσε τελικά να φτάσει αυτό το όριο και να χρειαστεί τεχνητό διαχωρισμό.
Με τη νέα πολιτική, το όριο δεν εφαρμόζεται πλέον αθροιστικά σε ολόκληρη τη συναλλαγή, αλλά ξεχωριστά σε κάθε εντολή DML. Μία συναλλαγή μπορεί επομένως να περιλαμβάνει οποιονδήποτε αριθμό εντολών INSERT, UPDATE ή DELETE, αρκεί καθεμία από αυτές να παράγει λιγότερες από 80.000 μεταβολές. Έτσι, οι προγραμματιστές μπορούν να ομαδοποιούν τις ενέργειες σύμφωνα με τις ανάγκες της εφαρμογής και όχι σύμφωνα με έναν ενιαίο τεχνικό περιορισμό.
Η Google επισημαίνει ότι η αλλαγή είναι συμβατή με όλες τις υπάρχουσες βιβλιοθήκες πελάτη του Spanner και ενεργοποιείται χωρίς τροποποίηση στον κώδικα. Αυτό είναι ιδιαίτερα σημαντικό για τραπεζικές, εμπορικές και άλλες κρίσιμες εφαρμογές που χρειάζονται συναλλαγές ACID: είτε ολοκληρώνονται όλες οι σχετικές ενημερώσεις είτε δεν εφαρμόζεται καμία, διατηρώντας συνεπή τα δεδομένα.
Υπάρχουν, ωστόσο, όρια που παραμένουν. Μία μεμονωμένη εντολή DML δεν μπορεί να ξεπεράσει τις 80.000 μεταβολές, ενώ εξακολουθούν να ισχύουν περιορισμοί όπως το μέγιστο μέγεθος commit των 100 MiB. Η τροποποίηση δεν αλλάζει επίσης τη λειτουργία του Mutation API: όταν οι μεταβολές υποβάλλονται μαζί κατά το commit μέσω των αντίστοιχων μεθόδων μιας βιβλιοθήκης, το όριο των 80.000 συνεχίζει να αφορά ολόκληρο το σύνολο.
Οι μεγαλύτερες συναλλαγές χρειάζονται και προσεκτική διαχείριση. Όσο αυξάνεται η διάρκειά τους, τόσο περισσότερο διατηρούν κλειδώματα, γεγονός που μπορεί να προκαλέσει ανταγωνισμό για τους ίδιους πόρους ή ακυρώσεις συναλλαγών. Η Google συνιστά παρακολούθηση του πεδίου mutation_count μέσω των CommitStats, διατήρηση σύντομων συναλλαγών όπου είναι δυνατόν και χρήση Partitioned DML ή τμηματικής επεξεργασίας όταν μία εντολή υπερβαίνει μόνη της το επιτρεπόμενο όριο.
Η αναβάθμιση απλοποιεί κυρίως σύνθετες ροές εργασίας, όπως μια αγορά με πολλαπλές ενημερώσεις αποθέματος, παραγγελίας και ελέγχου απάτης. Οι ομάδες ανάπτυξης αποκτούν περισσότερο χώρο για λογικά ενιαίες συναλλαγές, διατηρώντας ταυτόχρονα τη συνέπεια και την οριζόντια κλιμάκωση του Spanner.
Πηγές: Google Cloud Blog, 9 Σεπτεμβρίου 2026, Google Cloud — Όρια και ποσοστώσεις Spanner.






