move descriptors into a metadata dictionary
don't log XXX_multiple APIs, log writes individually
require db handles to be closed before updating a descriptor