본문 바로가기
data/sql

Sql 이진 데이터

by 포잉띠 2024. 3. 6.

이진 데이터.

 

이진법으로 저장한 데이터.

 

이게 무슨 소리인가... 어떤 느낌인지 감이 오지않아 여러가지 조사해 보았다.

GPT의 도움을 받았는데  단순히 사람이 봤을 때 '문자' 가 아닌 데이터들을 모두 이진 데이터로 저장하는 것 같다.

 

0, 1로 저장하는 이유는 NLP나 이미지 관련 머신러닝 모델을 만들 때 원 핫 인코딩 과정이 들어가는 것과 같다고 봤다.

 

어떻게 보면 매우 똑똑하지만 반대로 0과 1 바라기인 컴퓨터에게 이미지 파일을 그대로 넘겨주기엔 효율도 좋지 않고 그 파일을 온전히 제대로 이해했는지도 알 수 없다. 이 문제를 해결하기 위해 원 핫 인코딩 과정이 NLP, 이미지 처리에서 빠지지 않는다고 생각한다. 

 

DB저장도 마찬가지로 비디오 파일, 오디오 파일, 이미지 파일을 mp4, mp3, png 파일 그대로 저장했다가는 저장 과정 혹은 조회 과정에서 손실이 날 수도 있고 손실이 나지 않는다고 해도 그 과정이 매우 오래 걸릴 것이다.

이러한 리스크를 지기보다는 차라리 애초에 0과 1로 이루어진 파일들인데 그 0과 1로 된걸 저장하자! 로 시작해서 이 이진 데이터를 저장하기 위해, 관리하기 쉽게 하기 위해 DB에 이진 데이터 타입이 만들어 진게 아닐까 싶다.

 

 

이로써 이진 데이터 타입의 존재 이유에 대한 의문이 풀렸다.

 

왜 이런게 존재하는지 이해하고 나니 이진 데이터 타입의 종류 또한 이해가 쉬웠다.

 

Blob은 문자열 데이터의 text 타입과 결이 같고,

binary는 char,

varbinary는 varchar와 결이 같아 보인다.

다만 문자열 데이터가 아닌 이진 데이터가 들어간다.

 

 

'data > sql' 카테고리의 다른 글

jupyter notebook에서 sql 쓰기  (0) 2024.03.19
MySQL load data  (0) 2024.03.09
Mysql 8.0 Workbench로 로컬 테스트 환경 구축  (0) 2024.03.05
SQL Join  (1) 2024.03.05
sql 문법 정리 2  (0) 2024.03.04