You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
181 lines
2.9 KiB
Markdown
181 lines
2.9 KiB
Markdown
# Calculo De Almacenamiento
|
|
|
|
Este documento estima cuanto espacio ocupan los datos guardados por el sistema.
|
|
|
|
## Que Archivos Crecen
|
|
|
|
Crecen principalmente:
|
|
|
|
```text
|
|
logs/temperature.csv
|
|
logs/ph.csv
|
|
logs/do.csv
|
|
logs/ec.csv
|
|
logs/alarms.csv
|
|
```
|
|
|
|
No crecen de forma acumulativa:
|
|
|
|
```text
|
|
data/EZORTD.json
|
|
data/EZOPH.json
|
|
data/EZODO.json
|
|
data/EZOEC.json
|
|
```
|
|
|
|
Los JSON se sobrescriben en cada ciclo.
|
|
|
|
## Formato De Una Lectura
|
|
|
|
Cada fila CSV usa:
|
|
|
|
```csv
|
|
timestamp,value
|
|
2026-07-07T17:26:13.459Z,25.132
|
|
```
|
|
|
|
Tamano aproximado por fila:
|
|
|
|
```text
|
|
24 bytes timestamp ISO
|
|
1 byte coma
|
|
6 a 10 bytes valor
|
|
1 byte salto de linea
|
|
```
|
|
|
|
Rango practico:
|
|
|
|
```text
|
|
32 a 36 bytes por lectura
|
|
```
|
|
|
|
Para calculos conservadores se usa:
|
|
|
|
```text
|
|
36 bytes por lectura
|
|
```
|
|
|
|
## Peor Caso Operativo
|
|
|
|
Supuestos:
|
|
|
|
```text
|
|
4 sensores
|
|
1 lectura por segundo
|
|
30 dias
|
|
36 bytes por fila
|
|
```
|
|
|
|
Lecturas por sensor al mes:
|
|
|
|
```text
|
|
30 * 24 * 60 * 60 = 2,592,000 lecturas
|
|
```
|
|
|
|
Espacio por sensor:
|
|
|
|
```text
|
|
2,592,000 * 36 = 93,312,000 bytes
|
|
```
|
|
|
|
Resultado:
|
|
|
|
```text
|
|
93.31 MB por sensor por mes
|
|
88.99 MiB por sensor por mes
|
|
```
|
|
|
|
Cuatro sensores:
|
|
|
|
```text
|
|
93.31 MB * 4 = 373.25 MB por mes
|
|
```
|
|
|
|
Resultado practico:
|
|
|
|
```text
|
|
350 a 375 MB por mes
|
|
```
|
|
|
|
## Tabla Por Sensor
|
|
|
|
Con 1 lectura por segundo:
|
|
|
|
| Periodo | Por sensor |
|
|
|---|---:|
|
|
| 1 dia | ~3.11 MB |
|
|
| 30 dias | ~93.31 MB |
|
|
| 1 ano | ~1.14 GB |
|
|
|
|
## Tabla Del Sistema Completo
|
|
|
|
Con 4 sensores:
|
|
|
|
| Frecuencia | Datos por mes |
|
|
|---|---:|
|
|
| 1 segundo | ~350 a 375 MB |
|
|
| 5 segundos | ~70 MB |
|
|
| 10 segundos | ~35 MB |
|
|
| 60 segundos | ~6 MB |
|
|
|
|
Con 3 sensores:
|
|
|
|
| Frecuencia | Datos por mes |
|
|
|---|---:|
|
|
| 1 segundo | ~264 a 280 MB |
|
|
| 5 segundos | ~50 a 53 MB |
|
|
| 10 segundos | ~25 a 27 MB |
|
|
| 60 segundos | ~4 a 5 MB |
|
|
|
|
## Tiempo Estimado Por MicroSD
|
|
|
|
Estimacion teorica solo para datos, sin borrar historicos:
|
|
|
|
| MicroSD | Tiempo aproximado con 4 sensores a 1 Hz |
|
|
|---|---:|
|
|
| 16 GB | ~3.5 anos |
|
|
| 32 GB | ~7 anos |
|
|
| 64 GB | ~14 anos |
|
|
| 128 GB | ~28 anos |
|
|
|
|
Estimacion conservadora, reservando espacio para Raspberry Pi OS, paquetes,
|
|
logs del sistema y margen libre:
|
|
|
|
| MicroSD | Espacio comodo para datos | Tiempo comodo |
|
|
|---|---:|---:|
|
|
| 16 GB | ~6 GB | ~16 meses |
|
|
| 32 GB | ~18 GB | ~4 anos |
|
|
| 64 GB | ~43 GB | ~9.5 anos |
|
|
| 128 GB | ~94 GB | ~21 anos |
|
|
|
|
## Retencion Historica
|
|
|
|
El sistema puede podar historicos con:
|
|
|
|
```json
|
|
{
|
|
"historyRetentionDays": 30
|
|
}
|
|
```
|
|
|
|
Con 30 dias de retencion, el uso de CSV no crece indefinidamente. En el peor
|
|
caso de 4 sensores a 1 Hz se estabiliza alrededor de:
|
|
|
|
```text
|
|
350 a 375 MB
|
|
```
|
|
|
|
## Excel No Cuenta Como Almacenamiento Continuo
|
|
|
|
Los reportes Excel pueden pesar mucho porque `.xlsx` almacena celdas, hojas y
|
|
metadatos. Un dia con 4 sensores a 1 Hz puede tener:
|
|
|
|
```text
|
|
345,600 filas
|
|
mas de 1,000,000 de celdas si hay 3 columnas
|
|
```
|
|
|
|
Por eso un Excel diario puede pesar decenas de MB. Ese peso solo cuenta si se
|
|
descarga o guarda el reporte; no es parte del almacenamiento continuo del
|
|
sistema.
|