Tenho um jar que fica enviando informações como “uso da cpu, uso do hd, ip” e afins em tempo real para meu servidor em NODE. Ele popula uma tabela, o problema é que muitos pcs executarão esse jar. Como posso fazer para que o MySQL identifique cada conexão com um ID, e caso tiver o mesmo ID, ele atualize apenas aquela entrada na tabela? Assim terei um banco de dados que atualiza em tempo real, e futuramente farei um dashboard e tal
Sobre o histórico: Acho que devo fazer outra tabela que fique registrando todas as entradas né?
Darlan, no caso o que a tabela recebe é um JSON. Acho que seria
ID | DataHora | Json
Meu problema é: como fazer com que, por exemplo, o Computador 1 tenha sempre o ID 1, o Computador 2 o ID 2 e assim por diante, já que ele ficara atualizando em tempo real todas as informações
Você vai precisar determinar um id para cada equipamento, seja ip, mac address, o que seja.
O custo é o mesmo ou até menor que você, a cada novo registro, ler os dados, alterar o json e regravar, fazendo update.
Cara, se os ips são fixos, sim.
Porém, não seria interessante isolar as informações do equipamento em outra tabela e criar uma tabela só de eventos, onde cada evento está associado a um único equipamento e cada equipamento tem N eventos?
Tabela equipamento
ID | IP | Descricao | Blablablabla
Tabela eventos
ID | DataHora | Id_Equipamento | JSON
Pois isso vai impedir que você tenha um JSON enorme.
Lógico, isso depende de N fatores, incluindo, quanto tempo de registro você deseja ter armazenado num JSON e outros detalhes da tua implementação.
Então, to aprendendo mais sobre banco de dados agora. Se você acha o MongoDB uma boa opção, vou dar uma estudada sobre ele e tudo mais. Esse BD vai enviar, posteriormente, as informações para um dashboard/app. Eu diria que o mais importante são os picos, por exemplo:
"Domingo passado, X máquina bateu 90% de processamento no momento blablaba"
Ele é realmente para monitoramento desses picos, se a máquina ta on e tal, apenas
E agora que você me lembrou bem, os ips não são fixos.
Então, dê uma olhada em mongodb e veja sobre modelagem NoSQL, afinal, muda muito, tanto conceitos como aplicação deles, quando falamos de bancos de dados orientados a documentos, como é o caso do mongo.
Se decidir optar pelo MySQL mesmo, sugiro que você siga o modelo que mais te agrada
Não, você teria uma tabela que represente todos os equipamentos, cada qual teria seu ID (pdoe ser o ip ou mac) e outra para eventos de log.
Apenas isso. Duas tabelas.
Beleza Darlan! Vou dar uma estudada sobre todos os modelos e ver sobre o MongoDB. Já ouvi muito falar sobre ele mas nunca fui atrás, mas parece que ele vem agradando mta gente