Skip to content

Por que o banco é genérico? ​

Você vai aprender: separar fonte de coleta, dispositivo, métrica, amostra e mensagem original.

O limite do modelo antigo ​

Uma tabela com colunas específicas, como powerW e gridVoltageV, atende um conjunto fixo de leituras. Acrescentar grandezas diferentes pode exigir novas colunas e migrations.

O modelo atual armazena o nome da métrica e seu valor como dados. Ele não exige uma nova coluna para cada grandeza. Isso não elimina o trabalho de validar unidade, significado e apresentação.

Cinco responsabilidades ​

Relações do inventário e da telemetria

ConceitoTabelaPergunta
Fonte físicainverter_sourcesComo e com qual adapter consultar?
Dispositivo de telemetriadevicesQuem publicou?
Definição de métricametric_definitionsO que significa a chave?
Amostra numéricameasurementsQual valor, em qual instante?
Mensagem originalraw_messagesO que chegou e passou na validação?

O inventário físico não tem uma relação Prisma direta com Device. A identidade de telemetria é derivada no coletor e reconhecida na ingestão. Não invente uma chave estrangeira entre essas tabelas.

Uma mensagem, várias linhas ​

Um payload fictício com power_w e energy_today_kwh gera duas medições, uma por chave, além de um registro bruto. O catálogo de dispositivo e métrica é criado ou atualizado conforme as regras da persistência.

Isso facilita consultar uma grandeza entre dispositivos, mas aumenta a quantidade de linhas. Índices ajudam buscas; retenção, deduplicação e escala continuam decisões explícitas.

Dois tipos de histórico ​

raw_messages preserva o que chegou, inclusive mensagens inválidas. measurements oferece valores numéricos para gráficos. Os registros brutos não devem virar exportação pública automática: podem conter identidades e detalhes restritos.

Uma transação protege os efeitos de uma mensagem válida contra gravação parcial. Ela não certifica a precisão elétrica e não elimina mensagens repetidas.

Siga para persistência explicada e o schema de referência.

Revisão técnica: 06/10/2026. Fontes: schema.prisma e persistence.ts.

IFSP Campus Boituva · Energia, automação e software em um mesmo projeto