Les ingénieurs de Notion Preeti Gondi, Mickey Liu, Nathan Louie, Calder Lund et Jacob Sager ont publié un retour d'expérience détaillé sur l'évolution de l'infrastructure de recherche vectorielle de Notion depuis le lancement de Notion AI Q&A en novembre 2023. Le résultat annoncé : une multiplication par 10 de l'échelle accompagnée d'une réduction des coûts de 90% en deux ans.

Au lancement, l'ingestion reposait sur deux chemins : un pipeline batch hors ligne sous Apache Spark pour découper et vectoriser les documents existants, et un chemin en ligne via Kafka pour traiter les modifications de pages quasiment en temps réel. La base de données vectorielle tournait sur des clusters 'pod' dédiés, shardés par identifiant de workspace, sur un modèle proche du sharding Postgres de Notion. Un mois seulement après le lancement, la demande d'une liste d'attente de plusieurs millions de workspaces a saturé les index. Plutôt qu'un re-sharding incrémental à la Postgres, Notion a introduit des identifiants de 'génération' : lorsqu'un jeu de shards approchait de sa capacité, un nouveau jeu était provisionné et les nouveaux workspaces y étaient routés, évitant tout temps d'arrêt lié au re-sharding. Grâce à l'ordonnancement Airflow et à l'optimisation des jobs Spark, la capacité d'onboarding quotidienne a été multipliée par 600, le nombre de workspaces actifs par 15, et la capacité de la base vectorielle par 8, permettant d'écouler la liste d'attente d'ici avril 2024.

En mai 2024, Notion est passé de l'architecture à pods à une architecture serverless découplant stockage et calcul, réduisant les coûts de 50% par rapport au pic et supprimant les contraintes de provisionnement de capacité. Les dépenses annuelles restant de l'ordre de plusieurs millions de dollars, l'équipe a évalué d'autres bases de données vectorielles et migré, entre mai 2024 et janvier 2025, une charge de plusieurs milliards d'objets vers turbopuffer, un moteur basé sur le stockage objet proposant des déploiements managés ou en mode bring-your-own-cloud. La migration a inclus une réindexation complète, un modèle d'embeddings mis à niveau, la suppression de la logique de sharding/génération (turbopuffer traite chaque namespace comme un index indépendant) et une bascule progressive génération par génération. Résultat : 60% de réduction des dépenses liées au moteur de recherche, 35% de réduction des coûts de calcul AWS EMR, et une latence médiane (p50) des requêtes améliorée de 70-100ms à 50-70ms.

En juillet 2025, le 'Page State Project' s'est attaqué au réembeddage redondant : auparavant, toute modification d'une page - même des métadonnées comme les permissions - déclenchait un rechunking et un réembeddage complets. Le nouveau système stocke deux valeurs de hachage xxHash 64 bits par span (texte et métadonnées) dans DynamoDB, comparées à chaque modification. Les changements de texte seul ne réembeddent que les spans modifiés ; les changements de métadonnées seules (par exemple des mises à jour de permissions) évitent complètement le réembeddage et déclenchent une simple commande PATCH, bien moins coûteuse, vers la base vectorielle. Cela a réduit le volume de données de 70%, abaissant à la fois les coûts d'API d'embeddings et d'écriture en base vectorielle.

Depuis juillet 2025, Notion migre son pipeline d'embeddings quasi temps réel de Spark/EMR vers Ray exécuté sur Anyscale, pour résoudre un problème de 'double calcul' (payer à la fois le prétraitement Spark et les frais d'API d'embeddings au token), la fiabilité incertaine des API d'embeddings tierces, et un pipelining maison complexe mis en place pour éviter les limites de débit. Ray permet à Notion d'auto-héberger des modèles d'embeddings open source, d'unifier prétraitement et inférence sur une seule couche de calcul avec un pipelining GPU/CPU, et les espaces de travail managés d'Anyscale permettent aux ingénieurs d'utiliser des outils comme Cursor et VS Code sans provisionner d'infrastructure. Notion anticipe une réduction de plus de 90% des coûts d'infrastructure d'embeddings grâce à cette migration, encore en cours. Pour l'embeddage au moment des requêtes, Ray Serve héberge les modèles open source dans des déploiements GPU persistants avec un batching et un autoscaling configurables en YAML.

Pour l'avenir, Notion prévoit de connecter davantage de sources de données tierces, de continuer à évaluer de nouveaux modèles d'embeddings (grâce à la flexibilité offerte par Ray), de poursuivre l'optimisation du pipeline, et d'utiliser la recherche vectorielle pour alimenter les futurs 'Custom Agents', qui puiseront du contexte dans le workspace et les applications connectées de l'utilisateur.