[RESOLVIDO] Classe com muitos atributos: qual a melhor forma para inserir num banco de dados?

Boa noite,

Estou trabalhando em um projeto de um servidor de rastreamento. Programei ele para receber as mensagens através de uma porta e “decifrar” as informações contidas nela.

Acontece é que cada mensagem me da 48 informações diferentes, isto é, 48 atributos para cada mensagem e inserir isso no banco de dados. Essas mensagens são enviadas em um intervalo de tempo pequeno, então o volume é alto.

Qual a melhor forma de inserir esses atributos no BD?

  • “Serializando” a classe.
  • Inserindo os dados em 48 colunas diferente em uma mesma tabela.
  • Dividindo os dados em várias tabelas.
  • Utilizar um Banco não relacional.

Alguém pode me ajudar?

Todas as alternativas são válidas.
Eu sugeriria o uso de mensagens assíncronas, já que o volume de dados é grande e o intervalo entre os envios pequeno.
A forma como você vai persistir é o que menos importa, o que você terá de conseguir é sincronizar de maneira que não perca nenhuma informação.

No caso de mensagens assincronas como funcionaria? Ve se o que eu pensei está certo:

Utilizar um socket para receber a mensagem do dispositivo via TCP/IP, JMS para enviar a mensagem recebida para o processamento e no receiver do JMS eu faço a persistencia?

Exatamente como eu imaginei.

Muito obrigado pelo esclarecimento!

Sobre a persistencia, alguma dessas formas que coloquei no post inicial é mais rápida, ou o desempenho é bem semelhante?

Eu iria de JPA 2 mesmo…