-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use LevelDB for storing events #12
Comments
Or ZODB - a native object database for Python? |
Or Vedis? Embeddable Redis, thread-safe, with Python bindings. |
Nope. No Vedis. Vedis does not have a rpush command, and does lpush in the wrong order. It also has some longstanding bugs... |
SSDB has its own protocol, which does allow for deleting hashes. Then, we have everything in one database. Otherwise, keep using Redis for the queue, and use leveldb (or rocksdb) for the events. Two stores... |
Hmmm... ArangoDB or MongoDB both have arrays. ArangoDB is not in Stretch, but MongoDB is. |
FaunaDB has arrays. It's from "the team that scaled Twitter". |
If the StorageManager needs to keep a lot of events in temporary storage, Redis will fill up all memory and more-or-less crash the Pi. I looked into a lot of Redis-like storage solutions, since I like the high-level methods (like incrementing the counters, popping from the front of a list, etc). I tried SSDB (does not support deleting hashes), Redis-NDS (very little activity), Edis (very little activity), Redis-LevelDB (does not know about hmset or hincrby) and Ardb (hangs on a simple storage test using more than one client).
I'll try keeping Redis, but storing the pickled events using LevelDB.
The text was updated successfully, but these errors were encountered: