Time-series data storage and processing database system

US9753935B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9753935-B1
Application numberUS-201615226675-A
CountryUS
Kind codeB1
Filing dateAug 2, 2016
Priority dateAug 2, 2016
Publication dateSep 5, 2017
Grant dateSep 5, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A database system is described that includes components for storing time-series data and executing custom, user-defined computational expressions in substantially real-time such that the results can be provided to a user device for display in an interactive user interface. For example, the database system may process stored time-series data in response to requests from a user device. The request may include a start time, an end time, a period, and/or a computational expression. The database system may retrieve the time-series data identified by the computational expression and, for each period, perform the arithmetic operation(s) identified by the computational expression on data values corresponding to times within the start time and the end time. Once all new data values have been generated, the database system may transmit the new data values to the user device for display in the interactive user interface.

First claim

Opening claim text (preview).

What is claimed is: 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. 2. The database of claim 1 , wherein the threshold value and the second threshold value are the same value. 3. The database of claim 1 , wherein the program instructions are further configured for execution by the computer processor in order to cause the processing node to mark the first data segment file and the second data segment file for deletion. 4. The database of claim 1 , wherein the program instructions are further configured for execution by the computer processor in order to cause the processing node to: receive second data associated with the first time-series; compress the second data; and store the compressed second data in the time-series database as the second data segment file. 5. The database of claim 4 , wherein the program instructions are further configured for execution by the computer processor in order to cause the processing node to compress the second data using one of block compression, out of box compression, or a delta-based compression. 6. The database of claim 4 , wherein the program instructions are further configured for execution by the computer processor in order to cause the processing node to store the compressed second data in a global write ahead log and in an in-memory buffer associated with the first time-series. 7. The database of claim 6 , wherein the program instructions are further configured for execution by the computer processor in order to cause the processing node to store the compressed second data in a local write ahead log associated with the first time-series in response to the global write ahead log reaching capacity. 8. The database of claim 7 , wherein the program instructions are further configured for execution by the computer processor in order to cause the processing node to store the compressed second data in the time-series database as the second data segment file in response to the local write ahead log reaching capacity. 9. The database of claim 1 , wherein a range of sizes corresponding to the second size range is larger than a range of sizes corresponding to the first size range. 10. The database of claim 1 , wherein the first size range is contiguous with the second size range. 11. The database of claim 1 , wherein the program instructions are further configured for execution by the computer processor in order to cause the processing node to: receive a series expression, a start time, an end time, and a period from a user device; retrieve, from the time-series database, a portion of the third data segment file corresponding to the start time and the end time; and transmit the portion of the third data segment file to a plug-in computation device for generating, for each period between the start time and the end time, a value based on a computation identified by the series expression. 12. The database of claim 11 , wherein the program instructions are further configured for execution by the computer processor in order to cause the processing node to: receive the generated values from the plug-in computation device; and transmit the generated values to the user device for display. 13. The database of claim 11 , wherein the start time and the end time correspond to a window of data displayed in an interactive user interface generated by the user device. 14. The database of claim 13 , wherein the period identifies a period of time that corresponds with a width of a pixel in the interactive user interface. 15. The database of claim 1 , wherein the first data segment file stored in the time-series database is immutable.

Assignees

Inventors

Classifications

  • Details of free space management performed by the file system (saving storage space on storage systems G06F3/0608; management of blocks in storage devices G06F3/064) · CPC title

  • Query predicate definition using graphical user interfaces, including menus and forms (G06F16/2423 takes precedence) · CPC title

  • G06F16/248Primary

    Presentation of query results · CPC title

  • Data stream processing; Continuous queries · CPC title

  • Physics · mapped topic

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9753935B1 cover?
A database system is described that includes components for storing time-series data and executing custom, user-defined computational expressions in substantially real-time such that the results can be provided to a user device for display in an interactive user interface. For example, the database system may process stored time-series data in response to requests from a user device. The reques…
Who is the assignee on this patent?
Palantir Technologies Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/1727. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 05 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).