Przejdź do głównej treści

Czym jest UUID?

UUID (Universally Unique Identifier) to 128-bitowa etykieta używana do identyfikacji informacji w systemach komputerowych. Termin GUID (Globally Unique Identifier) jest również używany, szczególnie w systemach Microsoft.

Struktura UUID

Standardowy UUID wygląda tak: 550e8400-e29b-41d4-a716-446655440000. Składa się z 32 cyfr szesnastkowych wyświetlanych w 5 grupach oddzielonych myślnikami (8-4-4-4-12).

550e8400-e29b-41d4-a716-446655440000
time_low (8) time_mid (4) time_hi_version (4) clock_seq (4) node (12)

Dlaczego warto używać UUID?

Unikalność we wszystkich systemach bez centralnego autorytetu
Można generować offline
Idealny dla rozproszonych baz danych
Brak sekwencyjnych wzorców do przewidzenia
Standardowy format rozpoznawany na całym świecie

Typowe zastosowania

1
Klucze główne w bazach danych
2
Identyfikatory sesji
3
Śledzenie żądań API
4
Nazewnictwo plików w systemach storage
5
Synchronizacja systemów rozproszonych

Szczegóły techniczne

Rozmiar i format

  • 128 bits (16 bytes) całkowita długość
  • 32 znaki szesnastkowe
  • 36 znaków z myślnikami
  • Standardowy format zgodny z RFC 4122

Prawdopodobieństwo kolizji

Przy UUID v4, musiałbyś wygenerować około 2.71 × 1018 UUID, aby mieć 50% szans na jedną kolizję. To odpowiednik generowania 1 miliarda UUID na sekundę przez około 85 lat.

Zgodność

UUID są obsługiwane natywnie w większości nowoczesnych baz danych (PostgreSQL, MySQL 8.0+, SQL Server, Oracle) oraz w językach programowania (Java, Python, JavaScript, PHP, C#, Go, Rust).