1. A method for processing data the method comprising: receiving a desired sample size from a user; increasing the desired sample size based on a policy; using the increased desired sample size to determine a number of samples to take from a database segment based on a relationship between the increased desired sample size, a dataset density, and a number of segments in the dataset, wherein the database segment comprises a disjoint subset of a dataset; generating a sub-dataset based on the determined number of samples to take from the database segment, wherein the sub-dataset only includes identifiers; joining the generated sub-dataset with the dataset resulting in a joined dataset; and storing the joined dataset in a storage device.