GiST

GiST

In computing, GiST or Generalized Search Tree, is a data structure and API that can be used to build a variety of disk-based search trees. GiST is a generalization of the B+ tree, providing a concurrent and recoverable height-balanced search tree infrastructure without making any assumptions about the type of data being stored, or the queries being serviced. GiST can be used to easily implement a range of well-known indexes, including B+ trees, R-trees, hB-trees, RD-trees, and many others; it also allows for easy development of specialized indexes for new data types. It can not be used directly to implement non-height-balanced trees such as quad trees or prefix trees (tries), though like prefix trees it does support compression, including lossy compression. GiST can be used for any data type that can be naturally ordered into a hierarchy of supersets. Not only is it extensible in terms of data type support and tree layout, it allows the extension writer to support any query predicates that they choose. The most widely-used GiST implementation is in the PostgreSQL relational database; it was also implemented in the Informix Universal Server, and as a standalone library, libgist.

GiST is an example of software extensibility in the context of database systems: it allows the easy evolution of a database system to support new tree-based indexes. It achieves this by factoring out its core system infrastructure from a narrow API that is sufficient to capture the application-specific aspects of a wide variety of index designs. The GiST infrastructure code manages the layout of the index pages on disk, the algorithms for searching indexes and deleting from indexes, and complex transactional details such as page-level locking for high concurrency and write-ahead logging for crash recovery. This allows authors of new tree-based indexes to focus on implementing the novel features of the new index type –-- for example, the way in which subsets of the data should be described for search --- without becoming experts in database system internals.

Although originally designed for answering Boolean selection queries, GiST can also support nearest-neighbor search, and various forms of statistical approximation over large data sets.

The PostgreSQL GiST implementation includes support for variable length keys, composite keys, concurrency control and recovery; these features are inherited by all GiST extensions. There are several contributed modules developed using GiST and distributed with PostgreSQL. For example:

* rtree_gist, btree_gist - GiST implementation of R-Tree and B-Tree
* intarray - index support for one-dimensional array of int4's
* tsearch2 - a searchable (full text) data type with indexed access
* ltree - data types, indexed access methods and queries for data organized as a tree-like structures
* hstore - a storage for (key,value) data
* cube - data type, representing multidimensional cubes

The PostgreSQL GiST implementation provides the indexing support for the PostGIS (geographic information system) and the BioPostgres bioinformatics system.

References

*Joseph M. Hellerstein, Jeffrey F. Naughton and Avi Pfeffer. [http://db.cs.berkeley.edu/papers/vldb95-gist.pdf Generalized Search Trees for Database Systems] . Proc. 21st Int'l Conf. on Very Large Data Bases, Zürich, September 1995, 562-573.
*Marcel Kornacker, C. Mohan and Joseph M. Hellerstein. [http://db.cs.berkeley.edu/papers/sigmod97-gist.pdf Concurrency and Recovery in Generalized Search Trees] . Proc. ACM SIGMOD Conf. on Management of Data, Tucson, AZ, May 1997, 62-72.
*Paul M. Aoki. [http://db.cs.berkeley.edu/papers/icde98-search.pdf Generalizing "Search" in Generalized Search Trees] . Proc. 14th Int'l Conf. on Data Engineering, Orlando, FL, Feb. 1998, 380-389.
*Marcel Kornacker. [http://gist.cs.berkeley.edu/hiperf-gist.pdf High-Performance Generalized Search Trees] , Proc. 24th Int'l Conf. on Very Large Data Bases, Edinburgh, Scotland, September 1999.
*Paul M. Aoki. [http://doi.ieeecomputersociety.org/10.1109/SSDM.1999.787627 How to Avoid Building DataBlades® That Know the Value of Everything and the Cost of Nothing] , Proc. 11th Int'l Conf. on Scientific and Statistical Database Management, Cleveland, OH, July 1999, 122-133.

External links

* [http://gist.cs.berkeley.edu/ GiST research project website]
* [http://www.sai.msu.su/~megera/postgres/gist/ PostgreSQL GiST Development]
* [http://www.postgresql.org/docs/current/interactive/gist.html Documentation] for the GiST support in PostgreSQL.
* [http://www.sai.msu.su/~megera/postgres/talks/gist_tutorial.html Developing PostgreSQL extension with GiST] ru icon
* [http://www.sai.msu.su/~megera/wiki/GiST GiST in PostgreSQL wiki]
* [http://postgis.refractions.net/ PostGIS]
* [http://biopostgres.cs.ucla.edu/ BioPostgres]


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?
Synonyms:

Look at other dictionaries:

  • Gist — may be:* , the central idea or the essence race * Gwangju Institute of Science and Technology, an R D university in Gwangju city, South Korea * GiST, or Generalized Search Tree, a flexible datastructure for building search trees * Gist… …   Wikipedia

  • gist — / jist/ n [Anglo French, in the phrase laccion gist the action lies or is based (on), from gisir to lie (of process), from Old French gesir to lie, ultimately from Latin jacere]: the ground or foundation of a legal action without which it would… …   Law dictionary

  • gist — [dʒıst] n [Date: 1700 1800; : Anglo French; Origin: it lies, it can be presented in a court of law , from Old French gesir to lie ] the gist the main idea and meaning of what someone has said or written the gist of ▪ The gist of his argument is… …   Dictionary of contemporary English

  • Gist — Gist, n. [OF. giste abode, lodgings, F. g[^i]te, fr. g[ e]sir to lie, L. jac?re, prop., to be thrown, hence, to lie, fr. jac?re to throw. In the second sense fr. OF. gist, F. g[^i]t, 3d pers. sing. ind. of g[ e]sir to lie, used in a proverb, F.,… …   The Collaborative International Dictionary of English

  • gist — 1711, the real point (of a law case, etc.), from Anglo Fr. legalese phrases, e.g. cest action gist this action lies, meaning this case is sustainable by law, from O.Fr. gist en it consists in, it lies in (third person singular present indicative… …   Etymology dictionary

  • Gist — Desarrollador David H. Munro Información general Género Biblioteca Sistema operativo Unix y deriv …   Wikipedia Español

  • gist — ► NOUN ▪ the substance or essence of a speech or text. ORIGIN Old French, he, she, or it lies , from the legal phrase cest action gist this action lies , denoting there were sufficient grounds to proceed …   English terms dictionary

  • gist — [jist] n. [ME giste < OFr, abode, point at issue < 3d pers. sing., pres. indic., of gesir, to lie < L jacere, to lie; sense infl. by Anglo Fr legal phrase l action gist, lit., the action lies] 1. Law the grounds for action in a lawsuit 2 …   English World dictionary

  • GiST — является прямым индексом, используемым полнотекстовым поиском СУБД PostgreSQL. Это означает, что для каждого вектора tsvector, описывающего все лексемы документа, создаётся сигнатура, описывающая какие из лексем входят в данный tsvector. Принцип… …   Википедия

  • gist — *substance, purport, burden, core, pith Analogous words: *center, heart, nucleus: import, significance (see IMPORTANCE): theme, topic, *subject …   New Dictionary of Synonyms

  • gist — [n] meaning, essence basis, bearing, bottom line*, burden, core, drift, force, heart, idea, import, kernel*, keynote, marrow, matter, meat*, name of the game*, nature of the beast*, nitty gritty*, nuts and bolts*, pith*, point, punch line,… …   New thesaurus

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”