Τι είναι το UUID v6;
Έκδοση UUID 6 είναι ένας χρονικά βασισμένος 128-bit αναγνωριστικός κωδικός (36-χαρακτήρων συμβολοσειρά) που προτάθηκε ως βελτίωση του UUID v1. Αποτελείται από:
- Αναδιατεταγμένο χρονικό σήμα: 60-bit χρονικό σήμα από το πιο σημαντικό στο λιγότερο σημαντικό
- Ακολουθία ρολογιού: 14-bit μετρητής για ρυθμίσεις ρολογιού
- Αναγνωριστικό κόμβου: 48-bit τιμή (συνήθως διεύθυνση MAC)
Παράδειγμα μορφής: 1eb527d6-e927-6511-9a03-0242ac130003
Πώς λειτουργεί το UUID v6
- Υπολογισμός τρέχοντος χρονικού σήματος (διαστήματα 100ns από 15-10-1582)
- Αναδιάταξη bits χρονικού σήματος για καλύτερη ταξινόμηση (πρώτα τα πιο σημαντικά bits)
- Λήψη/αύξηση 14-bit ακολουθίας ρολογιού (για μοναδικότητα αν το ρολόι γυρίσει πίσω)
- Λήψη 48-bit αναγνωριστικού κόμβου (συνήθως από διεύθυνση MAC)
- Ορισμός bits έκδοσης (0110) και bits παραλλαγής (10)
- Συναρμολόγηση ως 32 δεκαεξαδικά ψηφία με παύλες: μορφή 8-4-4-4-12
Πλεονεκτήματα & Σκέψεις
Advantages | Considerations |
---|---|
|
|
Δομή UUID v6
Bits | Content |
---|---|
0-47 | Υψηλά 48 bits χρονικού σήματος |
48-51 | Έκδοση (0110 για v6) |
52-59 | Χαμηλά 8 bits χρονικού σήματος |
60-63 | Υψηλά 4 bits χρονικού σήματος |
64-65 | Παραλλαγή (10 για RFC4122) |
66-79 | Ακολουθία ρολογιού (14 bits) |
80-127 | Αναγνωριστικό κόμβου (48 bits) |
UUID v6 έναντι άλλων εκδόσεων
Version | Βασίζεται σε | Περίπτωση χρήσης | Privacy |
---|---|---|---|
UUID v1 | Χρόνος + MAC | Χρονοταξινομημένα IDs | ⚠️ Αποκαλύπτει MAC |
UUID v3 | Namespace + MD5 | Ντετερμινιστικά IDs | ✅ Ιδιωτικό |
UUID v4 | Random | Ασφαλή τυχαία IDs | ✅ Ιδιωτικό |
UUID v5 | Namespace + SHA-1 | Ντετερμινιστικά IDs | ✅ Ιδιωτικό |
UUID v6 | Χρόνος (αναδιατεταγμένος) | Ταξινομήσιμα IDs | ⚠️ Αποκαλύπτει MAC |
UUID v7 | Χρόνος + τυχαίο | Ταξινομήσιμα IDs | ✅ Ιδιωτικό |
Συνηθισμένες περιπτώσεις χρήσης
- Χρονοταξινομημένα κλειδιά βάσης δεδομένων: Για χρονολογική ταξινόμηση
- Κατανεμημένες βάσεις δεδομένων: Με χρονοταξινομημένη ευρετηρίαση
- Καταχωρήσεις καταγραφής: Με φυσική χρονολογική σειρά
- Ιχνη αδειών: Με ενσωματωμένα χρονικά σήματα
- Ουρές μηνυμάτων: Για επεξεργασία βάσει χρόνου
- Αρχεία συναλλαγών: Με χρονολογική ταξινόμηση
Συχνές ερωτήσεις
Ποια είναι η διαφορά μεταξύ UUID v1 και v6;
Το UUID v6 αναδιατάσσει τα bits του χρονικού σήματος από το UUID v1 για να το κάνει φυσικά ταξινομήσιμο σε λεξικογραφική σειρά. Το περιεχόμενο είναι ίδιο με το v1, απλώς αναδιατεταγμένο.
Είναι το UUID v6 επίσημο πρότυπο;
Το UUID v6 είναι επί του παρόντος προσχέδιο προδιαγραφής στο προτεινόμενο έγγραφο RFC 4122bis. Δεν είναι ακόμη επίσημο πρότυπο RFC αλλά υλοποιείται σε πολλές βιβλιοθήκες UUID.
Μπορώ να εξάγω τον χρόνο δημιουργίας από το UUID v6;
Ναι. Το συστατικό χρονικού σήματος μπορεί να εξαχθεί από τα bits 0-59 και να μετατραπεί ξανά σε τιμή ημερομηνίας και ώρας.
Είναι τα UUID v6 ταξινομήσιμα κατά χρόνο δημιουργίας;
Ναι. Σε αντίθεση με το v1, το UUID v6 τοποθετεί τα bits του χρονικού σήματος από το πιο σημαντικό στο λιγότερο σημαντικό, επιτρέποντας άμεση λεξικογραφική (συμβολοσειρά) σύγκριση που αντιστοιχεί στη χρονολογική σειρά.
Αποκαλύπτει το UUID v6 τη διεύθυνση MAC μου;
Κατά προεπιλογή, ναι. Όπως το UUID v1, οι περισσότερες υλοποιήσεις χρησιμοποιούν τη διεύθυνση MAC για το αναγνωριστικό κόμβου. Υλοποιήσεις με επίκεντρο το απόρρητο μπορεί να χρησιμοποιούν τυχαία αναγνωριστικά κόμβου.