[Request] Use MongoDB Driver
NovaPixell opened this issue ยท 11 comments
CoreProtect is a great plugin. Used on big servers may have some problems (specially with MySQL, a lot of blocks data). Rollbacks, lookups are so slow. It would be great use MongoDB for the storage!
MongoDB would likely be even slower. I'd recommend optimizing your MySQL server configuration, and ensuring it isn't hosted remotely.
Mongo would be slower on rolbacks, true, but would have significant perf boost while saving data, which co does a lot, and often too.
btw, I've been looking at database code, there are speed gains to be had if you use HikariCP instead of regular connection that gets clogged due to a shear amount of writes happening.
I personally don't really see a reason to use a NoSQL database. All data is fairly structured and easy to query, a NoSQL database is not really useful here imo
I personally don't really see a reason to use a NoSQL database. All data is fairly structured and easy to query, a NoSQL database is not really useful here imo
The problem is when there is a lot of CoreProtect data, lookups and rollbacks are very slow. Sometimes the saving data process is interrupted
How can I use the HikariCP?
MongoDB would likely be even slower. I'd recommend optimizing your MySQL server configuration, and ensuring it isn't hosted remotely.
Mongo would be slower on rolbacks, true, but would have significant perf boost while saving data, which co does a lot, and often too.
btw, I've been looking at database code, there are speed gains to be had if you use HikariCP instead of regular connection that gets clogged due to a shear amount of writes happening.
I mean, CoreProtect uses HikariCP as default
No it doesn't. It uses regular connection and just queues everything on it, hikari is not even shaded in
I mean, CoreProtect uses HikariCP as default
No it doesn't. It uses regular connection and just queues everything on it, hikari is not even shaded in
ok, and CoreProtect shoul'd set it as default? What can I do?
ok, and CoreProtect shoul'd set it as default? What can I do?
HikariCP is a library to pool mysql connections, it has to be implemented manually in the plugin.
The reason I'm talking about it at all here it's because it appears your main point is rollbacks being slow. Pooling the connections and splitting the work into multiple mysql queries would help a lot in rollback and lookup speeds.
MongoDB would likely be even slower. I'd recommend optimizing your MySQL server configuration, and ensuring it isn't hosted remotely.