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.
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. 15. The method of claim 1 , wherein the hierarchical organizational structure defines that for each tenant of a multi-tenant computing system, only files associated with the respective tenant are stored within a respective partitioned portion of the plurality of files; wherein the data query request includes an indication of one or more indicated tenants whose data is to be searched; and wherein scanning a plurality of files includes scanning only the partitioned portions of the plurality of files associated with the indicated tenants.