HOME

TheInfoList



OR:

In
computer science Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to practical disciplines (includin ...
, a grid file or bucket grid is a point access method which splits a space into a non-periodic grid where one or more cells of the grid refer to a small set of points. Grid files (a symmetric data structure) provide an efficient method of storing these indexes on disk to perform complex data lookups. It provides a grid of ''n''-dimensions where ''n'' represents how many keys can be used to reference a single point. Grid files do not contain any data themselves but instead contain references to the correct bucket.


Uses

A grid file is usually used in cases where a single value can be referenced by multiple keys. A grid file began being used because "traditional file structures that provide multikey access to records, for example, inverted files, are extensions of file structures originally designed for single-key access. They manifest various deficiencies in particular for multikey access to highly dynamic files."J. Nievergelt, H. Hinterberger ''The Grid File: An Adaptable, Symmetric Multikey File Structure''. Institut fur Informatik, ETH and K. C. Sevcik, 1984. Abstract, pp.1. In a traditional single dimensional data structure (e.g.
hash Hash, hashes, hash mark, or hashing may refer to: Substances * Hash (food), a coarse mixture of ingredients * Hash, a nickname for hashish, a cannabis product Hash mark *Hash mark (sports), a marking on hockey rinks and gridiron football field ...
), a search on a single criterion is usually very simple but searching for a second criterion can be much more complex. Grid files represent a special kind of hashing, where the traditional hash is replaced by a grid directory.


Examples


Census DatabaseElmasri & Navathe ''Fundamentals of Database Systems'', Third Edition. Addison-Wesley, 2000. . Section 6.4.3: Grid Files, pp.185.

Consider a database containing data from a census. A single
record A record, recording or records may refer to: An item or collection of data Computing * Record (computer science), a data structure ** Record, or row (database), a set of fields in a database related to one entity ** Boot sector or boot record, ...
represents a single household, and all records are grouped into buckets. All records in a bucket can be indexed by either their city (which is the same for all records in the bucket), and the streets in that city whose names begin with the same letter. A grid file can be used to provide an efficient index for this structure, where records come in groupings of 26, each of them relating to street names in a city starting with one of the letters of the alphabet. This structure can be thought of as an array, table, or grid with two dimensions which we will call the x and y axes. One may consider the x-axis to be the city and the y-axis to be each of the letters in the alphabet, or alternatively, the first letter of each street. Each record in this structure is known as a cell. Each cell will contain a
pointer Pointer may refer to: Places * Pointer, Kentucky * Pointers, New Jersey * Pointers Airport, Wasco County, Oregon, United States * The Pointers, a pair of rocks off Antarctica People with the name * Pointer (surname), a surname (including a list ...
to the appropriate bucket in the database where the actual data is stored. An extra cell, or record header, may be required to store the name of the city. Other cells grouped with it will only need to contain the pointer to their respective bucket, since the first cell corresponds to street names beginning with "A", the second to "B", and so on. The database can be further extended to contain a continent field to expand the census to other continents. This would cause records in the same bucket to correspond to households on a street beginning with the same letter, in the same city, in the same continent. The cells in the grid file would then consist of a city header, and six (one for each continent, not including
Antarctica Antarctica () is Earth's southernmost and least-populated continent. Situated almost entirely south of the Antarctic Circle and surrounded by the Southern Ocean, it contains the geographic South Pole. Antarctica is the fifth-largest co ...
) groupings of 26 cells relating to the streets with the same starting letter, in the same city, on the same continent and could now be thought of as a three-dimensional array.


Advantages

Since a single entry in the grid file contains pointers to all records indexed by the specified keys: * No special computations are required * Only the right records are retrieved * Can also be used for single search key queries * Easy to extend to queries on ''n'' search keys * Significant improvement in processing time for multiple-key queries * Has a two-disk-access upper bound for accessing data.


Disadvantages

However, because of the nature of the grid file, which gives it its advantages, there are also some disadvantages: * Imposes space overhead * Performance overhead on insertion and deletion


Related Data Structures

* multilayer grid file * twin grid files * BANG file


See also

* Lattice graph * Grid (spatial index) *
Index (database) A database index is a data structure that improves the speed of data retrieval operations on a database table at the cost of additional writes and storage space to maintain the index data structure. Indexes are used to quickly locate data without ...
, Quadtree, Kd-tree, UB-tree,
R-tree R-trees are tree data structures used for spatial access methods, i.e., for indexing multi-dimensional information such as geographical coordinates, rectangles or polygons. The R-tree was proposed by Antonin Guttman in 1984 and has found sign ...
, range tree as alternatives.


References

{{reflist Computer files Arrays