Skip to content
This repository has been archived by the owner on Jul 28, 2021. It is now read-only.
Mihou edited this page Jun 22, 2021 · 4 revisions

RoseDB

❤️ What is RoseDB?

RoseDB is a simple, NoSQL database that is written completely in Java containing the most basic functions that is needed for a database. This project was initially created as a random project for me (a shower thought) but has evolved into a learning experience for me.

✨ What is the purpose/goal of the application?

My primary goal/aim of this project is not to create the best database but a simple database that can get you up and running in literal mere seconds with little to no configuration at all.

Are you not convinced? Have a look at our no-configuration setup.

  1. Download the jar from Releases.
  2. Run the jar from a console: java -jar RoseDB.jar.
  3. Type in your Authorization code (be sure to remember it) then restart the application.
  4. Install one of our drivers (for example, the official Java driver) and follow the instructions to use the driver.

🛡️ Is this secure?

RoseDB has support for websocket SSL which counts as security and also an Authorization header enforcement with the header being compared with hash (it is written to the disk as a hash value for security), there will be more security features and if you have more to suggest then feel free to send a Pull Request or an Issue explaining everything. We are always focusing our attention to bringing more security features onto the application but since we are still in our very early stages, we are trying to get everything up and running first before focusing on security.

Though, in my opinion, RoseDB is more suited to be used in simple applications like tiny Discord bots that is shared among friends and not large applications that require super complicated features, after all, the main aim of RoseDB is to be as simple as possible and that involves replication and load balancing (future).

⚙️ How does this work?

RoseDB works with both in-memory and file data storage, for every request it receives, it stores it on a queue and also on its cache which will be saved immediately at an interval of 5 seconds to the specified directory. It utilizes websockets to receive and send data to clients and should be more than capable to process plenty of requests per second.