Γεννήτρια UUID Έκδοσης 6 (Ταξινομημένη Χρονική Σφραγίδα)

Δημιουργήστε UUID με ταξινομημένη χρονική σφραγίδα βελτιστοποιημένα για ευρετηρίαση βάσεων δεδομένων

Δοκιμάστε αυτά τα παραδείγματα:

Τι είναι το UUID v6;

Έκδοση UUID 6 είναι ένας χρονικά βασισμένος 128-bit αναγνωριστικός κωδικός (36-χαρακτήρων συμβολοσειρά) που προτάθηκε ως βελτίωση του UUID v1. Αποτελείται από:

  • Αναδιατεταγμένο χρονικό σήμα: 60-bit χρονικό σήμα από το πιο σημαντικό στο λιγότερο σημαντικό
  • Ακολουθία ρολογιού: 14-bit μετρητής για ρυθμίσεις ρολογιού
  • Αναγνωριστικό κόμβου: 48-bit τιμή (συνήθως διεύθυνση MAC)

Παράδειγμα μορφής: 1eb527d6-e927-6511-9a03-0242ac130003

Πώς λειτουργεί το UUID v6

  1. Υπολογισμός τρέχοντος χρονικού σήματος (διαστήματα 100ns από 15-10-1582)
  2. Αναδιάταξη bits χρονικού σήματος για καλύτερη ταξινόμηση (πρώτα τα πιο σημαντικά bits)
  3. Λήψη/αύξηση 14-bit ακολουθίας ρολογιού (για μοναδικότητα αν το ρολόι γυρίσει πίσω)
  4. Λήψη 48-bit αναγνωριστικού κόμβου (συνήθως από διεύθυνση MAC)
  5. Ορισμός bits έκδοσης (0110) και bits παραλλαγής (10)
  6. Συναρμολόγηση ως 32 δεκαεξαδικά ψηφία με παύλες: μορφή 8-4-4-4-12

Πλεονεκτήματα & Σκέψεις

AdvantagesConsiderations
  • Λεξικογραφικά ταξινομήσιμο
  • Ενσωματωμένος χρόνος δημιουργίας
  • Υψηλή απόδοση δημιουργίας
  • Κατανεμημένη δημιουργία
  • Ανησυχίες απορρήτου διεύθυνσης MAC
  • Προβλήματα συγχρονισμού ρολογιού
  • Πιο προβλέψιμο από τυχαία UUID
  • Κατάσταση προσχεδίου προδιαγραφής

Δομή UUID v6

BitsContent
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 v3Namespace + MD5Ντετερμινιστικά IDs✅ Ιδιωτικό
UUID v4RandomΑσφαλή τυχαία IDs✅ Ιδιωτικό
UUID v5Namespace + 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 για το αναγνωριστικό κόμβου. Υλοποιήσεις με επίκεντρο το απόρρητο μπορεί να χρησιμοποιούν τυχαία αναγνωριστικά κόμβου.

Resources