Skip to content
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

Open
davidfokkema opened this issue Jan 5, 2015 · 6 comments
Open

Use LevelDB for storing events #12

davidfokkema opened this issue Jan 5, 2015 · 6 comments

Comments

@davidfokkema
Copy link
Member

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.

@davidfokkema
Copy link
Member Author

Or ZODB - a native object database for Python?

@davidfokkema
Copy link
Member Author

Or Vedis? Embeddable Redis, thread-safe, with Python bindings.

@davidfokkema
Copy link
Member Author

Nope. No Vedis. Vedis does not have a rpush command, and does lpush in the wrong order. It also has some longstanding bugs...

@davidfokkema
Copy link
Member Author

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...

@davidfokkema
Copy link
Member Author

Hmmm... ArangoDB or MongoDB both have arrays. ArangoDB is not in Stretch, but MongoDB is.

@davidfokkema
Copy link
Member Author

FaunaDB has arrays. It's from "the team that scaled Twitter".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

1 participant