Hi,
Right now, the sync process is quiet slow. Reason for this is Node being a single threaded technology, is unable to do utilize the processing power available on machine(in which bitcore-node is running) to the extent it should be utilizing.
Right now, its become difficult to run sync for days(especially for start-ups) & going farward, after an year or two, it will be impossible to do it.
Need to increase the sync speed is obvious(hope you are of the same perspective).
We can achieve this by using node cluster in the following manner :-
The entire bitcore-node should be split into 2 separate node processes.
a. First process reads the data from bitcoin-qt and, passes the result to second process. This will be a single threaded process. No use of cluster needed.
This thread can also be used to store the data to bitcore-node DB and go for next block.
b. Second node process which uses node-cluster and, does all the processing intensive work. This process should by default use "Number of processors available -2".
This passes the entire block along with transactions to the first process which stores the block to bitcore-node DB and, goes to fetch the next block.
By doing this, we won't have the problem of database lock as, single thread will be using the level-db operations(1st process) and, processor intensive work would be delegated to another node-process using cluster. This definitely will increase the sync process.
Hope you find the suggestion helpful.