Data Provenance: From Theory to Practice