Saltar al contenido
Telemetry
Explorar documentación
Conceptos y patrones de SQLActualizado el 27 de julio de 2026Revisado por los equipos editorial y de producto de Telemetry2 min de lectura

Usa esta documentación con tu agente de programación

Abra un paquete de mensajes enfocados para Claude Code, Codex, Cursor u otro agente de codificación, luego adáptelo al flujo de trabajo que se describe aquí.

En esta página
  1. Elija un tipo duradero
  2. Comprender los valores perdidos
  3. Evolucionar sin cambiar de significado

Tipos de datos de eventos y valores nulos

Telemetry infiere un esquema de tabla a partir de eventos estructurados. La ingesta flexible elimina un paso de migración inicial, pero el útil SQL aún depende de significados y tipos de campos estables.

Elija un tipo duradero

Utilice cadenas para identificadores y categorías controladas, números para los valores que se calcularán, valores booleanos para hechos verdaderos de dos estados y marcas de tiempo para momentos en el tiempo.

Valor Campo recomendado
Duración Numérico duration_ms
dinero Monto numérico normalizado más moneda de origen
Identificador Cadena, incluso cuando contiene solo dígitos
Resultado Cadena controlada como success, failed o timeout
Bandera de característica Booleano cuando hay exactamente dos significados
Hora del evento Entrada calificada para zona horaria normalizada a timestamp_utc

No envíe "842" por un tiempo en una implementación y 842 en otra. No reutilice status para un código HTTP en un servicio y una categoría de flujo de trabajo en otro.

Comprender los valores perdidos

El registro API elimina valores nulos, objetos vacíos y matrices vacías durante la normalización. Por lo tanto, un campo faltante significa que no se almacenó ningún valor en esa fila; no significa cero, falso, una cadena vacía o desconocido.

Utilice IS NULL cuando la ausencia sea analíticamente significativa. Utilice COALESCE solo cuando el reemplazo tenga un significado comercial defendible:

SELECT
  event_name,
  100.0 * SUM(CASE WHEN account_id IS NULL THEN 1 ELSE 0 END)
    / NULLIF(COUNT(*), 0) AS missing_account_rate_pct
FROM product_events
GROUP BY event_name;

El receta de tasa nula de campo obligatorio agrega protección de volumen y contexto de versión de productor.

Evolucionar sin cambiar de significado

Agregar un campo que acepta valores NULL suele ser compatible. Cambiar un tipo de campo o redefinir una categoría existente no lo es. Cuando cambie un significado, introduzca un nuevo campo o schema_version y migre las consultas deliberadamente.

Los objetos anidados se convierten en campos de puntos consultables. Mantenga estable cada ruta anidada y evite matrices cuya estructura de elementos cambie entre eventos.

Revise evolución del esquema, diseño de esquema de eventos y consultando JSON anidado antes de ampliar un contrato de producción.

Función relacionada del producto

Registra nombres de eventos estables, campos con tipos definidos y contexto revisado para proteger la privacidad.

Responsabilidad y referencias técnicas

El equipo editorial de Telemetry es responsable de esta explicación; el equipo de producto revisa el comportamiento, los ejemplos y las limitaciones.

Consultar los criterios editoriales