# Conceptos Clave de InfluxDB

## Buckets

* Un *bucket* en InfluxDB 2.x es el contenedor principal donde se almacenan los datos de series temporales.
* Es comparable a una base de datos en sistemas relacionales, pero está especialmente diseñado para gestionar datos que varían en el tiempo.
* Cada bucket tiene asociado un período de retención, que determina cuánto tiempo se conservarán los datos antes de ser eliminados automáticamente.

### **¿Por qué es importante definir correctamente un bucket?** <a href="#undefined" id="undefined"></a>

Definir correctamente un bucket es fundamental para:

* Optimizar el rendimiento y la consulta de datos.
* Garantizar la conservación adecuada de la información histórica.
* Prevenir problemas de cardinalidad excesiva y mantener la eficiencia del sistema.

### **Cómo crear y definir un bucket en InfluxDB 2.x** <a href="#undefined" id="undefined"></a>

#### **1. Métodos para crear un bucket**

Puedes crear un bucket usando:

* **Interfaz web (UI)**: Navega a *Data > Buckets* y haz clic en *Create Bucket*. Ingresa el nombre y elige el periodo de retención.
* **CLI (`influx` command line)**: Usa el comando:

  <pre class="language-powershell" data-title="powershell" data-overflow="wrap"><code class="lang-powershell">influx bucket create --name &#x3C;nombre-del-bucket> --org &#x3C;organización> --retention &#x3C;periodo>
  </code></pre>

  Ejemplo:

  <pre class="language-powershell" data-title="powershell" data-overflow="wrap"><code class="lang-powershell">influx bucket create --name sensores --org fabrica --retention 30d
  </code></pre>
* **API HTTP**: Envía un POST a `/api/v2/buckets` con los parámetros necesarios en el cuerpo de la petición.

#### **2. Parámetros clave al definir un bucket**

| Parámetro            | Descripción                                                                  |
| -------------------- | ---------------------------------------------------------------------------- |
| Nombre               | Identificación única del bucket en la organización.                          |
| Periodo de retención | Tiempo que los datos permanecerán en el bucket (por ejemplo, 30d, 72h, etc). |
| Organización         | A qué organización pertenece el bucket.                                      |
| Descripción          | Opcional, útil para documentar el propósito del bucket.                      |

#### **3. Definición del esquema (opcional)**

Por defecto, un bucket es *implícito* y acepta cualquier estructura de datos. Si quieres restringir la estructura (nombres de mediciones, tags, fields y tipos de datos), puedes definir un esquema *explícito* usando la API.

* Define las mediciones y sus columnas (campos y etiquetas).
* Así, solo se aceptarán datos que cumplan con ese esquema, lo que ayuda a mantener la calidad y coherencia de los datos.

### **Buenas prácticas para definir buckets en entornos SCADA** <a href="#undefined" id="undefined"></a>

* **Segmenta por tipo de datos o área funcional**: Por ejemplo, crea buckets separados para alarmas, históricos de sensores, o eventos de usuario.
* **Ajusta el periodo de retención según el uso**: Datos críticos para análisis a largo plazo pueden tener retención indefinida; datos de alta frecuencia pero poco valor histórico pueden tener retención corta.
* **Evita la sobre-fragmentación**: No crees demasiados buckets activos; InfluxDB recomienda no superar los 20 buckets activos para mantener el rendimiento.
* **Define esquemas explícitos cuando sea necesario**: En entornos industriales, controlar la estructura de los datos ayuda a evitar errores y facilita la integración con sistemas externos.
* **Documenta cada bucket**: Usa la descripción para indicar el propósito, el origen de los datos y las políticas de retención.


---

# 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.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.
