UUID는 Universally Unique Identifier의 약자로, 128비트 길이의 숫자이며 범용적으로 고유한 식별자로 사용됩니다. UUID는 고유성을 보장하기 위해 난수 생성 알고리즘이 사용됩니다. UUID는 네트워크 주소와 결합된 시간 구조로 생성되기도 하며, 생성 시간과 MAC 주소와 같은 네트워크 주소가 포함될 수 있습니다.
UUID의 구조와 버전:
UUID는 5개의 하이픈(-)으로 구분되는 32개의 16진수 문자로 표현됩니다. 각 부분은 다음과 같은 길이를 가집니다.
8-4-4-4-12
예시: 550e8400-e29b-41d4-a716-446655440000
UUID의 버전은 여러 가지가 있으며 사용 목적에 따라 서로 다른 생성 방식을 사용합니다.
- 버전 1: 시간 기반 UUID (Timestamp-Based)
- 현재 시간과 고유한 하드웨어 주소(MAC 주소)를 사용하여 UUID를 생성합니다.
- 버전 2: DCE 보안 UUID (DCE Security-Based)
- 버전 1과 비슷하지만 POSIX UID와 GID를 포함한 방식으로 생성합니다.
- 버전 3: 이름 기반 UUID (Name-Based, MD5)
- 특정 이름과 네임스페이스를 이용해 UUID를 생성하며, MD5 해시 알고리즘을 사용합니다.
- 버전 4: 무작위(UUID) (Random-Based)
- 난수를 사용하여 UUID를 생성합니다. 이 버전은 가장 일반적으로 사용되며, 고유성을 보장할 확률이 매우 높습니다.
- 버전 5: 이름 기반 UUID (Name-Based, SHA-1)
- 특정 이름과 네임스페이스를 이용해 UUID를 생성하며, SHA-1 해시 알고리즘을 사용합니다.
UUID의 사용 사례:
- 데이터베이스에서 레코드의 고유 식별자로 사용
- 웹에서 고유한 세션 식별자로 사용
- 파일 이름 생성
- 객체 식별자 저장
- 로그 분석을 위한 고유벤트 식별자 생성
- 분산된 애플리케이션에서 전 세계적으로 고유한 식별자를 제공하는 경우
UUID는 시스템 간 데이터 교환 및 고유성 보장 작업에서 중요한 역할을 하는 식별자입니다. 여러 분야에서 활용되며, 시간과 공간에서의 중복을 없애기 위하여 사용됩니다. 고유한 식별자가 필요한 경우 UUID 기술을 사용하여 안정적이고 신뢰할 수 있는 값을 생성할 수 있습니다.