O Home Assistant só deve utilizar uma base de dados ou um anfitrião de armazenamento separado quando essa separação resolver um problema comprovado de capacidade, retenção, cópias de segurança ou domínio de falha. Transferir o estado para fora do controlador não é automaticamente uma melhoria.
Para muitas casas, uma base de dados Recorder SQLite local num armazenamento SSD fiável é a opção mais simples, pois elimina dependências de rede, autenticação, DNS e arranque do servidor de bases de dados. Antes de criar outro anfitrião, identifique primeiro se o verdadeiro problema são demasiadas escritas do Recorder, uma retenção prolongada, consultas ao histórico lentas, capacidade local limitada ou a necessidade de recuperar um serviço de forma independente.
Ajuste o Recorder antes de adicionar um servidor de bases de dados
O crescimento do Recorder é determinado pelas entidades e eventos armazenados, pela frequência com que mudam e pelo tempo de retenção do histórico. Se sensores ruidosos ou domínios desnecessários dominarem as escritas, transferir a mesma carga para um servidor de bases de dados maior apenas desloca o problema, em vez de o eliminar.
Um processo de ajuste do Recorder atualizado mostra como a retenção, as regras de inclusão/exclusão e o comportamento das confirmações afetam a carga de escrita antes de se considerar uma migração da base de dados. Meça o tamanho da base de dados, o tempo das consultas ao histórico, a latência do armazenamento e a atividade de escrita depois do ajuste.
Mantenha a base de dados local quando a carga ajustada continuar responsiva, as cópias de segurança terminarem dentro da janela de manutenção e a capacidade SSD disponível permanecer confortável. A separação deve resultar de um requisito que não está a ser cumprido, e não da crença genérica de que as bases de dados cliente-servidor são sempre mais rápidas.
Utilize uma base de dados externa quando os seus benefícios operacionais forem reais
Um anfitrião separado com MariaDB, MySQL ou PostgreSQL pode fazer sentido quando o Home Assistant partilha uma plataforma de bases de dados já bem administrada, quando uma retenção prolongada cria pressão contínua sobre as consultas, quando o anfitrião do controlador tem de permanecer leve ou ser facilmente substituível, ou quando as cópias de segurança e a monitorização da base de dados precisam de um ciclo de vida independente.
Um exemplo de migração do SQLite para MariaDB ilustra os novos elementos introduzidos por essa escolha: serviço de base de dados, credenciais, endereço de rede, inicialização do esquema, procedimento de migração, validação e reversão. Um caso real mais abrangente de migração da base de dados do Home Assistant mostra por que motivo um histórico prolongado e grandes conjuntos de dados podem justificar a administração adicional.
O artigo da ZimaSpace sobre a fiabilidade das atualizações com uma base de dados externa define o limite de manutenção correspondente: a base de dados tem de ser salvaguardada, atualizada e restaurada como um serviço próprio, em vez de ser tratada como infraestrutura invisível.
Não coloque uma base de dados SQLite ativa numa partilha de rede por predefinição
Um servidor de bases de dados remoto e um ficheiro de base de dados armazenado em SMB ou NFS são arquiteturas diferentes. Uma base de dados cliente-servidor executa o bloqueio e as transações dentro do serviço de base de dados e envia pedidos através da rede. O SQLite executa o bloqueio do ficheiro da base de dados através do sistema de ficheiros, pelo que a semântica do sistema de ficheiros de rede, a disponibilidade da montagem, a latência e o comportamento dos bloqueios passam a fazer parte de cada transação.
A análise abrangente dos bloqueios do SQLite explica por que motivo os sistemas de ficheiros de rede podem produzir um comportamento de bloqueio diferente do de um disco local. Um caso de falha numa partilha de rede do Home Assistant mostra o risco prático quando a base de dados Recorder ativa depende de uma montagem remota.
Utilize livremente um NAS para cópias de segurança, exportações, multimédia e outros dados concebidos para armazenamento em rede. Se o estado ativo do Recorder tiver de permanecer noutra máquina, prefira uma base de dados cliente-servidor suportada, em vez de mover o ficheiro SQLite para uma partilha.
Separe o armazenamento em massa do estado ativo do Home Assistant
Nem todos os diretórios crescentes do Home Assistant pertencem ao mesmo nível de armazenamento. A configuração, o estado das integrações, a base de dados Recorder ativa, os conteúdos multimédia, os clips de câmaras, as exportações e as cópias de segurança têm necessidades diferentes de latência e recuperação. Mantenha o estado pequeno e atualizado frequentemente num armazenamento local de baixa latência, salvo quando um serviço separado o gerir deliberadamente.
Mova os conteúdos multimédia em massa ou as gerações de cópias de segurança para a capacidade de um NAS através de pontos de montagem estáveis. Documente se o Home Assistant pode arrancar sem essa montagem. A ausência de um arquivo de fotografias não deve impedir o arranque das automações de iluminação, enquanto a ausência da base de dados ativa deve criar um estado degradado explícito, em vez de uma alternativa silenciosa que ninguém detete.
| Função dos dados | Localização predefinida | Motivo para separar |
|---|---|---|
| Configuração e estado ativo | SSD local | Baixa latência e recuperação simples |
| SQLite do Recorder | SSD local | Evitar dependências de bloqueios de sistemas de ficheiros de rede |
| Base de dados SQL externa | Anfitrião de bases de dados local ou separado | Escala, retenção, cópias de segurança e administração independentes |
| Conteúdos multimédia e exportações | Local ou NAS | A capacidade é frequentemente mais importante do que a latência |
| Cópias de segurança | Pelo menos uma cópia fora do anfitrião | Sobreviver à perda do anfitrião ativo |
Comprove o arranque, as falhas e a restauração antes de tornar a separação permanente
Prepare a nova função de base de dados ou armazenamento sem eliminar o caminho de recuperação antigo. Reinicie o anfitrião da base de dados antes do Home Assistant, reinicie o Home Assistant antes de a base de dados estar pronta, interrompa a rede, altere as credenciais, encha o sistema de ficheiros de destino até perto do seu limite de reserva e restaure a base de dados numa instância limpa.
Meça o tempo p95 das consultas ao histórico, a latência das automações durante uma atividade intensa do Recorder, o tempo de reinício, a duração das cópias de segurança e o tempo de recuperação após uma falha do anfitrião da base de dados. Se a separação melhorar uma métrica, mas transformar um reinício de trinta segundos do controlador num procedimento de recuperação com vários serviços, inclua esse custo operacional na decisão.
Mantenha o armazenamento local quando este já cumprir o objetivo. Utilize um anfitrião de bases de dados separado quando as operações de bases de dados cliente-servidor e a recuperação independente forem vantagens reais. Utilize um anfitrião de armazenamento separado para dados em massa e cópias de segurança, mas não faça o controlo local crítico depender de um sistema de ficheiros remoto sem uma razão testada.
Configuração de NAS e Servidor
Mais para Ler

Uma configuração RAG local para artigos de investigação, notas e documentos privados
Mantenha os documentos originais como fonte de autoridade, torne a indexação repetível, exija citações e separe os modelos substituíveis dos dados de origem privados.

Porque estão os programadores a utilizar um nó de gateway para DNS privado, VPN e aplicações de teste?
Um nó de gateway dá às aplicações privadas um único nome e caminho de acesso controlados, enquanto os nós de computação permanecem não expostos...

Como criar uma pilha de aplicações reproduzível com ficheiros Compose, segredos e dados persistentes separados
Mantenha as definições do Compose portáteis, proteja os segredos e faça cópias de segurança independentes dos dados das aplicações para que a stack possa...

