I think SQLite will work well in this role. You may need to tweak the pragma settings for rPi a bit (e.g. set journal_mode = WAL), but SQLite can easily handle multiple gigabyte databases. (The main drawback of SQLite is concurrent access, but that will not be a problem for your application.)
If you need to store time / value stamp data and request only time intervals, you can use a key / value store, such as LevelDB. You are losing the flexibility of the SQL engine, but gaining performance.
Which storage medium do you plan to use? The ACID database will be written to disk for each transaction. A continuous I / O method can quickly kill an SD card.
source
share