La retención de sensores impulsa el almacenamiento del servidor inteligente del hogar al multiplicar el recuento de entidades, la frecuencia de muestreo, la sobrecarga de registros, el crecimiento de índices y el historial de copias de seguridad con el tiempo.
Un hogar puede comenzar con algunas entidades de temperatura y movimiento, luego agregar medidores de energía, sensores de calidad del aire, detectores de fugas, contactos de puertas, datos meteorológicos, telemetría de electrodomésticos y estadísticas calculadas. Cada valor es pequeño, pero el servidor almacena marcas de tiempo, identificadores, atributos, índices, registros de transacciones y a menudo varias copias de seguridad alrededor de ellos. Las secciones a continuación muestran por qué la retención es una decisión del ciclo de vida de los datos en lugar de un simple cálculo de “bytes por sensor” y dónde la agregación cambia la curva a largo plazo.
El crecimiento del almacenamiento comienza con muestras por unidad de tiempo
La primera variable es con qué frecuencia cada entidad crea un nuevo registro. Un sensor de temperatura que informa cada cinco minutos produce 288 lecturas por día, mientras que un medidor de energía que informa cada cinco segundos produce 17,280.
Las implementaciones a largo plazo de ESPHome a menudo separan datos de sensores de alta frecuencia de datos históricos de menor resolución. La tasa bruta determina la carga inicial de escritura y la cantidad de detalle disponible para análisis posteriores.
Multiplica la tasa de reporte por el número de entidades y el período de retención. Un canal de energía de alta tasa puede generar más filas que docenas de sensores de contacto que cambian lentamente.
Un valor de sensor ocupa más que su carga numérica
Un valor de punto flotante puede usar solo unos pocos bytes, pero una fila de base de datos también necesita una marca de tiempo, referencia de entidad, campos de esquema, espacio en página, metadatos de transacción y a veces atributos o cadenas de estado repetidas.
Los sistemas de series temporales están optimizados para registros con marcas de tiempo, pero el almacenamiento aún incluye metadatos de fragmentos, índices, registros de escritura anticipada y sobrecarga de compactación. La brecha entre el tamaño de la carga útil y el tamaño en disco es mayor cuando los registros son escasos, con mucho texto o frecuentemente indexados.
Por eso estimar la retención a partir de “ocho bytes por lectura” no es confiable. La medida correcta es el crecimiento de la base de datos por día bajo el esquema real, configuraciones del registrador y mezcla de sensores.
Las entidades con muchos atributos pueden ser especialmente costosas cuando el JSON descriptivo cambia con frecuencia o se duplica en filas históricas.
Los índices y la velocidad de consulta añaden su propio costo de almacenamiento
Los paneles históricos necesitan localizar una entidad en un rango de tiempo, comparar varios sensores y calcular agregados diarios o mensuales. Los índices aceleran esas consultas almacenando estructuras adicionales buscables.
Un estudio comparativo de bases de datos de series temporales muestra que el rendimiento de escritura, compresión, comportamiento de consulta y eficiencia de almacenamiento varían según el diseño de la base de datos. Un diseño optimizado para consultas rápidas recientes puede usar más recursos de índice o memoria que un archivo simple de solo anexar.
Eliminar todos los índices ahorra espacio pero puede hacer que gráficos de varios años y la resolución de problemas sean imprácticos. Por lo tanto, la planificación de la retención equilibra la capacidad bruta con las consultas que se espera que realice el hogar.
La retención bruta y la retención histórica necesitan diferentes resoluciones
La resolución bruta puede ser necesaria para la solución de problemas reciente con lecturas de energía cada cinco segundos, mientras que una comparación energética de cinco años puede necesitar solo totales horarios o diarios. Mantener ambas preguntas a resolución bruta desperdicia capacidad sin agregar detalles útiles a largo plazo.
Las TSDB modernas usan políticas de retención, compresión y agregados para envejecer los datos a través de diferentes niveles. Los registros brutos pueden expirar después de semanas o meses mientras que los agregados horarios, diarios o mensuales permanecen por años.
La función de agregación debe coincidir con el sensor. La temperatura puede necesitar mínimo, máximo y promedio; los contadores de energía pueden necesitar diferencias; los sensores de contacto pueden necesitar duración o conteos de transición en lugar de medias aritméticas.
Una vez que se eliminan las filas brutas, un agregado no puede reconstruir cada pico o evento corto. Elige el agregado solo después de decidir qué preguntas futuras deben seguir siendo respondibles.
Las copias de seguridad multiplican la huella de la base de datos retenida
La base de datos en vivo es solo una copia. Las instantáneas programadas, copias de seguridad de aplicaciones, instantáneas del sistema de archivos, réplicas, archivos exportados y copias fuera del sitio pueden multiplicar el almacenamiento efectivo consumido por el mismo historial.
El almacenamiento de series temporales usa escrituras frecuentes, por lo que las particiones de almacenamiento y los patrones de compactación influyen en qué tan eficientemente las instantáneas preservan los cambios. Un sistema de copias de seguridad que copia repetidamente toda la base de datos puede crecer más rápido que uno que captura bloques incrementales o exportaciones nativas.
Por lo tanto, la retención debe definirse tanto para el sistema en vivo como para sus copias de seguridad. Eliminar filas antiguas de la base de datos activa no recupera espacio de una instantánea inmutable hasta que esa instantánea expire.
Mide el crecimiento diario antes de elegir una ventana de retención
Ejecuta los sensores previstos durante al menos una semana representativa y registra el tamaño de la base de datos, el recuento diario de filas, el volumen de escritura, el delta de copias de seguridad y las entidades más grandes. Incluye días laborables normales, ciclos de HVAC, electrodomésticos de alto consumo y dispositivos que se reconectan o envían estados repetidos.
Un almacén de datos a largo plazo dedicado puede separar el historial detallado de automatización de los análisis de varios años. El plan de almacenamiento inteligente para el hogar de ZimaSpace debe reservar capacidad para el registrador en vivo, agregados a largo plazo, mantenimiento de la base de datos y retención de copias de seguridad como partidas separadas.
Proyecta el crecimiento diario medido a lo largo del período de retención bruta, luego añade la sobrecarga de índices, espacio libre para compactación y cada generación de copia de seguridad retenida. Esto produce un umbral de capacidad basado en el hogar real en lugar de un recuento genérico de sensores.
Preguntas frecuentes
¿Los sensores solo de eventos usan casi nada de almacenamiento?
Por lo general, crean menos filas que las mediciones de alta frecuencia, pero los atributos repetidos, estados no disponibles, reconexiones y entidades generadas por automatización aún pueden aumentar el tamaño del historial.
¿La compresión elimina la necesidad de límites de retención?
No. La compresión reduce el almacenamiento por registro, pero un flujo ilimitado sigue creciendo y sus copias de seguridad, índices y ventanas de mantenimiento crecen con él.
¿Toda la historia de sensores debe usar un solo período de retención?
No. Los datos diagnósticos de corta duración, eventos de seguridad, estadísticas de energía y tendencias ambientales a menudo necesitan diferentes resoluciones y ventanas de retención.
Centro de Tecnología e IA
Más para leer

¿Por qué cambia la arquitectura de Home Assistant a medida que un servidor doméstico añade más servicios?
Más servicios cambian la arquitectura de Home Assistant cuando añaden estado compartido, colas, dispositivos, ciclos de actualización o dominios de fallo, no simplemente más...

Cómo medir el rendimiento de Home Assistant sin confundir la caché con la capacidad
Un resultado favorable demuestra la reutilización, no la capacidad. Mide el arranque en frío, el estado estable en caliente, la carga repetida, la latencia...

¿Cuánta concurrencia de automatizaciones necesita Home Assistant para controlar toda la casa?
La mayoría de las automatizaciones para todo el hogar solo necesitan una superposición acotada; dimensiona la concurrencia a partir de la duración de ejecución...

