Abstract: A method of maintaining an index of time-series data records held in a data store comprises identifying one or more time-series data records not currently indexed in a binary tree structure and corresponding with a time range, and creating a new leaf node. Start-time and end-time fields of the new leaf node are populated with values encompassing the time range corresponding with identified time-series data records. The binary tree structure is updated such that the new leaf node is added as a first or second child node of a parent node representing a time range encompassing the values of the start-time and end-time fields of the new leaf node. Existence of the new leaf node in the binary tree structure is thereby indicative of existence of the one or more identified time-series data records in the data store.