프로그래밍 노트
  • CLOB과 BLOB
    2025년 04월 08일 14시 26분 41초에 업로드 된 글입니다.
    작성자: Jeyeon

    대용량 데이터를 저장하고 처리할 때 CLOBBLOB은 매우 유용한 데이터 타입이다. 각각의 특징과 용도를 자세히 살펴보면, 어떤 상황에서 어느 타입을 선택해야 할지 명확해진다.

    발음 참고: 흔히 "클롭, 블롭"으로 읽히지만, Oracle 공식 문서에 따르면 올바른 발음은 '씨랍'과 '비랍'이다.

    https://docs.oracle.com/cd/E11882_01/appdev.112/e18294/glossary.htm

    CLOB의 특징

    CLOB (Character Large Object)는 대량의 텍스트 데이터를 저장할 수 있는 데이터 타입이다.

    • 저장 용량: 일반적으로 최대 4GB까지 저장 가능하며, 데이터베이스 시스템에 따라 다를 수 있다.
    • 용도: 긴 문서, HTML/XML 문서, 다양한 언어(UTF-8, UTF-16 등)로 된 콘텐츠 등 대용량 텍스트 데이터 관리에 최적화되어 있다.
    • 기능: 텍스트 검색과 조작이 용이해 문서 버전 관리나 콘텐츠 관리 시스템(CMS)에서 효과적으로 활용된다.

    BLOB의 특징

    BLOB (Binary Large Object)는 이미지, 오디오, 비디오 등 이진 데이터를 저장하는 데 적합한 데이터 타입이다.

    • 저장 용량: 텍스트 데이터와 마찬가지로 대략 최대 4GB까지 저장 가능하며, 데이터베이스 시스템에 따라 다를 수 있다.
    • 용도: 멀티미디어 파일이나 기타 이진 데이터(실제 파일의 원본 형식 그대로)가 필요한 상황에서 주로 사용된다.
    • 기능: 원본 이진 데이터를 그대로 저장하여, 후에 파일의 형식이나 내용에 영향을 주지 않고 활용할 수 있다.

    CLOB과 BLOB 사용 사례

    두 데이터 타입은 사용 목적에 따라 적용 분야가 명확히 구분된다.

    BLOB 사용에 적합한 경우:

    • 멀티미디어 콘텐츠: 웹사이트의 사용자 업로드 이미지, 동영상, 오디오 파일 등 미디어 파일 저장
    • 원본 데이터 보존: 파일의 형식을 변형 없이 그대로 저장해야 하는 경우
    • 통합 백업과 복구: 데이터베이스 수준에서 파일과 메타데이터를 함께 백업하여 일관성 유지

     

    CLOB 사용에 적합한 경우:

    • 문서 저장 및 관리: 긴 텍스트 문서, 보고서, 리뷰나 게시글 등 대용량 텍스트 저장
    • 전문 검색 기능: 텍스트 내에서 특정 단어나 구문 검색
    • 콘텐츠 관리 시스템: HTML이나 XML 기반 문서 파싱 및 버전 관리가 필요한 콘텐츠 처리

     

    일반적으로 대용량 파일은 파일 시스템에 저장하고, 해당 파일의 메타데이터만 데이터베이스에 기록하는 방식이 성능과 관리 측면에서 더 효율적일 수 있다.

     

    데이터베이스 설계 시에는 저장할 데이터의 유형, 접근 방식, 백업 및 복구 필요성 등을 종합적으로 고려해야 한다.

    특히 대규모 파일 저장의 경우, 단순 데이터베이스 저장보다는 파일 시스템과의 하이브리드 방식을 고려하여 성능 및 운영 비용 면에서 최적의 방안을 마련하는 것이 중요하다.

    댓글