1. A method comprising: receiving, from a user device, a data query request that includes at least one search parameter; searching for the at least one search parameter as being included in at least one data record within a plurality of files that are stored according to a hierarchical organizational structure, wherein the hierarchical organizational structure includes at least one root and at least one tier including the plurality of files, and each of the plurality of files includes the at least one data record; determining whether a file of the plurality of files matches a portion of the at least one search parameter; upon determining the file of the plurality of files matches the portion of the at least one search parameter, setting the file as a candidate file; determining which record included by the candidate file includes the at least one search parameter, by: generating a plurality of query processing threads associated with the query request, for each respective query processing thread, determining a sub-portion of the candidate file, and as each query processing thread generates resultant data, providing the resultant data to a result analyzer of one or more result analyzers; generating, by the one or more result analyzers, query results from the resultant data; and while continuing to generate the query results, streaming, to the user device, the query results as at least one query result becomes available and to start streaming before the query requests have been fully generated.