Économisez de l'espace de stockage en utilisant une source dérivée - Amazon OpenSearch Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Économisez de l'espace de stockage en utilisant une source dérivée

Par défaut, OpenSearch Serverless stocke chaque document ingéré dans le _source champ, qui contient le corps du document JSON d'origine, et indexe les champs individuels pour la recherche. Bien que le _source champ ne soit pas consultable, il est conservé afin que le document complet puisse être renvoyé lors de l'exécution de requêtes de récupération, telles que get et search. Lorsque la source dérivée est activée, OpenSearch Serverless ignore le stockage du _source champ et le reconstruit dynamiquement à la demande, par exemple lors des opérations de recherche, de get, de mget, de réindexation ou de mise à jour. L'utilisation du paramètre de source dérivé peut réduire l'utilisation du stockage jusqu'à 50 %.

Configuration

Pour configurer la source dérivée pour votre index, créez l'index à l'aide du index.derived_source.enabled paramètre :

PUT my-index1 { "settings": { "index": { "derived_source": { "enabled": true } } } }

Considérations importantes

  • Seuls certains types de champs sont pris en charge. Pour obtenir la liste des champs pris en charge et des limites, consultez la OpenSearch documentation. Si vous créez un index avec une source dérivée et un champ non pris en charge, la création de l'index échouera. Si vous tentez d'ingérer un document dont le champ n'est pas pris en charge dans un index dérivé activé par la source, l'ingestion échouera. Utilisez cette fonctionnalité uniquement lorsque vous connaissez les types de champs qui seront ajoutés à votre index.

  • index.derived_source.enabledIl s'agit d'un paramètre statique. Cela ne peut pas être modifié une fois l'index créé.

Limitations relatives aux réponses aux requêtes

Lorsque la source dérivée est activée, elle impose certaines limites quant à la manière dont les réponses aux requêtes sont générées et renvoyées.

  • Les champs de date dont plusieurs formats sont spécifiés utilisent toujours le premier format de la liste pour tous les documents demandés, quel que soit le format ingéré d'origine.

  • Les valeurs des géopoints sont renvoyées dans un {"lat": lat_val, "lon": lon_val} format fixe et peuvent perdre en précision.

  • Les tableaux à valeurs multiples peuvent être triés et les champs de mots clés peuvent être dédupliqués.

Pour plus de détails, consultez le OpenSearch blog.

Analyse comparative des performances

Sur la base de tests de référence avec le jeu de données nyc_taxi, la source dérivée a obtenu une réduction de 58 % de la taille de l'indice par rapport à la valeur de référence.

Métrique Source dérivée
Réduction de la taille de l'index 58,3 %
Modification du débit d'indexation 3,7 %
Indexation du changement de latence (p90) 6,9 %
Amélioration de la latence de Match-all Query p90 19 %
Amélioration de la latence de Range Query p90 -18,8 %
Distance, quantité, p90, amélioration de la latence Agg -7,3 %

Pour plus de détails, consultez le OpenSearch blog.