Skip to content

Server should be able to manage thousands of databases #1001

Closed

Description

@lvca

Once you open a database on an ArcadeDB Server, the server keeps the database open until it's expressly closed (/close HTTP command). For use cases with hundreds or even thousands of small databases hosted on one server, it would be useful to have an LRU on the databases, so that the least used database is closed. This could be a server setting:

arcadedb.server.maxOpenDatabases = 100 (default = 100)

We could also introduce a maximum timeout for an unused database to remain open on the server. After the timeout is expired, the database is automatically closed.

arcadedb.server.closeDatabaseTimeout = 0 (default = 0)

Activity

  1. lvca commented on Nov 25, 2024

    @lvca
    MemberAuthor

    This became more relevant now with real use cases in production with many databases. The server should be able to keep only the most recent active databases in RAM and automatically close and reopen when a client is accessing.

  2. added this to the milestone on Nov 25, 2024
  3. self-assigned this
    on Nov 25, 2024
  4. lvca commented on Dec 6, 2024

    @lvca
    MemberAuthor

    Now we have a centralized PageManager a server can easily manage hundreds of databases. The only limitation is the OS max files opened. For this reason I'm no closing this issue waiting for implementing a LRU on the used files.

    Instead of opening and closing the databases, we could do this for single files.

  5. modified the milestones: , 25.1.1 on Dec 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions