1. A method for rapid data analysis comprising: receiving and interpreting a query, wherein interpreting the query comprises identifying a first set of data shards containing data relevant to the query; collecting a first data sample from the first set of data shards, wherein collecting the first data sample comprises collecting data from each of the first set of data shards; calculating an intermediate result to the query based on analysis of the first data sample; analyzing the intermediate result to identify a set of query-relevant data sources; identifying a second set of data shards from the set of query-relevant data sources; collecting a second data sample from the second set of data shards, wherein collecting the second data sample comprises collecting data from each of the second set of data shards; and calculating a final result to the query based on analysis of the second data sample.