1. A method comprising: determining, via a processor of a computing system, an actual or estimated minimum vertex cover of a feature dependency graph representing a dataset, the dataset including a plurality of feature vectors and a plurality of features, each feature vector including a plurality of feature values that correspond with the features, each feature being capable of assuming two or more values, the feature dependency graph representing a plurality of conditional dependencies between the features, the minimum vertex cover designating a subset of the features for strata selection; partitioning the feature vectors into a plurality of strata based on the designated subset of features, each stratum including one or more of the feature vectors, each feature vector being assigned to a corresponding stratum based on the values of the designated subset of features for the feature vector; selecting a stratified sample from the dataset, the stratified sample including a plurality of sample observations, each sample observation being selected from a respective stratum, each stratum having a respective stratum size, the observations being selected in proportion to the stratum sizes; distributing the stratified sample among a plurality of counter nodes in the computing system via data packets over a network, each of the plurality of counter nodes storing a respective portion of the stratified sample in memory; transmitting a query request from an aggregator node to each of the plurality of counter nodes via data packets over the network; and aggregating a plurality of responses to the query requests at the aggregator node, the plurality of responses received from the plurality of counter nodes via data packets over the network, each response describing a result of the query request for the respective portion of the stratified sample stored on the counter node.