COF-C03 Study LabPráctica independiente de Snowflake
Performance Optimization, Querying, and Transformation

Datos estructurados, semiestructurados y no estructurados

Selecciona el modelo de dato y la funcion de consulta adecuados sin perder semantica de tipos, nulos o jerarquias anidadas.

structured semi-structured variant flatten unstructured json
Cobertura COF-C03 4.7

Datos estructurados, semiestructurados y no estructurados

Tipos SQL, VARIANT, OBJECT, ARRAY, paths, FLATTEN y archivos no estructurados en stages.

Conceptos que debes poder reconocer y distinguir:

  • Tipos SQL estructurados
  • VARIANT
  • OBJECT y ARRAY
  • Paths
  • FLATTEN
  • Archivos no estructurados en stages

Usa los enlaces oficiales de Snowflake de esta unidad para ampliar cada concepto y contrastar su comportamiento.

Los datos estructurados siguen un schema tabular fijo. Los semiestructurados pueden contener jerarquias y atributos variables, y Snowflake los maneja con VARIANT, OBJECT y ARRAY. Los no estructurados, como documentos, imagenes o audio, no tienen un schema de negocio consultable como una tabla y se almacenan en stages.

Modelo y tecnica de consulta

Tipo Almacenamiento o tipo Patron de acceso
Estructurado Columnas SQL tipadas SELECT, filtros, joins y constraints declarativas
Semiestructurado VARIANT, OBJECT, ARRAY Notacion de path, casts y funciones de extraccion
Arrays u objetos anidados VARIANT / ARRAY / OBJECT LATERAL FLATTEN para convertir elementos en filas
No estructurado Archivos en internal o external stage Metadata, URLs y capacidades especificas de procesamiento

Puntos que suelen decidir una pregunta

  • FLATTEN es una table function: recibe un VARIANT, OBJECT o ARRAY y produce una vista lateral con una fila por elemento expandido.
  • El path localiza un atributo anidado; haz cast al tipo SQL que requiere el calculo o la comparacion.
  • JSON null y SQL NULL no son siempre equivalentes; comprueba el tipo y la funcion que estas usando.
  • Unstructured data necesita estar en un stage antes de que Snowflake pueda acceder o procesar sus archivos.
  • No aplanes todo por defecto: conserva semiestructurado cuando la flexibilidad y la evolucion de schema aportan valor, y extrae solo los campos necesarios para el patron de consulta.