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.