Hi everyone!
Our current project, based on BaseX, was failed on launch, because we
have any practice with optimization for NoSQL databases and take the
bottleneck with write locks, but we take the unbelievable experience
with BaseX.
Today I know, how to get the maximum from this DB
1. Custom query slot management.
It would be useful, if query command can take the number of taken slot.
>From code side I know, that some type of requests is very simple, very
fast, and DB can return rapidly the results back. And this type of
requests may be sticked to some query slots permanently. From other
side, heavy xQuery code may be managed automatically by BaseX
2. Named instances
We need to start multiple BaseX servers to utilize more then one CPU
core. It would be useful to set up the name for each instance by
personal .basex config
3. Access mode
Next proposal is simple. Allow to manage the type of access (read or
write only, both) to DB for list of named instances.
This proposal may help with the next architecture: many servers with one DBPATH.
Server1 Server2 Server3
| | |
--------------------------------
| | | |
DB1 DB2 DB3 DB4
DB1 permissions
Read: Server1, Server3
Write: Server2
DB2, DB3, DB4 permissions
Read: Server1, Server2
Write: Server2
This may protect from DB corrupts.
Is it interesting concept?
--
s0rr0w