CLOB와 BLOB은 대용량 데이터를 처리할 수 있는 용량과 관련된 한계를 극복하기 위해 개발되었습니다. 이 둘은 일반적으로 수십 메가바이트에서 기가바이트에 이르는 데이터를 저장하는 데 사용됩니다.
CLOB (Character Large Object):
CLOB은 큰 문자열 데이터를 저장하기 위한 데이터 유형입니다. 일반적으로 매우 큰 텍스트 문서나 XML과 같은 데이터를 저장하는 데 사용됩니다. 대부분의 데이터베이스 시스템에서 멀티바이트 문자집합을 지원하기 때문에, 다양한 언어로 된 대용량 텍스트를 저장하는 데 유용합니다.
CLOB 데이터는 일반적으로 일반 텍스트와 같이 검색, 비교 및 조작이 가능하며, 데이터베이스 관리 시스템(DBMS)의 텍스트 처리 함수를 사용해 이러한 작업을 수행할 수 있습니다.
BLOB (Binary Large Object):
BLOB은 큰 이진 데이터를 저장하기 위한 데이터 유형입니다. 일반적으로 이미지, 오디오 파일, 비디오 파일, 디지털 인증서, 프로그램 파일 등의 이진 데이터를 저장하는 데 사용됩니다.
BLOB 데이터는 이진 데이터이기 때문에, 일반 텍스트처럼 검색이나 조작이 어렵습니다. 즉, BLOB 데이터에 대한 조작은 데이터를 읽고 쓰는 것에 한정되며, 이러한 작업은 데이터베이스 시스템의 이진 데이터 처리 기능을 사용해 수행됩니다.
Oracle 데이터베이스에서도 CLOB와 BLOB 데이터 유형을 지원합니다. 이 두 유형은 Oracle 데이터베이스에서 대용량 데이터를 저장하고 처리하는 데 사용됩니다.
CLOB (Character Large Object) : Oracle에서는 CLOB을 사용하여 최대 4GB의 문자 데이터를 저장할 수 있습니다. 이는 텍스트나 XML과 같은 큰 문자 데이터를 저장하는 데 사용됩니다.
BLOB (Binary Large Object) : Oracle에서 BLOB은 이진 데이터를 저장하는 데 사용되며, 최대 4GB의 이진 데이터를 저장할 수 있습니다. 이는 대형 이미지, 비디오, 오디오 파일, PDF 등을 저장하는 데 사용됩니다.
Oracle 데이터베이스에서는 DBMS_LOB 패키지를 제공하여 LOB 데이터를 처리할 수 있습니다. 이 패키지를 사용하면 LOB 데이터를 읽고 쓰는 작업을 수행하거나, LOB 데이터를 처리하는 데 필요한 여러 가지 기능을 사용할 수 있습니다.
또한, Oracle에서는 TO_CLOB이나 TO_BLOB과 같은 함수를 제공하여 다른 데이터 유형을 LOB 데이터 유형으로 변환할 수 있습니다. 이러한 기능을 사용하면 데이터베이스에서 다양한 데이터 유형을 쉽게 처리하고 관리할 수 있습니다.