1. A method comprising maintaining a database that stores data persistently, accepting tasks from task sources, at least some of the tasks having competing requirements for use of regions of the database, each of the regions including data that is all either locked or not locked for writing at a given time, associating each of the regions with an available processor, defining, for each of the tasks, jobs each of which requires write access to regions that are to be accessed by no more than one of the processors, and distributing the jobs for concurrent execution by the associated processors.