Closed dvdheiden closed 1 year ago
It's planned. My original plan was to first implement configuration management to specify whether Redis should be used as a durable or non-durable database. Maybe I can get it done easier. I'll have a look.
Thank you very much. StackBricks looks really promising, nice job!
DBngin installs Redis as a durable database. As the configuration management would be the difference between the other database engines, and therefore probably more work to implement, it might be an idea to do the same for now and maybe add the configuration management later on.
If you need some help with testing, please let me know as I would be happy to assist you.
I am not quite sure which durable mode is the most generic one fitting all requirements? Is periodic RDB good enough for all applications? Should AOF be used to not miss any write operation and work like all other databases StackBricks provides? But the performance will be slightly worse.
The problem is that there is no generic consensus on how data in redis should be saved.
Redis has documentation about this:
The general indication you should use both persistence methods is if you want a degree of data safety comparable to what PostgreSQL can provide you. If you care a lot about your data, but still can live with a few minutes of data loss in case of disasters, you can simply use RDB alone. There are many users using AOF alone, but we discourage it since to have an RDB snapshot from time to time is a great idea for doing database backups, for faster restarts, and in the event of bugs in the AOF engine.
But DBngin installs Redis with AOF disabled:
INFO PERSISTENCE
aof_enabled:0
So if the goal is to replace DBngin, I would suggest RDB as default.
I guess I start with AOF+RDB by default as it is the most durable one and no one can complain about missing data. The performance might be slightly worse than DBngin for a high amount of write operations. But to solve this the configurable options will be available some time later which enables fine-tuning the persistence options to get the best performance.
Totally agree, sounds like a solid plan!
I think very common config and the one you find most I'm tutorials is the RDB one. And as the very default should be enough. But am happy with every one as I think that no one will do performance tests with stackbricks but just want working services to develop with.
Wow it silently happened!
From @tpetry's newsletter:
After releasing the open beta last month, I promised to work on supporting Redis. And it is now available: All Redis versions, from the ancient v2 to the newest v7.0.5!
Thank you! 👍
Ah, completely missed closing the issue. Yes, redis is available since Sunday!
Would you consider supporting Redis too? Redis is an open-source, advanced key-value store and is used for a lot of applications/frameworks (from WordPress to Laravel).
The reason I'm asking is that although DBngin supports Redis, I would love to have one app to manage all my database services.