short premise: i'm fully happy of my R7800 running openwrt (homebuild based on hnyman's build).
Actually, it has nginx, with php support - in place of uhttpd - and transmission, with an external USB hdd.
Dreaming of nss cores being enabled, i started thinking to what else it could do for me. And i could not avoid thinking to a mosquitto broker (where today one of my raspberries makes the job) and a DBMS server (where today my qnap nas does it).
What i fear most (ok, i'm not talking about "it will work" that is the funny part..) is the way data would be managed and written to the storage.
I'd like to avoid my usb disk to be always spinning, both for power consumption and reliability (now it's turned on only when needed by transmission, otherwise it spins down..) so i was wondering how to manage those "data intensive" tasks (even if i will not have many information running - my sensors write to disk every 5 minutes - those are a lot of write accesses). Is there a way to "buffer" to memory information (db or mqtt) and only periodically (or at a specific size) write them to disk (ok, accepting the risk of loosing some data between one write and the other..)?
Or should it be better to use a dedicated usb key? is this gonna work reliably?
thanks a lot
Without saying which RDMS your considering, no. Even with it, unlikely. It would likely need to be at the application layer. Look for a feature called HSM (Hierarchical Storage Management) or the like.
Every 5 seconds isn’t a lot a disk access for a disk or SSD (though can quickly kill flash memory). Good-quality USB sticks are another option, though life is not as good as an SSD
Hello and thanks (it is the first time i hear of HSM, i learned something new :))
what about a usb key holding the DBs and MQTT data and a (daily?) copy task to "backup" the information to the physical disk?
I'd have a RPO of one day (ok for me..) at the price of a stupid usb disk when it dies.
so both a DMBS (i was thinking about mysql/mariadb) and a MQTT broker (obviously mosquitto) are writing to disk for every event?
it doesn't look much efficient, isn't it?
Thanks a lot!
I think it's crazy complex (and painfully slow) for what it give you in terms of reliability, especially at the trickle rate you're likely talking about.
For US$36 you can buy a 250 GB, Crucial MX500, for example, and be done with it.