Stateless search : decoupler storage et compute pour les moteurs de recherche
François Massot - https://twitter.com/francoismassot Pour les engines distribués tels que Presto, Spark, la séparation entre le compute et le storage est une réalité depuis un certain temps. Mais pour les moteurs de recherche, c'est une nouvelle tendance! En mai 2020, le service Amazon Elasticsearch a lancé UltraWarm[0], une solution permettant de rechercher directement depuis Amazon S3. Fin 2020, Elastic a annoncé les Searchable Snapshots[1] avec le même objectif. En 2022, Datadog a présenté Husky[2], son moteur de recherche de log sur object storage. Fin 2023, Elastic a lancé une offre de search serverless[3] où les données indexées sont stockées sur un object storage. Durant cette présentation, je vous propose de découvrir l'architecture d'un moteur de recherche serverless open source sur lequel je travaille depuis 3 ans : Quickwit. Vous apprendrez comment rechercher des données stockées sur un object storage comme S3, quelles sont les contraintes associées pour rester performants (sub-second), et la robustesse opérationnelle qu'apporte ce type d'architecture. Je conclurai par une démonstration de Quickwit sur un cluster Kubernetes d'une dizaine de noeuds pour montrer les avantages d'une architecture serverless: scaling up et scaliong down de l'indexation, recherche sur plusieurs terabytes de données stockées sur object storage. [0]: AWS UltraWarm: https://www.youtube.com/watch?v=RaLBuVZSbh0 [1]: Searchable Snapshots: https://www.elastic.co/blog/introducing-elasticsearch-searchable-snapshots [2]: Datadog Husky: https://www.datadoghq.com/blog/engineering/introducing-husky/ [3]: Elastic Serverless search: https://www.elastic.co/de/elasticsearch/serverless Sunny Tech 2024