Améliorer les performances et la flexibilité des requêtes de recherche avec OpenSearch
Airbus 1
Industrie
Aérospatiale
Service
Migration vers le cloud
Technolgies
RDS, OpenSearch, S3 bucket, Lambda
Défi Client
Le moteur de recherche est crucial pour le client du point de vue commercial. La solution actuelle consiste à effectuer des requêtes de recherche directement dans la base de données SQL Server RDS.
Cependant, cette approche de recherche présente des problèmes de latence et certaines limitations liées à la recherche dans des structures JSON avec plusieurs niveaux d’objets hiérarchiques et imbriqués. Un autre défi est que l’utilisation de certains services (par exemple, AWS Migration Service) n’est pas approuvée par le client.
Solution proposée
Comparaison entre les solutions SQL et OpenSearch en termes de performances et de capacité de recherche dans des structures JSON complexes à partir des mêmes ensembles de données et du même nombre d’enregistrements SQL
Ensuite, nous avons décidé avec le client d’adopter la solution OpenSearch afin d’améliorer les performances et la flexibilité. Pour migrer les données de RDS vers OpenSearch, nous avons exporté les données de la base de données RDS existante vers un bucket S3 au format CSV, puis une fonction Lambda a été mise en place pour lire les fichiers depuis le bucket S3, les traiter et injecter les documents dans les indices OpenSearch.
Résultats et améliorations
Après la migration des données vers Amazon OpenSearch, le moteur de recherche a été amélioré sans avoir à gérer de serveurs ou de bases de données et en étant facilement extensible.
Le temps d’exécution moyen d’une grosse requête GET est réduit de quelques minutes à quelques secondes dans un index de plus de 20 000 documents ; Une capacité de recherche avancée est activée avec des requêtes plus complexes sur la structure hiérarchique et les objets dynamiques imbriqués ; La possibilité de visualisation avec les tableaux de bord OpenSearch qui peuvent être utilisés à partir d’outils externes (Kibana).
Pour répondre aux exigences du client, cette solution de notification doit être flexible, fiable, traçable, configurable et facilement intégrable avec les systèmes ou modules d’autres clients.
La gestion efficace des fichiers et des images est cruciale pour le client commercial, mais cette tâche pose de nouveaux défis liés à l’intégration avec les systèmes existants.