Grid File
   HOME

TheInfoList



OR:

In
computer science Computer science is the study of computation, information, and automation. Computer science spans Theoretical computer science, theoretical disciplines (such as algorithms, theory of computation, and information theory) to Applied science, ...
, a grid file or bucket grid is a point access method which splits a space into a non-periodic
grid Grid, The Grid, or GRID may refer to: Space partitioning * Regular grid, a tessellation of space with translational symmetry, typically formed from parallelograms or higher-dimensional analogs ** Grid graph, a graph structure with nodes connec ...
where one or more cells of the grid refer to a small set of points. Grid files (a
symmetric Symmetry () in everyday life refers to a sense of harmonious and beautiful proportion and balance. In mathematics, the term has a more precise definition and is usually used to refer to an object that is invariant under some transformations ...
data structure In computer science, a data structure is a data organization and storage format that is usually chosen for Efficiency, efficient Data access, access to data. More precisely, a data structure is a collection of data values, the relationships amo ...
) 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, p. 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, often based on minced meat * Hash (stew), a pork and onion-based gravy found in South Carolina * Hash, a nickname for hashish, a canna ...
), 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 database

Sources:Elmasri & Navathe ''Fundamentals of Database Systems'', Third Edition. Addison-Wesley, 2000. . Section 6.4.3: Grid Files, p. 185. Consider a database containing data from a census. A single 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 An array is a systematic arrangement of similar objects, usually in rows and columns. Things called an array include: {{TOC right Music * In twelve-tone and serial composition, the presentation of simultaneous twelve-tone sets such that the ...
,
table Table may refer to: * Table (database), how the table data arrangement is used within the databases * Table (furniture), a piece of furniture with a flat surface and one or more legs * Table (information), a data arrangement with rows and column ...
, or
grid Grid, The Grid, or GRID may refer to: Space partitioning * Regular grid, a tessellation of space with translational symmetry, typically formed from parallelograms or higher-dimensional analogs ** Grid graph, a graph structure with nodes connec ...
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 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 (also known as the Antarctic Ocean), it contains the geographic South Pole. ...
) 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 Twins are two offspring produced by the same pregnancy.MedicineNet > Definition of Twin Last Editorial Review: 19 June 2000 Twins can be either ''monozygotic'' ('identical'), meaning that they develop from one zygote, which splits and forms two e ...
* BANG file


See also

*
Lattice graph In graph theory, a lattice graph, mesh graph, or grid graph is a graph whose drawing, embedded in some Euclidean space , forms a regular tiling. This implies that the group of bijective transformations that send the graph to itself is a latti ...
*
Grid (spatial index) In the context of a spatial index, a grid or mesh is a regular tessellation of a manifold or 2-D surface that divides it into a series of contiguous cells, which can then be assigned unique identifiers and used for spatial indexing purposes. A ...
*
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 withou ...
,
quadtree A quadtree is a tree data structure in which each internal node has exactly four children. Quadtrees are the two-dimensional analog of octrees and are most often used to partition a two-dimensional space by recursively subdividing it into four ...
, ''k''-d tree,
UB-tree The UB-tree, also known as the Universal B-Tree, as proposed by Rudolf Bayer and Volker Markl is a balanced tree for storing and efficiently retrieving multidimensional data. Like a B+ tree A B+ tree is an m-ary tree with a variable but of ...
,
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 s ...
,
range tree In computer science, a range tree is an ordered tree data structure, ordered tree data structure to hold a list of points. It allows all points within a given range to be Range query (computer science), reported efficiently, and is typically used ...
as alternatives.


References

{{reflist Computer files Arrays