CoreProtect

CoreProtect

1M Downloads

[Request] Use MongoDB Driver

NovaPixell opened this issue ยท 11 comments

commented

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!

commented

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.

commented

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

commented

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

commented

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.

commented

I mean, CoreProtect uses HikariCP as default

commented

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

commented

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?

commented

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.

commented

Ah okok, it could be very interesting if they implement it

commented

MongoDB would likely be even slower. I'd recommend optimizing your MySQL server configuration, and ensuring it isn't hosted remotely.

commented

I'm using a local database. How can I optimize the db?