Querying spatial data in column stores using tree-order scans
First Claim
Patent Images
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 tree-order hierarchy, the mapping further comprising;
recursively subdividing a bounded space into a grid containing the spatial point objects in the tree-order hierarchy, the tree-order hierarchy having a plurality of levels such that cells in the grid at a lower level of the tree-order hierarchy have a finer scale than cells in the grid at a higher level of the tree-order hierarchy,assigning a bounding rectangle for each spatial point object of the plurality of spatial point objects to a single cell of the grid at a level of the plurality of levels in which the single cell fits all of the spatial point object,indexing the cells of the grid, the indexing comprising enumerating nodes of the tree-order hierarchy such that the tree-order hierarchy is not stored explicitly, andstoring an enumeration order for the bounding box in an index vector, the enumeration order being determined from the indexing;
identifying a minimum bounding box based on a received query of the spatial data, the identifying comprising scanning the cells of the grid using a tree-order scanning technique;
determining, based on the mapping and using the identified 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; and
retrieving the spatial data set from the physical storage location based on the determining.
2 Assignments
0 Petitions
Accused Products
Abstract
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 tree-order scanning technique. A spatial data set that corresponds to the received query is then mapped to the physical storage in the database using the identified minimal bounding rectangle. Next, the spatial data set is then retrieved. Related apparatus, systems, techniques and articles are also described.
31 Citations
17 Claims
-
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 tree-order hierarchy, the mapping further comprising; recursively subdividing a bounded space into a grid containing the spatial point objects in the tree-order hierarchy, the tree-order hierarchy having a plurality of levels such that cells in the grid at a lower level of the tree-order hierarchy have a finer scale than cells in the grid at a higher level of the tree-order hierarchy, assigning a bounding rectangle for each spatial point object of the plurality of spatial point objects to a single cell of the grid at a level of the plurality of levels in which the single cell fits all of the spatial point object, indexing the cells of the grid, the indexing comprising enumerating nodes of the tree-order hierarchy such that the tree-order hierarchy is not stored explicitly, and storing an enumeration order for the bounding box in an index vector, the enumeration order being determined from the indexing; identifying a minimum bounding box based on a received query of the spatial data, the identifying comprising scanning the cells of the grid using a tree-order scanning technique; determining, based on the mapping and using the identified 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; and retrieving the spatial data set from the physical storage location based on the determining. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A non-transitory computer program product comprising a non-transitory machine-readable medium 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 tree-order hierarchy, the mapping further comprising; recursively subdividing a bounded space into a grid containing the spatial point objects in the tree-order hierarchy, the tree-order hierarchy having a plurality of levels such that cells in the grid at a lower level of the tree-order hierarchy have a finer scale than cells in the grid at a higher level of the tree-order hierarchy, assigning a bounding rectangle for each spatial point object of the plurality of spatial point objects to a single cell of the grid at a level of the plurality of levels in which the single cell fits all of the spatial point object, indexing the cells of the grid, the indexing comprising enumerating nodes of the tree-order hierarchy such that the tree-order hierarchy is not stored explicitly, and storing an enumeration order for the bounding box in an index vector, the enumeration order being determined from the indexing; identifying a minimum bounding box based on a received query of the spatial data, the identifying comprising scanning the cells of the grid using a tree-order scanning technique; determining, based on the mapping and using the identified 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; and retrieving the spatial data set from the physical storage location based on the determining. - View Dependent Claims (15, 16)
-
-
17. 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 the database, the mapping comprising preserving spatial proximity of a plurality of spatial point objects when the spatial data are physically stored using a tree-order hierarchy, the mapping further comprising; recursively subdividing a bounded space into a grid containing the spatial point objects in the tree-order hierarchy, the tree-order hierarchy having a plurality of levels such that cells in the grid at a lower level of the tree-order hierarchy have a finer scale than cells in the grid at a higher level of the tree-order hierarchy, assigning a bounding rectangle for each spatial point object of the plurality of spatial point objects to a single cell of the grid at a level of the plurality of levels in which the single cell fits all of the spatial point object, indexing the cells of the grid, the indexing comprising enumerating nodes of the tree-order hierarchy such that the tree-order hierarchy is not stored explicitly, and storing an enumeration order for the bounding box in an index vector, the enumeration order being determined from the indexing; identifying a minimum bounding box based on a received query of the spatial data, the identifying comprising scanning the cells of the grid using a tree-order scanning technique; determining, based on the mapping and using the identified 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; and retrieving the spatial data set from the physical storage location based on the determining; mapping, using the identified minimal bounding rectangle, a spatial data set corresponding to the received query to physical storage in the database; and retrieving the spatial data set.
-
Specification