A retenção de sensores impulsiona o armazenamento do servidor doméstico inteligente ao multiplicar o número de entidades, a frequência de amostragem, a sobrecarga de registos, o crescimento dos índices e o histórico de backups ao longo do tempo.
Uma casa pode começar com algumas entidades de temperatura e movimento, depois adicionar medidores de energia, sensores de qualidade do ar, detectores de fugas, contactos de portas, dados meteorológicos, telemetria de eletrodomésticos e estatísticas calculadas. Cada valor é pequeno, mas o servidor armazena carimbos de data/hora, identificadores, atributos, índices, registos de transações e frequentemente várias cópias de backup à sua volta. As secções abaixo mostram por que a retenção é uma decisão do ciclo de vida dos dados e não um simples cálculo de “bytes por sensor” e onde a agregação altera a curva a longo prazo.
O Crescimento do Armazenamento Começa Com Amostras por Unidade de Tempo
A primeira variável é com que frequência cada entidade cria um novo registo. Um sensor de temperatura que reporta a cada cinco minutos produz 288 leituras por dia, enquanto um medidor de energia que reporta a cada cinco segundos produz 17.280.
Implementações de longo prazo do ESPHome frequentemente separam dados de sensores de alta frequência de dados históricos de resolução inferior. A taxa bruta determina a carga inicial de escrita e a quantidade de detalhe disponível para análise posterior.
Multiplique a taxa de reporte pelo número de entidades e pelo período de retenção. Um canal de energia de alta taxa pode gerar mais linhas do que dezenas de sensores de contacto que mudam lentamente.
Um Valor de Sensor Ocupa Mais do Que o Seu Payload Numérico
Um valor de ponto flutuante pode usar apenas alguns bytes, mas uma linha de base de dados também precisa de um carimbo de data/hora, referência da entidade, campos do esquema, espaço na página, metadados de transação e, por vezes, atributos repetidos ou cadeias de estado.
Sistemas de séries temporais são otimizados para registos com carimbo de data/hora, mas o armazenamento ainda inclui metadados de fragmentos, índices, logs de escrita antecipada e sobrecarga de compactação. A diferença entre o tamanho do payload e o tamanho no disco é maior quando os registos são esparsos, com muito texto ou frequentemente indexados.
Por isso, estimar a retenção a partir de “oito bytes por leitura” é pouco fiável. A medição correta é o crescimento da base de dados por dia sob o esquema real, configurações do gravador e mistura de sensores.
Entidades com muitos atributos podem ser especialmente dispendiosas quando o JSON descritivo muda frequentemente ou é duplicado em linhas históricas.
Índices e Velocidade de Consulta Acrescentam o Seu Próprio Custo de Armazenamento
Dashboards históricos precisam localizar uma entidade num intervalo de tempo, comparar vários sensores e calcular agregados diários ou mensais. Índices aceleram essas consultas ao armazenar estruturas adicionais pesquisáveis.
Um estudo comparativo de bases de dados de séries temporais mostra que o desempenho de escrita, compressão, comportamento de consulta e eficiência de armazenamento variam com o design da base de dados. Um layout otimizado para consultas rápidas recentes pode usar mais recursos de índice ou memória do que um arquivo simples apenas para anexar.
Remover todos os índices poupa espaço, mas pode tornar gráficos de vários anos e resolução de problemas impraticáveis. O planeamento da retenção equilibra, portanto, a capacidade bruta com as consultas que a casa espera executar.
A Retenção Bruta e a Retenção Histórica Precisam de Resoluções Diferentes
A resolução bruta pode ser necessária para resolução de problemas recentes, como leituras de energia a cada cinco segundos, enquanto uma comparação energética de cinco anos pode precisar apenas de totais horários ou diários. Manter ambas as questões na resolução bruta desperdiça capacidade sem adicionar detalhe útil a longo prazo.
TSDBs modernos usam políticas de retenção, compressão e rollups para envelhecer dados através de diferentes níveis. Registos brutos podem expirar após semanas ou meses, enquanto agregados horários, diários ou mensais permanecem por anos.
A função de agregação deve corresponder ao sensor. A temperatura pode precisar de mínimo, máximo e média; contadores de energia podem precisar de diferenças; sensores de contacto podem precisar de duração ou contagem de transições em vez de médias aritméticas.
Uma vez que as linhas brutas são eliminadas, um agregado não pode reconstruir todos os picos ou eventos curtos. Escolha o rollup apenas depois de decidir quais perguntas futuras devem continuar a ser respondidas.
Backups Multiplicam a Pegada da Base de Dados Retida
A base de dados ativa é apenas uma cópia. Snapshots agendados, backups de aplicações, snapshots do sistema de ficheiros, réplicas, arquivos exportados e cópias fora do local podem multiplicar o armazenamento efetivo consumido pela mesma história.
O armazenamento de séries temporais usa escritas frequentes, por isso partições de armazenamento e padrões de compactação influenciam a eficiência com que os snapshots preservam alterações. Um sistema de backup que copia repetidamente toda a base de dados pode crescer mais rápido do que um que captura blocos incrementais ou exportações nativas.
Por isso, a retenção deve ser definida tanto para o sistema ativo como para os seus backups. Eliminar linhas antigas da base de dados ativa não recupera espaço de um snapshot imutável até que esse snapshot expire.
Meça o Crescimento Diário Antes de Escolher uma Janela de Retenção
Execute os sensores pretendidos durante pelo menos uma semana representativa e registe o tamanho da base de dados, contagem diária de linhas, volume de escrita, delta de backup e as maiores entidades. Inclua dias úteis normais, ciclos de HVAC, eletrodomésticos de alta energia e dispositivos que se reconectam ou enviam estados repetidos.
Um armazenamento de dados de longo prazo dedicado pode separar o histórico detalhado de automação da análise multi-anual. O plano de armazenamento para casa inteligente da ZimaSpace deve reservar capacidade para o gravador ativo, agregados de longo prazo, manutenção da base de dados e retenção de backups como itens separados.
Projete o crescimento diário medido ao longo do período de retenção bruta, depois adicione a sobrecarga dos índices, espaço livre para compactação e cada geração de backup retida. Isto produz um limiar de capacidade fundamentado na casa real em vez de uma contagem genérica de sensores.
Perguntas Frequentes
Os sensores só de eventos usam quase nenhum armazenamento?
Normalmente criam menos linhas do que medições de alta frequência, mas atributos repetidos, estados indisponíveis, reconexões e entidades geradas por automação ainda podem aumentar o tamanho do histórico.
A compressão elimina a necessidade de limites de retenção?
Não. A compressão reduz o armazenamento por registo, mas um fluxo ilimitado continua a crescer e os seus backups, índices e janelas de manutenção crescem com ele.
Todo o histórico de sensores deve usar um único período de retenção?
Não. Dados de diagnóstico de curta duração, eventos de segurança, estatísticas de energia e tendências ambientais frequentemente precisam de resoluções e janelas de retenção diferentes.
Centro de Tecnologia e IA
Mais para Ler

Porque é que a arquitetura do Home Assistant muda à medida que um servidor doméstico adiciona mais serviços?
Mais serviços alteram a arquitetura do Home Assistant quando adicionam estado partilhado, filas, dispositivos, ciclos de atualização ou domínios de falha — e não...

Como medir o desempenho do Home Assistant sem confundir a cache com a capacidade
Um resultado em estado quente prova reutilização, não capacidade. Meça o arranque a frio, o estado estacionário em quente, a carga repetida, a latência...

De quanta simultaneidade de automações precisa o Home Assistant para controlar toda a casa?
A maioria das automatizações para toda a casa precisa apenas de uma sobreposição limitada; dimensione a simultaneidade com base na duração da execução ×...

