# Prácticas recomendadas para estructurar mediciones eficientes

Una buena estructura facilita consultas rápidas, reduce el consumo de recursos y simplifica la administración y el mantenimiento de la base de datos.

## Principios clave para una medición eficiente <a href="#principios-clave-para-una-medicin-eficiente" id="principios-clave-para-una-medicin-eficiente"></a>

#### Evitar esquemas anchos (wide schemas)

* Limita la cantidad de tags y fields en una misma medición.
* Un esquema ancho (muchas columnas) incrementa el uso de recursos, complica la compactación y reduce el rendimiento de las consultas.
* Si necesitas almacenar muchos campos, considera segmentar los datos en varias mediciones.

#### Uso adecuado de tags y fields

* **Tags**: Úsalos para metadatos que se consultarán frecuentemente, ya que están indexados y permiten filtros rápidos.
* **Fields**: Úsalos para valores de datos que no necesitas filtrar, solo consultar o agregar.
* No uses el mismo nombre para un tag y un field dentro de la misma medición.

#### Minimizar la cardinalidad de series

* La cardinalidad es el número de series únicas, definido por la combinación de measurement, tag set y field set.
* Una alta cardinalidad puede degradar el rendimiento de la base de datos.
* Evita tags con valores muy variables o únicos (ejemplo: IDs de eventos, timestamps como tag).

#### Consistencia en los timestamps

* Siempre que sea posible, escribe los fields de la misma medición y tag set con el mismo timestamp.

#### Nombres claros y consistentes

* Define convenciones de nombres para buckets, measurements, tags y fields.
* Usa nombres descriptivos, en minúsculas y separados por guiones bajos o puntos para facilitar la comprensión y mantenimiento.

## Ejemplo de estructura eficiente <a href="#ejemplo-de-estructura-eficiente" id="ejemplo-de-estructura-eficiente"></a>

Supongamos un sistema SCADA que monitoriza temperatura y presión en varias máquinas:

* **Bucket**: `proceso_industrial`
* **Measurement**: `sensores`
* **Tags**:
  * `maquina`: nombre o ID de la máquina
  * `ubicacion`: planta o zona
  * `tipo_sensor`: temperatura/presión
* **Fields**:
  * `valor`: valor numérico medido
* **Timestamp**: marca de tiempo de la medición

Cada punto de datos tendría una estructura similar a:

{% code title="text" overflow="wrap" %}

```
sensores,maquina=M1,ubicacion=planta1,tipo_sensor=temperatura valor=85.2 1685000000000000000
```

{% endcode %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://darioaplicano.gitbook.io/influxdb2.x/sesion-1/guion-de-la-sesion/documentacion/conceptos-clave-de-influxdb/series-cardinales/practicas-recomendadas-para-estructurar-mediciones-eficientes.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
