par Adam Gurary, Sheng Zhan, Ankit Vij, Vadim Antonov, Yu-Ju Huang et Dima Kotlyarov
La recherche est partout : découverte de produits sur les sites de vente en ligne, requêtes vocales sur les téléviseurs connectés, recommandations dans chaque flux et correspondance d'identité lors de la recherche de comptes. Chacune déclenche une requête par page vue, par frappe de touche, par action de l'utilisateur. À l'échelle du grand public, cela se traduit par des milliers de requêtes par seconde qui frappent l'index de recherche, avec un trafic de pointe souvent plusieurs fois supérieur.
La recherche est également sur le chemin critique des revenus. Dans le commerce de détail, les acheteurs qui utilisent la recherche convertissent à un taux deux à trois fois supérieur à celui de ceux qui naviguent simplement. Sur les plateformes de streaming, les recommandations déterminent la majeure partie de ce que les utilisateurs regardent.
Atteindre un niveau de QPS de production signifiait auparavant concevoir une pile de récupération sur mesure par application. Effectuer des tests de charge sur différentes tailles d'index, types de requêtes et filtres. Dimensionner manuellement la capacité. Configurer des répartiteurs de charge devant l'index. Chaque nouveau cas d'usage de recherche oblige à recommencer ce travail. Cette difficulté est universelle, qu'il s'agisse de bases de données vectorielles, de moteurs de recherche ou de piles DIY.
Aujourd'hui, nous annonçons la mise à l'échelle à QPS élevé pour Databricks AI Search, désormais disponible de manière générale. Les points de terminaison Standard peuvent désormais évoluer vers des milliers de QPS avec un seul paramètre lisible par l'homme. Indiquez-nous votre cible, et nous provisionnerons l'infrastructure pour l'atteindre.
Définissez target_qps sur le point de terminaison lors de sa création, ou mettez-le à jour sur n'importe quel point de terminaison existant à tout moment via le SDK, l'API REST ou l'UI du point de terminaison. Databricks provisionne l'infrastructure pour atteindre la cible. Aucun nombre de réplicas à gérer, aucun nœud à dimensionner, aucun répartiteur de charge à configurer.
La gouvernance de Unity Catalog et Delta Sync restent en place. Le même point de terminaison qui alimentait votre prototype s'adapte désormais au trafic de production sans quitter la plateforme.
Trois modèles de production en temps réel le nécessitent.
Les barres de recherche, comme la recherche de produits sur l'e-commerce, la découverte de contenu sur les plateformes de streaming et de médias, la recherche vocale sur les appareils connectés. Une zone de saisie semi-automatique peut déclencher un appel de recherche à chaque frappe, de sorte que le QPS évolue avec le volume de saisie active. La latence affecte directement la conversion. Pour une architecture de bout en bout, consultez Building Real-Time Product Search on Databricks.
Les systèmes de recommandation / personnalisation, comme les sections « Vous aimerez aussi » sur l'e-commerce, les flux personnalisés sur les plateformes de médias et de streaming. Chaque page vue déclenche une requête de recommandation, de sorte que les pics de trafic touchent d'abord la récupération. La latence de recommandation est sur le chemin critique de la requête.
La résolution d'entités en temps réel, comme la correspondance d'identité, la déduplication, la recherche dans de grands catalogues au moment de la requête. Ici, le taux de requêtes est un SLA opérationnel, pas un pic que vous pouvez mettre en mémoire tampon.
Si vous constatez l'un des éléments suivants, vous en avez probablement besoin :
Déclarer. Vous définissez une cible de QPS sur le point de terminaison. Databricks calcule et provisionne la capacité de calcul pour atteindre cette cible. Pas de nombre de réplicas, pas de dimensionnement de nœuds, pas de planification de capacité.
Fonctionne avec les points de terminaison existants. Mettez à jour n'importe quel point de terminaison Standard via le SDK Python, l'API REST ou l'UI. La nouvelle capacité prend effet la prochaine fois qu'un index sur le point de terminaison est créé ou synchronisé.

Suivre l'état de la mise à l'échelle. Le champ scaling_info sur le point de terminaison suit la progression lors de la transition depuis SCALING_CHANGE_IN_PROGRESS to SCALING_CHANGE_APPLIED.
Observabilité en production. L'exploitation d'un système de récupération en production nécessite une visibilité sur les requêtes par seconde, la latence des requêtes et la santé du point de terminaison. L'UI du point de terminaison affiche désormais ces trois indicateurs pour chaque point de terminaison.

Utilisez l'authentification par principal de service pour maximiser les performances. Le trafic du principal de service est acheminé via des réseaux optimisés pour les performances, conçus pour les charges de travail de production à QPS élevé. Le trafic des jetons d'accès personnels (PAT) est limité à quelques dizaines de QPS, ce qui le rend adapté au prototypage mais pas à la production. Consultez le guide des performances pour obtenir la procédure complète.
Dimensionnement. Utilisez l'UI d'observabilité du point de terminaison et l'intégration native de Genie pour comprendre vos modèles de trafic et définir target_qps avec une marge de sécurité suffisante pour les pics.
La différence entre prototype et production réside désormais dans un simple paramètre de configuration. La mise à l'échelle à QPS élevé est disponible de manière générale dès aujourd'hui, sans inscription requise. Deux façons de commencer :
target_qps défini sur votre cible initialetarget_qps pour mettre à l'échelle l'index qui dessert déjà votre applicationNous continuons à faciliter l'exploitation de la recherche à grande échelle. La mise à l'échelle automatique pour les pics de trafic (sans planification manuelle de la capacité ni dimensionnement) et la prise en charge des points de terminaison optimisés pour le stockage sont prévues pour plus tard cette année.
Pour aller plus loin :
(Cet article de blog a été traduit à l'aide d'outils basés sur l'intelligence artificielle) Article original
Abonnez-vous à notre blog et recevez les derniers articles directement dans votre boîte mail.