DozerDB / dozerdb-core

DozerDB Plugin Core Project
GNU General Public License v3.0
27 stars 4 forks source link

Implement STOP and START functionality for databases #10

Open jmsuhy opened 7 months ago

jmsuhy commented 7 months ago

Implement STOP DATABASE and START DATABASE .

Currently, all databases are started when the server is started.

awhillas commented 1 month ago

I take it this means that all the DBs are in memory all the time? I guess what would be ideal would to have the last N accesses databases in memory and the rest stopped? Or at least a way that this could be managed externally via API? I assume there is a way to track memory consumption and/or get the size of a DB before one loads it into memory? Something like Kubernetes would scale if the memory went up but this doesn't scale horizontally, does it? Sorry for all the questions...

jmsuhy commented 1 month ago

With the multi-database feature, not all databases are automatically loaded into memory. The core of this functionality is in Neo4j Core, we just build out the parts that were only implemented in enterprise. I believe Neo4j core uses a demand-based loading mechanism, which means databases are only loaded into memory when they are started and accessed. I.E. If you start up a bunch of databases but don't access them or do hot loading, then you won't be loading them all into memory.

I need to validate this statement - but I believe it is correct.

Imbalanceone commented 1 week ago

is there any progress on this issue? i want use neo4j-admin database import, for updating some databases without turn off all neo4j, because all databases are lock.