Querying spatial data in column stores using grid-order scans

US9720931B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9720931-B2
Application numberUS-201414274548-A
CountryUS
Kind codeB2
Filing dateMay 9, 2014
Priority dateMay 9, 2014
Publication dateAug 1, 2017
Grant dateAug 1, 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 query of spatial data is received by a database comprising a columnar data store storing data in a column-oriented structure. Thereafter, a minimal bounding rectangle associated with the query is identified using a grid order scanning technique. The spatial data set corresponding to the received query is then mapped to physical storage in the database using the identified minimal bounding rectangle so that the spatial data set can be retrieved. Related apparatus, systems, techniques and articles are also described.

First claim

Opening claim text (preview).

What is claimed is: 1. A method implemented on one or more systems comprising one or more programmable processors, the method comprising: mapping spatial data stored in a database comprising a columnar data store storing the spatial data in a column-oriented structure, the mapping comprising preserving spatial proximity of a plurality of spatial point objects when the spatial data are physically stored using a grid ordering comprising: dividing a bounded space containing the spatial point objects into a grid having fixed boundaries and comprising rectangular cells, indexing the cells of the grid, wherein the indexing comprises defining a minimum bounding box for each spatial point object of the plurality of spatial point objects, the minimum bounding box enclosing the spatial point object, storing a grid-identifier to at least one cell of the grid for each minimum bounding box, and creating index vectors to represent the cells of the grid and the grid identifiers of the minimum bounding boxes, and assigning any minimum bounding boxes having a size above a certain level to an overflow cell; identifying a target minimum bounding box based on a received query of the spatial data, the identifying comprising scanning the cells of the grid and the exclusive ordering values using the index vectors; determining, based on the mapping and the identified target minimum bounding box, a spatial data set corresponding to the received query and a physical storage location in the database from which to retrieve the spatial data set, the determining further comprising checking the overflow cell for the received query; and retrieving the spatial data set from the physical storage location based on the determining. 2. A method as in claim 1 , wherein the grid ordering comprises the grid of cells being of uniform length along each axis of a plurality of axes. 3. A method as in claim 2 , wherein the indexing of the cells of the grid comprises indexing the cells with a space-filling curve. 4. A method as in claim 3 , wherein the space-filling curve comprises a Hilbert space-filling curve. 5. A method as in claim 2 , further comprising redundantly storing a reference to each minimum bounding box for every cell the minimum bounding box intersects. 6. A method as in claim 2 , further comprising storing a reference to each minimum bounding box only for a cell at which a corner of the minimum bounding box is inside. 7. A method as in claim 6 , wherein a parameter defines a number of adjacent cells per dimension extending from the corner. 8. A method as in claim 1 , wherein the size is based on a number of adjacent cells per dimension that the minimum bounding box can intersect. 9. A method as in claim 1 , wherein the grid ordering comprises the grid of cells having non-uniform dimensions. 10. A non-transitory computer program product storing instructions which, when executed by at least one data processor forming part of at least one computing system, result in operations comprising: mapping spatial data stored in a database comprising a columnar data store storing the spatial data in a column-oriented structure, the mapping comprising preserving spatial proximity of a plurality of spatial point objects when the spatial data are physically stored using a grid ordering comprising: dividing a bounded space containing the spatial point objects into a grid having fixed boundaries and comprising rectangular cells, indexing the cells of the grid, wherein the indexing comprises defining a minimum bounding box for each spatial point object of the plurality of spatial point objects, the minimum bounding box enclosing the spatial point object, storing a grid-identifier to at least one cell of the grid for each minimum bounding box, and creating index vectors to represent the cells of the grid and the grid identifiers of the minimum bounding boxes, and assigning any minimum bounding boxes having a size above a certain level to an overflow cell; identifying a target minimum bounding box based on a received query of the spatial data, the identifying comprising scanning the cells of the grid and the exclusive ordering values using the index vectors; determining, based on the mapping and the identified target minimum bounding box, a spatial data set corresponding to the received query and a physical storage location in the database from which to retrieve the spatial data set, the determining further comprising checking the overflow cell for the received query; and retrieving the spatial data set from the physical storage location based on the determining. 11. A computer program product as in claim 10 , wherein the grid ordering comprises the grid of cells being of uniform length along each axis of a plurality of axes. 12. A computer program product as in claim 11 , wherein the indexing of the cells of the grid comprises indexing the cells with a space-filling curve. 13. A computer program product as in claim 12 , wherein the space-filling curve comprises a Hilbert space-filling curve. 14. A computer program product as in claim 11 , wherein the operations further comprise redundantly storing a reference to each minimum bounding box for every cell the minimum bounding box intersects. 15. A computer program product as in claim 11 , wherein the operations further comprise a reference to each minimum bounding box only for a cell at which a corner of the minimum bounding box is inside. 16. A computer program product as in claim 15 , wherein a parameter defines a number of adjacent cells per dimension extending from the corner. 17. A computer program product as in claim 15 , wherein the operations further comprise any minimum bounding boxes having a size above a certain level to an overflow cell. 18. A system comprising: a database comprising a columnar data store storing data in a column-oriented structure; at least one data processor; and memory storing instructions which, when executed by the at least one data processor, result in operations comprising: mapping spatial data stored in a database comprising a columnar data store storing the spatial data in a column-oriented structure, the mapping comprising preserving spatial proximity of a plurality of spatial point objects when the spatial data are physically stored using a grid ordering comprising: dividing a bounded space containing the spatial point objects into a grid having fixed boundaries and comprising rectangular cells, indexing the cells of the grid, wherein the indexing comprises defining a minimum bounding box for each spatial point object of the plurality of spatial point objects, the minimum bounding box enclosing the spatial point object, storing a grid-identifier to at least one cell of the grid for each minimum bounding box, and creating index vectors to represent the cells of the grid and the grid identifiers of the minimum bounding boxes, and assigning any minimum bounding boxes having a size above a certain level to an overflow cell; identifying a target minimum bounding box based on a received query of the spatial data, the identifying comprising scanning the cells of the grid and the exclusive ordering values using the index vectors; determining, based on the mapping and the identified target minimum bounding box, a spatial data set corresponding to the received query and a physical storage location in the database from which to retrieve the spatial data set, the determining further comprising checking the overflow cell for the received query; and retrieving the spatial data set from the physical storage loca

Assignees

Inventors

Classifications

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 US9720931B2 cover?
A query of spatial data is received by a database comprising a columnar data store storing data in a column-oriented structure. Thereafter, a minimal bounding rectangle associated with the query is identified using a grid order scanning technique. The spatial data set corresponding to the received query is then mapped to physical storage in the database using the identified minimal bounding rec…
Who is the assignee on this patent?
Tyercha Edward-Robert, Kazmaier Gerrit Simon, Gildhoff Hinnerk, and 4 more
What technology area does this patent fall under?
Primary CPC classification G06F17/30241. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 01 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).