SereneDB lance Krummelanke : ce moteur réunit recherche et analyse de données dans un seul outil

Chercher une information dans des milliards de données stockées sur le cloud n’est pas vraiment une partie de plaisir. Plutôt un exercice de patience. Et SereneDB veut changer cela. Comment ? Avec Krummelanke.

La startup berlinoise vient de lancer Krummelanke. C’est un moteur qui combine la recherche et l’analyse de données. Il serait même le moteur le plus rapide au monde selon l’entreprise.

L’outil peut notamment interroger directement des données conservées sur du stockage objet comme Amazon S3. SereneDB assure même qu’il peut remplacer des solutions comme Elasticsearch, OpenSearch ou Solr, avec en prime, des capacités analytiques. 

Et il est open source sous licence Apache 2.0.

Que promet Krummelanke de SereneDB ?

Jusqu’ici, les moteurs de recherche servent, comme leur nom l’indique, à retrouver du contenu. Les bases analytiques, quant à elles, traitent d’importants volumes de données. Entre les deux, les entreprises ajoutent des pipelines et des mécanismes de synchronisation.

Avec Krummelanke, SereneDB cherche à supprimer cette séparation. La plateforme combine recherche plein-texte, recherche vectorielle et analyse dans un seul outil. Et ce, avec un plan de requête commun et sans passer par un processus ETL.

Selon l’entreprise, certaines recherches peuvent être exécutées en quelques nanosecondes. Les requêtes portant sur plusieurs milliards d’enregistrements, quant à elles, peuvent obtenir une réponse en quelques millisecondes.

Et pas de panique ! Krummelanke ne demande pas forcément aux entreprises de repartir de zéro. SereneDB annonce une compatibilité avec PostgreSQL et Elastic. Les outils existants peuvent donc se connecter au moteur sans réécriture complète.

La migration peut également passer par une simple réplication des données. Vous n’êtes donc pas obligé de tout déplacer d’un coup.

Bon à savoir

D’après SereneDB, Krummelanke mise sur une architecture de stockage hiérarchisée. Cela signifie que les données les plus sollicitées restent dans un espace de travail local afin d’être rapidement accessibles. 

Les autres, elles, peuvent être conservées sur un stockage objet moins coûteux, comme Amazon S3, tout en restant interrogeables.

La société affirme également pouvoir gérer des volumes atteignant le pétaoctet et conserver des milliards de vecteurs sur un seul nœud. Son architecture repose notamment sur une compression annoncée à plus de 10 fois afin de limiter les coûts de stockage.

Pour donner une idée de l’échelle, un demi-pétaoctet suffit selon SereneDB à stocker une capture mensuelle complète du Web public réalisée par Common Crawl. Ce dernier indique d’ailleurs que son corpus représente plusieurs pétaoctets de données accumulées au fil des années. 

Des preuves ?

Pour appuyer sa promesse, l’entreprise a publié son propre SearchBench. Le test rassemble 92 requêtes mêlant recherche et analyse sur des journaux OpenTelemetry contenant 100 millions ou 1 milliard d’enregistrements.

Les résultats comparent Krummelanke à plusieurs moteurs. Parmi eux figurent Elasticsearch, OpenSearch, ParadeDB, CrateDB, ArangoDB, TigerData et PostgreSQL. 

Les requêtes sont exécutées individuellement sur une seule machine, sans cache de résultats. Les temps supérieurs à 60 secondes sont considérés comme des échecs.

Sur 100 millions d’enregistrements, SereneDB affiche un facteur géométrique moyen de 1,05x. Il atteint 1,07x avec 1 milliard d’enregistrements. Elasticsearch arrive derrière avec une moyenne annoncée de 2,8x sur le premier scénario.

Attention toutefois : ces chiffres proviennent des tests publiés par SereneDB elle-même. La société met sa méthodologie, ses configurations et ses résultats à disposition afin que les comparaisons puissent être reproduites.

Comment Krummelanke veut simplifier la recherche plein-texte dans S3 ?

Stocker des données sur S3 est devenu banal. Les moteurs analytiques savent déjà parcourir directement des fichiers comme Parquet depuis un stockage objet. La recherche plein-texte, en revanche, pose un problème différent.

Pour retrouver rapidement un mot ou une information dans une immense quantité de documents, les moteurs utilisent généralement un index inversé. Celui-ci garde la trace des termes présents dans les données et de leur emplacement. 

Le hic, c’est que ce type de recherche nécessite beaucoup d’accès rapides en lecture. Les solutions basées sur Lucene, comme Elasticsearch ou OpenSearch, préfèrent donc conserver leurs index sur un stockage local rapide. 

Une entreprise qui veut rendre des données consultables doit alors souvent les extraire, les transférer et en conserver une autre copie. 

Krummelanke, lui, fonctionne différemment. Les données originales restent dans leur stockage de référence, notamment des fichiers Parquet ou des tables Iceberg sur S3. Le moteur construit son index à côté, sans transformer le stockage cloud en une gigantesque photocopieuse de données.

Andrey Abramov, cofondateur et directeur technique de SereneDB, explique que cette architecture permet notamment de connecter plusieurs nœuds à une même table Iceberg. 

Lorsqu’une donnée évolue, SereneDB récupère les changements et peut ensuite proposer la recherche et l’analyse sur cette même source.

ARTICLES SIMILAIRES