Suppose I have a system where around 1000 machines will generate data from a sensor and they have to send it to a central system where this will get stored in a SQL table.
My question is if it'd generally be better to have each system connect directly to the database and insert (this is the only operation needed) data, or send it to the server using a messaging server like ie. HornetQ, and have a single (or few) instance of a software consuming data from HornetQ and writing it to the database system?
I'd like to know how the two approaches compare in terms of CPU/memory cost and scalability, specially at the server side of the system (ie, are database systems designed to handle a lot of clients).