1. A database configured to receive and process requests associated with time-series data and provide results to a user device, the database comprising: a processing node comprising a computer processor and memory; a time-series database storing a first data segment file and a second data segment file, wherein the first data segment file comprises data associated with a first time-series, wherein a size of the first data segment file is within a first size range, wherein a size of the second data segment file is within the first size range; and a non-transitory computer readable storage medium storing program instructions, wherein the program instructions are configured for execution by the computer processor in order to cause the processing node to: determine that a number of data segment files stored in the time-series database that comprise data associated with the first time-series and that have a size within the first size range is greater than a threshold value; compact the first data segment file with the second data segment file to form a third data segment file, wherein a size of the third data segment file is within a second size range different than the first size range; store the third data segment file in the time-series database; determine that a number of data segment files stored in the time-series database that comprise data associated with the first time-series and that have a size within the second size range is greater than a second threshold value; compact the third data segment file with other data segment files that comprise data associated with the first time-series and that have a size within the second size range to form a fourth data segment file, wherein a size of the fourth data segment file is within a third size range different than the first and second size ranges; and store the fourth data segment file in the time-series database.