Well, so it looks like the solution I listed among the better than EEPROM..
I assume you have network available to Arduino, right? If you had said it right away we would have made the thread shorter...
![]()
Why? You should use a local FIFO queue in RAM for outgoing data, and set a timer for uploading (e.g. every 10 minutes or less), so if you temporarrily lose connection to the database you can recover the situation and send all the queued values as soon as the server is back. I made the same for my PV data logger, but I use CSV files to store data and totals (in daily and monthly files) on local NAS via FTP...
Obviously you'll lose latest data if Arduino resets for any reason, and you cannot keep much data in the queue, depends on your RAM availability, so downtimes longer than that could lead you in a data loss (the queue should be circular, to let Arduino keep the latest "x" samples discarding the older ones).