Legal claims defining the scope of protection, as filed with the USPTO.
1. A system, comprising: a distributed time-series database comprising a plurality of storage nodes including a first storage node and a plurality of database clusters, wherein the distributed time-series database stores time-series data of a plurality of time series using the plurality of database clusters, wherein leases for a plurality of tiles representing spatial and temporal partitions of the time-series data are assigned to the first storage node, and wherein the distributed time-series database comprises a plurality of processors and a plurality of memories to store computer-executable instructions that, when executed, cause the processors to: determine that a heat metric for the first storage node has exceeded a threshold, wherein the heat metric is indicative of a throughput of elements of the time-series data at the first storage node; determine respective heat metrics for two or more additional storage nodes including a second storage node of the plurality of storage nodes; select the second storage node based at least in part on the respective heat metrics, wherein the second storage node has a lower heat metric than at least one of the additional storage nodes; reassign one or more of the leases for one or more of the tiles from the first storage node to the second storage node; and store, by the second storage node into the plurality of database clusters, elements of the time-series data for the one or more reassigned leases.
2. The system as recited in claim 1 , wherein the plurality of memories store additional computer-executable instructions that, when executed, cause the processors to: determine that an additional heat metric for a first database cluster of the plurality of database clusters of the time-series database has exceeded an additional threshold, wherein the first database cluster stores a plurality of additional tiles; perform a temporal split on a particular tile of plurality of additional tiles, wherein the particular tile has additional spatial boundaries and additional temporal boundaries, wherein the temporal split generates a first new tile having the additional spatial boundaries and an earlier portion of the additional temporal boundaries, and wherein the temporal split generates a second new tile having the additional spatial boundaries and a later portion of the additional temporal boundaries; and store additional elements of the time-series data in the second new tile in a second database cluster of the plurality of database clusters.
3. The system as recited in claim 2 , wherein the additional temporal boundaries are split into the earlier portion and the later portion at or after a current point in time, and wherein elements of the time-series data within the additional spatial boundaries and the earlier portion of the additional temporal boundaries are maintained in the particular tile in the first database cluster.
4. The system as recited in claim 1 , wherein the plurality of memories store additional computer-executable instructions that, when executed, cause the processors to: initiate, by the first storage node, a lease exchange between the first storage node and a second storage node, wherein the first storage node has a first connection to a first database cluster of the plurality of database clusters for storing a first one or more tiles using the first database cluster, and wherein the second storage node has a second connection to the first database cluster for storing a second one or more tiles using the first database cluster; transfer one or more leases for the second one or more tiles from the second storage node to the first storage node; and transfer one or more additional leases for an additional one or more tiles stored by a second database cluster from the first storage node to the second storage node.
5. A method, comprising: determining, by a time-series database, that a heat metric for a first storage node of the time-series database has exceeded a threshold, wherein the time-series database stores time-series data of a plurality of time series using a plurality of database clusters, and wherein a plurality of leases for a plurality of tiles representing spatial and temporal partitions of the time-series data are assigned to the first storage node; determining, by the time-series database, respective heat metrics for two or more additional storage nodes including a second storage node; selecting, by the time-series database, the second storage node based at least in part on the respective heat metrics; reassigning, by the time-series database, one or more of the leases for one or more of the tiles from the first storage node to the second storage node; and storing, by the second storage node into the plurality of database clusters, elements of the time-series data in one or more tiles associated with the one or more reassigned leases.
6. The method as recited in claim 5 , wherein the first storage note determines that the heat metric for the first storage node has exceeded the threshold, and wherein an additional storage node determines that a heat metric for the additional storage node has exceeded the threshold.
7. The method as recited in claim 5 , wherein the heat metric for the second storage node is lower than the heat metrics for the first storage node and the additional storage nodes.
8. The method as recited in claim 5 , further comprising: determining, by the time-series database, that an additional heat metric for a first database cluster of the plurality of database clusters of the time-series database has exceeded an additional threshold, wherein the first database cluster stores a plurality of additional tiles; performing, by the time-series database, a temporal split on a particular tile of plurality of additional tiles, wherein the particular tile has additional spatial boundaries and additional temporal boundaries, wherein the temporal split generates a first new tile having the additional spatial boundaries and an earlier portion of the additional temporal boundaries, and wherein the temporal split generates a second new tile having the additional spatial boundaries and a later portion of the additional temporal boundaries; and storing, by the time-series database, additional elements of the time-series data in the second new tile in a second database cluster of the plurality of database clusters.
9. The method as recited in claim 8 , wherein the additional temporal boundaries are split into the earlier portion and the later portion at or after a current point in time, and wherein elements of the time-series data within the additional spatial boundaries and the earlier portion of the additional temporal boundaries are maintained in the particular tile in the first database cluster.
10. The method as recited in claim 8 , wherein the plurality of additional tiles are randomly or pseudo-randomly assigned to the first database cluster.
11. The method as recited in claim 5 , further comprising: initiating, by the first storage node, a lease exchange between the first storage node and a second storage node, wherein the first storage node has a first connection to a first database cluster of the plurality of database clusters for storing a first one or more tiles, and wherein the second storage node has a second connection to the first database cluster for storing a second one or more tiles; transferring one or more leases for the second one or more tiles from the second storage node to the first storage node; and transferring one or more additional leases for an additional one or more tiles stored by a second database cluster from the first storage node to the second storage node.
12. The method as recited in claim 11 , wherein the number of connections to the first database cluster are reduced by the transferring the one or more leases for the second one or more tiles from the second storage node to the first storage node, and wherein a number of connections to the second database cluster are reduced by the transferring the one or more additional leases for the additional one or more tiles stored from the first storage node to the second storage node.
13. One or more non-transitory computer-readable storage media storing program instructions that, when executed on or across one or more processors, perform: determining, by a distributed time-series database, that a heat metric for a first storage node of the time-series database has exceeded a threshold, wherein the distributed time-series database stores time-series data of a plurality of time series using a plurality of database clusters, and wherein a plurality of leases for a plurality of tiles representing spatial and temporal partitions of the time-series data are assigned to the first storage node; determining, by the distributed time-series database, respective heat metrics for two or more additional storage nodes including a second storage node; selecting, by the distributed time-series database, the second storage node based at least in part on the respective heat metrics; reassigning, by the distributed time-series database, one or more of the leases for one or more of the tiles from the first storage node to the second storage node; and storing, by the second storage node into the plurality of database clusters, elements of the time-series data in one or more tiles associated with the one or more reassigned leases.
14. The one or more non-transitory computer-readable storage media as recited in claim 13 , wherein the plurality of leases for the plurality of tiles are randomly or pseudo-randomly assigned to the first storage node.
15. The one or more non-transitory computer-readable storage media as recited in claim 13 , wherein the heat metric for the second storage node is lower than the heat metrics for the first storage node and the additional storage nodes.
16. The one or more non-transitory computer-readable storage media as recited in claim 13 , further comprising additional program instructions that, when executed on or across the one or more processors, perform: determining, by the distributed time-series database, that an additional heat metric for a first database cluster of the plurality of database clusters of the distributed time-series database has exceeded an additional threshold, wherein the first database cluster stores a plurality of additional tiles; performing, by the distributed time-series database, a temporal split on a particular tile of plurality of additional tiles, wherein the particular tile has additional spatial boundaries and additional temporal boundaries, wherein the temporal split generates a first new tile having the additional spatial boundaries and an earlier portion of the additional temporal boundaries, and wherein the temporal split generates a second new tile having the additional spatial boundaries and a later portion of the additional temporal boundaries; and storing, by the distributed time-series database, additional elements of the time-series data in the second new tile in a second database cluster of the plurality of database clusters.
17. The one or more non-transitory computer-readable storage media as recited in claim 16 , wherein the additional temporal boundaries are split into the earlier portion and the later portion at or after a current point in time, and wherein elements of the time-series data within the additional spatial boundaries and the earlier portion of the additional temporal boundaries are maintained in the particular tile in the first database cluster.
18. The one or more non-transitory computer-readable storage media as recited in claim 16 , wherein the plurality of additional tiles are randomly or pseudo-randomly assigned to the first database cluster.
19. The one or more non-transitory computer-readable storage media as recited in claim 13 , further comprising additional program instructions that, when executed on or across the one or more processors, perform: determining, by the distributed time-series database, that a number of connections to a first database cluster of the plurality of database clusters exceeds a connection threshold, wherein the first storage node has a first one of the connections for storing a first one or more tiles using the first database cluster, and wherein a second storage node has a second one of the connections for storing a second one or more tiles using the first database cluster; transferring one or more leases for the second one or more tiles from the second storage node to the first storage node; and transferring one or more additional leases for an additional one or more tiles stored by a second database cluster from the first storage node to the second storage node.
20. The one or more non-transitory computer-readable storage media as recited in claim 19 , wherein the number of connections to the first database cluster are reduced by the transferring the one or more leases for the second one or more tiles from the second storage node to the first storage node, and wherein a number of connections to the second database cluster are reduced by the transferring the one or more additional leases for the additional one or more tiles stored from the first storage node to the second storage node.
Unknown
March 1, 2022
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.