# Estructura de almacenamiento en InfluxDB y su impacto en rendimiento

Su estructura de almacenamiento está diseñada para maximizar el rendimiento tanto en escritura como en consulta, aprovechando tecnologías y técnicas específicas para datos temporales.

## **Impacto de la estructura de almacenamiento en el rendimiento** <a href="#undefined" id="undefined"></a>

#### **1. Rendimiento en escrituras**

* **Batching**: Escribir en lotes (idealmente de 5000 líneas) minimiza la sobrecarga de red y optimiza el uso del WAL y la caché.
* **Orden lexicográfico de tags**: Ordenar los tags por clave antes de escribir mejora la eficiencia interna y la compresión.
* **Compresión y compactación**: El TSM reduce el uso de disco y mejora la velocidad de lectura y escritura al minimizar la cantidad de datos que deben transferirse y procesarse.

#### **2. Rendimiento en consultas**

* **Indexación de tags**: Consultar por tags es mucho más rápido que por fields, ya que los tags están indexados.
* **Cardinalidad**: Una alta cardinalidad (muchos valores únicos en tags) puede degradar el rendimiento. Es fundamental diseñar el esquema para evitar tags con valores excesivamente únicos.

#### **3. Políticas de retención y particionamiento**

* **Buckets con diferentes retenciones**: Permiten almacenar datos con distintas necesidades de retención y optimizar el uso de recursos.
* **Particionamiento**: Organizar los datos en buckets o measurements según el tipo de consulta o retención mejora la escalabilidad y el rendimiento.

### **Resumen: Relación entre estructura y rendimiento** <a href="#undefined" id="undefined"></a>

| Componente/Práctica                 | Impacto en rendimiento                         |
| ----------------------------------- | ---------------------------------------------- |
| TSM (Time-Structured Merge Tree)    | Alta compresión, escrituras y lecturas rápidas |
| WAL + caché                         | Baja latencia, durabilidad                     |
| Uso correcto de tags y fields       | Consultas eficientes, menor degradación        |
| Batching y compresión en escrituras | Mayor throughput, menor uso de red/disco       |
| Buckets y políticas de retención    | Escalabilidad y optimización de recursos       |

> “Un buen diseño del esquema puede evitar una alta cardinalidad de las series, lo que se traduce en un mejor rendimiento de las consultas.”


---

# 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/estructura-de-almacenamiento-en-influxdb-y-su-impacto-en-rendimiento.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.
