UUID 는 간단하게 범용 고유 식별자라고 생각하면 편할것 같습니다.
예를 들어 내가 뭔가 만들 때마다 식별할 수 있는 고유값을 만들고 싶다면 사용하면 됩니다.
문서를 만들고 문서의 고유 식별자를 만들 때도,
회원가입을 하고 유저의 고유 식별자를 만들 때도
UUID 를 만드는 함수 하나 가져와서 그냥 쓰면 만사 ok.
물론 UUID 는 유일을 보장 한다는 것은 아닙니다.. UUID 는 실질적으로 유일함 을 목적으로 하고 있고 실제로 대부분의 상황에서 그러합니다.
이게 가능한 이유가 UUID 는 16 바이트의 문자로 이루어집니다. 비교해보자면 c 언어에서 integer 타입은 대략 -21억 ~ 21억 사이로 표현이 가능합니다.
반면 UUID 는 10의 38승까지, 정확히 340,282,366,920,938,463,463,374,607,431,768,211,456 개가 생성 가능합니다.
감이오시쥬~??
Auto increment primary key 는 프로그램적으로 문제가 없는 한, 유일을 보장 합니다.
다만 너무 많은 id가 생성되면 아닐 보장하지 않을 수도 있습니다. 하지만 우리는 40억개 이상 생성하지 않을꺼야!! 라고 생각하고... 또한 키를 Integer 가 아니라 더 큰 타입으로도 생성할 수 있기 때문에...
단순히 1부터 시작해서 숫자를 늘려가거나, 원하는 숫자의 식별자를 만들어내는 방식입니다.
사실 id 숫자가 40억개 이상 쓸 일이 없을거야!! 하면 그냥 Auto Increment 쓰셔도 무방합니다.
필요에 따라 UUID 를 쓰세요!! 꼭 UUID 일 필요는 없습니다. 상황에 맞게 쓰시면 될거 같네요!
피드백은 항상 환영입니다!!
필요에 따라 적절한 사용을 하는게 좋겠네요. 일반 포폴이나 작은 단위의 프로젝트에서는 굳이
uuid
를 안써도 괜찮겠네요.좋은 글 감사합니다.