tpetry / stackbricks-community

Issue and Feature Tracker for the StackBricks database management software
9 stars 0 forks source link

Redis support #21

Closed dvdheiden closed 1 year ago

dvdheiden commented 2 years ago

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.

tpetry commented 2 years 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.

dvdheiden commented 2 years ago

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.

tpetry commented 2 years ago

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.

dvdheiden commented 2 years ago

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.

tpetry commented 2 years ago

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.

dvdheiden commented 2 years ago

Totally agree, sounds like a solid plan!

Gummibeer commented 2 years ago

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.

dvdheiden commented 1 year ago

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! 👍

tpetry commented 1 year ago

Ah, completely missed closing the issue. Yes, redis is available since Sunday!