A computer implemented method comprising: based on a new page i of a first database; and based on a plurality of reference pages of a second database: organizing the plurality of reference pages in a metric index-structure having a metric distance measure between respective reference pages, and; determining a plurality of candidate reference pages of the second database by iterating over the metric index-structure, from at least one last best fitting reference page for a last new page i-1 of the first database, based on satisfying a metric distance measure threshold; processing, at a processor, the new page i and the plurality of candidate reference pages to determine a plurality of candidate minimal difference patches comprising one or more differences between the new page i and each of the plurality of candidate reference pages, and selecting one of the plurality of candidate reference pages based on minimal difference criteria, such that the respective candidate minimal difference patch is smallest in size; and the selected one of the plurality of candidate reference pages and the respective candidate minimal difference patch are configured to allow the new page i to be constructed from the selected one of the plurality of reference pages and the respective candidate minimal difference patch; and providing an incremental database update based on the respective candidate minimal difference patch. based on a new page i of a first database; and based on a plurality of reference pages of a second database: organizing the plurality of reference pages in a metric index-structure having a metric distance measure between respective reference pages, and; determining a plurality of candidate reference pages of the second database by iterating over the metric index-structure, from at least one last best fitting reference page for a last new page i-1 of the first database, based on satisfying a metric distance measure threshold; organizing the plurality of reference pages in a metric index-structure having a metric distance measure between respective reference pages, and; determining a plurality of candidate reference pages of the second database by iterating over the metric index-structure, from at least one last best fitting reference page for a last new page i-1 of the first database, based on satisfying a metric distance measure threshold; processing, at a processor, the new page i and the plurality of candidate reference pages to determine a plurality of candidate minimal difference patches comprising one or more differences between the new page i and each of the plurality of candidate reference pages, and selecting one of the plurality of candidate reference pages based on minimal difference criteria, such that the respective candidate minimal difference patch is smallest in size; and the selected one of the plurality of candidate reference pages and the respective candidate minimal difference patch are configured to allow the new page i to be constructed from the selected one of the plurality of reference pages and the respective candidate minimal difference patch; and providing an incremental database update based on the respective candidate minimal difference patch.