¿Diferencia entre CLOB y BLOB de DB2 y Oracle Perspective?

102

Me han fascinado mucho estos dos tipos de datos. Según Oracle Docs , se presentan de la siguiente manera:

BLOB: cadena de objeto grande binario de longitud variable que puede tener hasta 2 GB (2,147,483,647) de longitud. Principalmente destinado a contener datos no tradicionales, como voz o medios mixtos. Las cadenas BLOB no están asociadas con un juego de caracteres, como ocurre con las cadenas FOR BIT DATA.

CLOB: cadena de objeto grande de caracteres de longitud variable que puede tener hasta 2 GB (2,147,483,647) de longitud. Un CLOB puede almacenar cadenas de caracteres de un solo byte o datos multibyte basados ​​en caracteres. Un CLOB se considera una cadena de caracteres.

Lo que no sé es si hay alguna diferencia entre los dos desde la perspectiva de DB2 y Oracle. Quiero decir, ¿cuáles son las diferencias entre DB2 CLOB y Oracle CLOB, también entre DB2 BLOB y Oracle BLOB? ¿Cuál es el tamaño máximo de ambos en DB2 y Oracle? ¿Son solo 2 GB?

El caballero oscuro
fuente

Respuestas:

40

Pueden considerarse equivalentes. Los límites de tamaño son los mismos:

  • Longitud máxima de CLOB (en bytes u OCTETOS) 2147483647
  • Longitud máxima de BLOB (en bytes) 2147483647

También están los DBCLOB, para caracteres de doble byte.

Referencias:

AngocA
fuente
9
"Pueden considerarse equivalentes" en tamaño . El comportamiento en diferentes tipos de datos contenidos puede ser muy diferente y probablemente debería haberse incluido en su respuesta. La pista está en la primera letra del acrónimo.
underscore_d
110

BLOB es para datos binarios ( videos, imágenes, documentos, otros )

CLOB es para datos de texto grandes ( texto )

Tamaño máximo en MySQL 2GB

Tamaño máximo en Oracle 128TB

científico
fuente
2
Me preocupa por qué esta respuesta tiene relativamente menos reputación. Una respuesta perfecta y simple
sns
7
@sns porque esta es una respuesta muy tardía. La pregunta se publicó hace casi 4 años.
Moira
65

BLOBdestinado principalmente a almacenar datos no tradicionales, como imágenes, videos, voz o medios mixtos. CLOBdestinado a retener datos basados ​​en caracteres.

Dnyaneshwar
fuente
4
La diferencia es evidente cuando tienes que volver a codificarlos o transmitirlos. Los objetos binarios no deben traducirse en el transporte. Los objetos de carácter pueden contener caracteres de ancho mixto. Es posible que los objetos binarios no se puedan imprimir. Todo carácter es binario, lo contrario no es necesariamente cierto una vez que abandona la base de datos, ni tampoco al salir de la plataforma.
mckenzm