garageScript / databases

Play with databases without account
https://learndatabases.dev/
7 stars 11 forks source link

closes #161 - add Ignite key-value in-memory database #247

Open Ulisseus opened 3 years ago

Ulisseus commented 3 years ago

While Redis supports creating username-password pairs with Access Control List most node.js clients still don't have this feature. Some clients allow you to authorize from node, but creating and deleting users still needs to be done via redis-cli. So Redis is not an option.

The same applies to Memcached and probably most other in-memory databases. Since these databases were designed as caches their security is either non-existent or they support only one global password. Ignite was the only one db with proper authentication out of the box (at least the only one which I could find, there are probably much more). In fact it's more than simple key-value store but in our case it's completely unnecessary.

To safely merge:

Start the server with provided configuration bash ignite.sh path-to-igniteConfig.xml. It's configured to have persistence (if server runs out of memory heap file on disk will be used, it's also a requirement for authentication for some reason) and to limit in-memory region to 200mb.

Tutorial is pretty barebones so far, additions are welcome.