데이터베이스/DB 필수지식!

데이터베이스 대용량 저장소 CLOB & BLOB 차이점과 실전 사용법 - 코드카인 티스토리

CodeCaine Explorer 2025. 2. 11. 16:48
SMALL

CLOB과 BLOB: 차이점과 활용법

CLOB(Character Large Object)과 BLOB(Binary Large Object)은 데이터베이스에서 대용량 데이터를 저장하기 위한 특수한 데이터 타입입니다. 둘 다 일반적인 문자열이나 숫자 데이터 타입으로 처리하기 어려운 대량의 데이터(이미지, 문서, 비디오, 텍스트 등) 를 저장하는 데 사용됩니다.


📌 CLOB(Character Large Object)이란?

CLOB대용량의 텍스트 데이터를 저장하는 데이터 타입입니다. 보통 수 MB에서 수 GB까지 저장할 수 있으며, VARCHARTEXT 타입으로 저장하기 어려운 장문 텍스트, JSON, XML 같은 데이터를 처리하는 데 적합합니다.

🔹 CLOB의 특징

  • 문자 데이터 저장 (텍스트 기반)
  • 최대 수 GB까지 저장 가능 (DBMS에 따라 다름)
  • SQL 문을 통해 쉽게 조회 가능
  • JSON, XML, HTML 같은 구조화된 텍스트 저장에 적합

🔹 CLOB 활용 예시

  • 게시판의 긴 글 (블로그, 뉴스 기사)
  • 로그 데이터 (대용량 이벤트 로그)
  • JSON/XML 데이터 저장 (API 응답값 저장)

📌 BLOB(Binary Large Object)이란?

BLOB이진 데이터를 저장하는 데이터 타입입니다. 즉, 텍스트가 아닌 이미지, 동영상, 오디오, PDF, ZIP 파일 같은 멀티미디어 및 바이너리 데이터를 저장하는 데 사용됩니다.

🔹 BLOB의 특징

  • 바이너리 데이터 저장 (이미지, 영상, 음악, 압축파일 등)
  • 최대 수 GB까지 저장 가능 (DBMS에 따라 다름)
  • SQL 문으로 직접 조회 불가 (응용 프로그램을 통해 변환해야 함)
  • 파일 업로드 및 다운로드 기능이 있는 애플리케이션에서 자주 사용

🔹 BLOB 활용 예시

  • 사용자 프로필 사진 저장
  • PDF, Word 문서 저장
  • 음성 녹음 파일 저장
  • 의료 영상 데이터 저장(MRI, CT 스캔 파일)


🛠 CLOB & BLOB 데이터베이스 사용 예제

✅ CLOB 데이터 삽입 및 조회 (MySQL 예제)

CREATE TABLE articles (
    id INT PRIMARY KEY AUTO_INCREMENT,
    title VARCHAR(255),
    content CLOB
);

INSERT INTO articles (title, content)
VALUES ('블로그 글', '이것은 CLOB 데이터 타입을 이용한 긴 텍스트 예제입니다.');

SELECT title, content FROM articles;

🔹 CLOB 타입은 긴 텍스트 데이터를 저장할 때 사용됩니다. TEXT 타입보다 더 큰 데이터를 저장할 수 있습니다.


✅ BLOB 데이터 삽입 및 조회 (MySQL 예제)

CREATE TABLE files (
    id INT PRIMARY KEY AUTO_INCREMENT,
    file_name VARCHAR(255),
    file_data BLOB
);

🔹 BLOB 타입은 이미지나 문서를 직접 저장하는 용도로 사용됩니다.

🔹 BLOB에 이미지 저장 (Java 예제)

PreparedStatement pstmt = connection.prepareStatement("INSERT INTO files (file_name, file_data) VALUES (?, ?)");
pstmt.setString(1, "example.png");
FileInputStream fis = new FileInputStream("C:/images/example.png");
pstmt.setBinaryStream(2, fis, fis.available());
pstmt.executeUpdate();

🔹 Java에서 setBinaryStream()을 이용하여 BLOB 데이터를 삽입할 수 있습니다.


🚀 CLOB vs BLOB, 언제 사용해야 할까?

CLOB을 사용해야 할 때

  • 긴 텍스트 데이터를 저장해야 한다면 (블로그, JSON, XML)
  • 데이터가 문자 기반이라면
  • SQL로 쉽게 조회해야 한다면

BLOB을 사용해야 할 때

  • 이미지, 동영상, 음성 파일 같은 멀티미디어 데이터를 저장해야 한다면
  • 파일을 저장하고 다운로드 기능이 필요하다면
  • 데이터가 바이너리 형식이라면

😊 마무리하며..

CLOB과 BLOB은 데이터베이스에서 대용량 데이터를 저장할 때 필수적인 개념입니다. 텍스트 데이터를 저장할지, 바이너리 데이터를 저장할지에 따라 적절한 타입을 선택하면 효율적인 데이터 관리를 할 수 있습니다. 💡

만약 DB 설계에서 "어떤 데이터를 저장할 것인가?" 고민된다면 텍스트 기반이면 CLOB, 이미지·영상 등 바이너리라면 BLOB을 선택하면 됩니다. 🚀

📌 오늘도 성장하는 개발자가 되어봅시다! 😊🔥

728x90
반응형
SMALL