51. Index GIN

51.1. Introduction
51.2. Extensibilité
51.3. Implémentation
51.4. Conseils et astuces sur GIN
51.5. Limitations
51.6. Exemples

51.1. Introduction

GIN est l'acronyme de Generalized Inverted Index. C'est une structure d'index stockant des ensembles de paires (clé, liste de lignes) où le terme « liste de lignes » est un ensemble de lignes dans lesquelles la clé est valable. Chaque valeur indexée peut contenir plusieurs clés, pour que le même identifiant de ligne apparaisse dans plusieurs listes postées.

Il est généralisé dans le sens qu'un index GIN n'a pas besoin de connaître l'opération qu'il accélère. À la place, il utilise les stratégies personnalisées définies pour des types de données particuliers.

Un avantage de GIN est qu'il autorise le développement de types de données personnalisés avec des méthodes d'accès appropriées par un expert dans le domaine du type de données, plutôt que par un expert des bases de données. L'utilisation de GiST fournit le même avantage.

L'implémentation de GIN dans PostgreSQL™ est principalement l'oeuvre de Teodor Sigaev et Oleg Bartunov. Plus d'informations sur GIN sont disponibles sur leur site web.