UUID
Universally Unique Identifiers, 범용 고유 식별자를 뜻한다. 고유 식별이 가능해야 하는 중요한 Key값들을 중복이 없게 규칙에 따라 난수를 생성해 사용하는 값이다.
완전히 중복을 배제하는 것은 아니지만 높은 확률로 중복을 방지해준다. C#에서는 비슷한 기능으로 GUID 메서드가 존재한다.
JAVA에서 어떻게 UUID를 생성하는지 알아보자
import java.util.UUID;
public class Test {
public static void main(String[] args) {
String id = UUID.randomUUID().toString();
}
}
UUID.randomUUID() 는 UUID 형태의 값을 생성해주는데, 해당 속성을 컨트롤하는건 아무래도 문자열인 String으로 바꿔주는 것이 좋기때문에 toString()을 붙이는 것이지 꼭 해당 형태를 취급해야하는 건 아니다.
UUID는 해당 값 자체가 상당히 길기때문에 그만큼 중복이 방지되는 값이기도 하다. 서비스 자체가 엄청 큰 대형 서비스라면 해당 UUID의 사용이 강제될 수 있지만, 소규모의 서비스, 회사 같은 경우는 굳이 UUID를 사용하면 리소스의 낭비라는 입장도 많다.
그러나, 여러 서비스에서 공통적인 포맷으로 사용되는 고유키라는 점은 매력적인 부분이다. 여러 서비스에서 통합해 작업하는 경우들에서 표준화된 값을 사용한다면 한층 편리하다.
데이터를 다시 통합하고 분산하는 경우에도 이에 해당한다. 만약 규모가 크더라도, 데이터를 통합하거나 분산하고 시스템이 단일운영이라면 굳이 UUID를 사용하거나 난수 Key를 입력받지 않고 유니크한 값 하나를 증가시키는것이 낫다.
즉, 실제로 다른 방식으로 여러가지 키를 동시에 입력 받는것으로 고유 아이디를 식별할 수 있고, 단순히 식별만을 위해서라면 UUID를 사용할 이유가 없다는 부분이다.
사용할 이유를 잘 찾아보고, 해당한다면 사용하도록 해야한다.
'SpringBoot > Java' 카테고리의 다른 글
java 백엔드 개발자 면접 질문 (1) (0) | 2023.06.15 |
---|---|
Java 8 Stream ( 자바 8 스트림, 람다 ) (0) | 2023.06.04 |
Java - Spring // Stream, Assertions (0) | 2022.12.16 |
22.11.17 Java 백준 1110번 더하기 사이클 (0) | 2022.11.17 |
22.11.09 Java (0) | 2022.11.10 |