CLOB과 BLOB: 차이점과 활용법
CLOB(Character Large Object)과 BLOB(Binary Large Object)은 데이터베이스에서 대용량 데이터를 저장하기 위한 특수한 데이터 타입입니다. 둘 다 일반적인 문자열이나 숫자 데이터 타입으로 처리하기 어려운 대량의 데이터(이미지, 문서, 비디오, 텍스트 등) 를 저장하는 데 사용됩니다.
📌 CLOB(Character Large Object)이란?
CLOB은 대용량의 텍스트 데이터를 저장하는 데이터 타입입니다. 보통 수 MB에서 수 GB까지 저장할 수 있으며, VARCHAR
나 TEXT
타입으로 저장하기 어려운 장문 텍스트, 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을 선택하면 됩니다. 🚀
📌 오늘도 성장하는 개발자가 되어봅시다! 😊🔥
'데이터베이스 > DB 필수지식!' 카테고리의 다른 글
온라인 세상을 움직이는 숨은 영웅, DBMS 완벽 가이드 - 코드카인 티스토리 (0) | 2024.12.31 |
---|---|
초보자를 위한 데이터베이스 설계 핵심: Primary Key와 Foreign Key 쉽게 배우기 - 코드카인 티스토리 (0) | 2024.12.31 |
SNS 설계도? ER 다이어그램으로 데이터 관계 쉽게 이해하기 - 코드카인 티스토리 (0) | 2024.12.31 |
당신의 DB가 엉망진창인 이유? 정규화를 모르면 답이 없다! - 코드카인 티스토리 (0) | 2024.12.23 |
데이터베이스와 친구 되기! PL/SQL로 자동화의 세계를 열다 - 코드카인 티스토리 (0) | 2024.12.20 |