Το Universally Unique Identifier (UUID), γνωστό και ως Globally Unique Identifier (GUID), έχει χρησιμοποιηθεί ευρέως σε συστήματα υπολογιστών.
Είναι ένας κώδικας 128-bit που δημιουργείται από το σύστημα με βάση μεταβλητές και σταθερές: τρέχουσα ώρα, διεύθυνση MAC, κατακερματισμός SHA-1, χώρος ονομάτων MD5. Το τελικό αποτέλεσμα της δημιουργίας ενός UUID, που εμφανίζεται ως αλφαριθμητικός κώδικας 32 χαρακτήρων που χωρίζεται με παύλες, μπορεί να φαίνεται αυθαίρετο, αλλά στην πραγματικότητα είναι το αποτέλεσμα πολύπλοκων υπολογισμών. Έτσι, ένας υπολογιστής δεν «εφευρίσκει» έναν κωδικό, αλλά τον σχηματίζει από συγκεκριμένες τεχνικές ποσότητες που είναι σχετικές σε μια δεδομένη στιγμή.
Η πιθανότητα να δημιουργηθεί το ίδιο UUID σε δύο διαφορετικούς υπολογιστές σε διαφορετικούς χρόνους τείνει στο μηδέν, γεγονός που καθιστά δυνατή τη χρήση των κωδικών που προκύπτουν για την αναγνώριση σημείου/τοπικών δεδομένων χωρίς αναφορά στο κέντρο συντονισμού. Σήμερα, το UUID/GUID είναι πανταχού παρόν τόσο σε διαδικτυακά όσο και εκτός σύνδεσης δίκτυα και λειτουργεί αποτελεσματικά όχι μόνο στον παγκόσμιο χώρο του Διαδικτύου, αλλά και σε αυτόνομα συστήματα υπολογιστών.
Ιστορικό UUID
Οι κωδικοί UUID 128 bit χρησιμοποιήθηκαν για πρώτη φορά από την αμερικανική εταιρεία Apollo Computer τη δεκαετία του 1980. Βασίστηκαν στους απλούστερους κώδικες 64-bit που χρησιμοποιούνται στο Domain/OS και βρήκαν ευρεία χρήση στο υπολογιστικό περιβάλλον του Open Software Foundation.
Με την εμφάνιση των πρώτων πλατφορμών των Windows, το παγκοσμίως μοναδικό αναγνωριστικό γενικεύτηκε και τυποποιήθηκε. Η Microsoft υιοθέτησε το σχέδιο DCE από το Apollo Computer και κατοχύρωσε τον χώρο ονομάτων URN στο RFC 4122. Το 2005, το τελευταίο προτάθηκε ως νέο πρότυπο από το IETF και το UUID τυποποιήθηκε εντός της ITU.
Νωρίτερα το 2002, εντοπίστηκαν ζητήματα απόδοσης συστήματος κατά τη χρήση των UUID ως πρωταρχικών κλειδιών σε τοπικές βάσεις δεδομένων. Αυτά διορθώθηκαν στην έκδοση 4 προσθέτοντας ένα μη τυχαίο επίθημα με βάση την ώρα συστήματος του υπολογιστή. Η λεγόμενη προσέγγιση COMB (Combined GUID Time Identifier) αύξησε τους κινδύνους αντιγραφής κώδικα, αλλά ταυτόχρονα βελτίωσε σημαντικά την απόδοση κατά την εργασία με τον Microsoft SQL Server.
Με την ανάπτυξη των τεχνολογιών πληροφορικής, το καθολικό μοναδικό αναγνωριστικό έπαψε να είναι ένα εξαιρετικά εξειδικευμένο τεχνικό εργαλείο και σήμερα όλοι μπορούν να το χρησιμοποιούν. Η πιθανότητα επανάληψης των δημιουργούμενων κωδικών δεν είναι ίση με το μηδέν, αλλά τείνει προς αυτήν, και κάθε ψηφιακή πληροφορία μπορεί να αναγνωριστεί από αυτούς, μετά την οποία μπορούν να συνδυαστούν σε μεμονωμένες συστοιχίες δεδομένων με ελάχιστους κινδύνους επανάληψης.
Πλεονεκτήματα UUID
Οι δημιουργοί παγκόσμιων μοναδικών κωδικών δεν απαιτούν κεντρική συμφωνία/συγχρονισμό δεδομένων και διατίθενται δωρεάν σε όλους τους χρήστες. Τα κύρια πλεονεκτήματα του UUID περιλαμβάνουν:
- Ελάχιστοι κίνδυνοι "σύγκρουσης" (επανάληψης) κωδικών. Παρά τη μαζική χρήση τους, η πιθανότητα επανάληψης τείνει στο μηδέν.
- Δυνατότητα σύνδεσης διαφορετικών συστοιχιών δεδομένων χρησιμοποιώντας UUID ως κύρια (μοναδικά) κλειδιά.
- Απλοποιημένη διανομή δεδομένων σε πολλούς διασκορπισμένους διακομιστές.
- Δυνατότητα δημιουργίας κωδικών εκτός σύνδεσης.
Οι μοναδικοί κωδικοί αναγνώρισης, γραμμένοι στη μορφή xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx, επιτρέπουν στα διασκορπισμένα συστήματα να αναγνωρίζουν πληροφορίες χωρίς συντονισμό από ένα μόνο κέντρο δεδομένων: με σχεδόν μηδενική πιθανότητα σφαλμάτων/επαναλήψεων. Αυτή η δυνατότητα, μαζί με την ευκολία χρήσης και τις μικρές απαιτήσεις για απόδοση υπολογιστή, καθιστά το UUID σε ζήτηση και απαραίτητο σε μια μεγάλη ποικιλία βιομηχανιών πληροφορικής και αυτόνομων υπολογιστικών συστημάτων.