dimanche 22 février 2009

Sinequa : vitesse et volume, en gardant la pertinence et la richesse fonctionnelle

Sinequa vient de terminer une première série de tests de charge sur la nouvelle version de notre produit Sinequa CS. Je suis très fier.

Sans optimisation particulière, les capacités mesurées ont de quoi enthousiasmer. Sinequa était depuis longtemps en avance sur le fonctionnel et la pertinence. Quand d'autres ne voyaient pas l'intérêt de gérer la sécurité d'accès, ou la linguistique, ou encore la connectivité, nous avons déjà résolu ces questions depuis trois années. Sinequa a maintenant pu développer une architecture intégrant au niveau des couches basses du logiciel les options utiles pour offrir les fonctionnalités requises en entreprise tout en donnant des performances de premier ordre. La technologie Sinequa dispose désormais d'une puissance inégalée à ce niveau fonctionnel. Cela fera l'objet de fiches produits détaillées, mais en attendant, voici un aperçu des premiers résultats :


Vitesse de réponse sur un grand volume d'utilisateur : jusqu'à 1700 requêtes simultanées par seconde sur un serveur bi-processeur (temps de réponse moyen aux alentours de 10 millisecondes). En terme d'applications, notre client le plus exigeant à ce jour gère des pics à 400 requêtes par secondes, nous générons ici un gain de l'ordre de fois 50 par rapport à la version précédente et surtout largement suffisant quelles ques soient les ambitions du client.

Capacité volumétrique d'indexation par serveur. Un seul serveur a indexé près de 100 millions de documents (mélange de formats d'entreprise) en quelques dizaines d'heures sans atteindre ses limites. Il s'agit d'un serveur quadri-processeur, donc des résultats très encourageants ; C'est une énorme progression pour Sinequa, surtout étant donné que ces performances s'accompagnent d'une linéarité parfaite vis-à-vis du nombre de serveurs. Nous pouvons maintenant véritablement indexer l'intégralité de l'entreprise sans consommer des ressources machines énormes, dans un temps raisonnable avec un rafraichissement suffisant. Pour les temps d'indexation et le volume précis, je ne détaille pas et j'attends d'avoir les benchs par typologie de document, car évidemment entre un PDF, un word, un fichier excel ou un un html, il y a des différences notables. A titre d'exemple, un serveur d'entrée de gamme peut indexer un peu plus de 1000 document type articles de presse par seconde, soit près de 100 millions de documents en 24 heures par serveur.

Capacité d'indexation d'une base de donnée sur un serveur d'entrée de gamme (4 processeurs et 8 Gigas de RAM): 5000 lignes (ou data base objects) par seconde, ce qui a donné près de 20 millions de lignes à l'heure et finalement 100 Millions de « database objects » indexés en 5 heures. Et nombre maximal d'insertion par secondes 10.000 soit au final près de 100 Millions en moins de trois heures. J'ai récemment lu les résultats d'un concurrent qui s'émerveillait d'indexer 30 millions de « database objects » en dix heures sur un serveur. Sinequa fait 6 à 7 fois plus vite, et il s'agit pourtant d'un concurrent dont les performances sont le principal atout fonctionnel. De belles batailles commerciales en perspectives.

Il nous tarde maintenant que cette nouvelle version de l'offre Sinequa soit exploitée en entreprise ; la richesse fonctionnelle de Sinequa alliée à ce niveau de performances, cela devrait donner des résultats que les utilisateurs plébisciteront. Il ne faudra pas attendre longtemps car la première mise en production aura lieu le mois prochain…

lundi 2 février 2009

Desktop Search et Moteur de Recherche d'Entreprise: à ne pas mélanger

J’ai eu le plaisir vendredi de discuter avec un responsable de la gestion des connaissances d’une très grande entreprise internationale. Il considère que le moteur de recherche personnel (desktop search) n’a pas grand chose à voir avec le moteur d’entreprise, ce n’était pas le cas il y a six mois. Les clients ou les analystes me demandent parfois pourquoi Sinequa ne fait pas de moteur de recherche personnel s’installant sur le poste client en dehors de cas particuliers où les postes personnels sont utilisés de façon très poussée. Il y a deux raisons : une est fonctionnelle, liée à l'usage, à notre vision et à notre proposition de valeur; la deuxième est technique. Les deux raisons se complètent fort bien.

Les raisons fonctionnelles et d'usage sont simples, Sinequa est un spécialiste de l’entreprise 2.0, c’est à dire qu’à travers notre solution de moteur de recherche, nous offrons de la productivité individuelle tout autant que de l’intelligence collective.
  • Selon moi en effet, l’entreprise 2.0 sert exactement à cela, à faire en sorte que n’importe quelle personne de l’organisation soit efficace et en phase avec l’entreprise (Ce qui est moderne ou disruptif ici est de penser que la productivité découle de la richesse des interactions tout autant que de l’organisation et des procédures, cf. mon post de Décembre 2008 « Soyons fourmillants »). En d’autres termes, l’intelligence collective est la résultante de meilleures interactions entre les employés. En condition nécessaire, chaque collaborateur doit pouvoir accéder instantanément à toute l’information utile partagée en contexte. C’est-à-dire accéder à toute la connaissance partagée, en fonction de ses droits et privilèges dans l’entreprise bien évidemment (il ne s’agit pas qu’un stagiaire dispose de toute la connaissance partagée du Directeur Financier). Cette connaissance inclut de façon non exhaustive: les documents, les informations dans les systèmes de production, les personnes utiles, avisées, intéressées sur tel ou tel sujet, les clients concernés, etc… Un moteur de recherche exhaustif disposant de connecteurs sécurisés vers toutes les applications et offrant des fonctionnalités avancées d’extraction de connaissance comme Sinequa CS pourra offrir tout cela. Il "suffit" d'étendre l'indexation à tous les systèmes d’information partagés, c’est-à-dire les applications (CRM, PLM, ERP, SRH,...), les Intranets, les répertoires, les serveurs de mails,…
  • Certains affirment qu’il faut ajouter à cet espace partagé l’information qui se trouve sur le poste personnel. Je pense que c’est une erreur. En effet, l’information sur le poste personnel est justement … personnelle. Elle doit être facilement retrouvable va sans dire, et il faut donc un moteur de recherche local pour cela, mais elle ne doit pas être mélangée avec l’information partagée. Il faut donc que les deux applications soient disjointes dans leur logique même de fonctionnement sinon on aurait le plus moyen des deux mondes. On peut d’ailleurs légitimement comparer le poste personnel avec l’espace physique du bureau (caissons, armoires de rangement,…): chacun s’organise selon son bon plaisir, range ses documents comme il l’entend pour mieux pouvoir travailler; et c'est très bien. Le taylorisme "forcé" marche mieux dans les chaines de production que chez les travailleurs qui manipulent de l'information. Ce qui est dans mon bureau doit en effet me servir à mieux travailler, il ne s’agit pas de capitaliser, ni de partager. Bien sûr cela doit être sauvegardé, et facilement accessible, mais il serait dangereux de mélanger les contenus personnels avec les contenus partagés de l’entreprise. L’effet induit serait un ralentissement général de la performance individuelle. En effet, en recherchant sans faire la différence dans mes documents personnels et les contenus partagés, je risque de favoriser le plus facile à trouver (ce qui est sur mon bureau) et ainsi de ne pas ou mal prendre en compte ce qui vient des autres. Quand je cherche sur mon bureau, je veux juste aller vite pour retrouver une information ou un document que je connais déja (en anglais, "I draw in my drawer"). Quand je cherche dans l'entreprise partagée, je suis par définition en mode "recherche, découverte, validation, ...". Bref, c'est une autre démarche. Vouloir mélanger les deux est une mauvaise pratique qui risque en outre à terme de ne pas favoriser le passage à l'entreprise 2.0. Et les gens continueront à travailler sans bénéficier à plein du reste de l'entreprise.

Je serai plus bref sur le deuxième argument qui est technique.
  • Le poste client ou desktop search est une discipline en soi, il s’agit de s’intégrer parfaitement dans l’ergonomie du … poste client ; de ne pas prendre de place en ralentissant la machine. Les informations qui sont sur le poste client sont déjà connues de moi puisque je suis le seul à y stocker des documents. En conséquence, je peux me contenter d’une fonction de recherche très directe par mot clé pour retrouver des documents que je connaissais à priori. Je n’ai nullement besoin de contexte : la date, le type de fichier et son emplacement me suffisent à instantanément me remémorer tout le contexte du document.
  • Il faut impérativement en revanche que le search du poste client fasse corps avec le système d’exploitation (le principe est à peu près le même si le poste client est virtualisé). Il est d’ailleurs intéressant de noter que les vendeurs qui proposent une solution poste client et une solution entreprise proposent en fait deux solutions totalement disjointes. Il n’y a pas de synergies, pas même commercialement puisque les meilleures solutions poste client sont gratuites. Le desktop search a en fait et principalement beaucoup de points communs avec le moteur de recherche sur le World Wide Web, j'y reviendrais dans un prochain commentaire.

Pour conclure sur ce sujet, je recommande pour la recherche en local Windows Desktop Search de Microsoft si on est Windows (gratuit), ou sinon Google Desktop (toujours gratuit). Et pour le moteur de recherche d’entreprise, chacun peut imaginer ma préférence pour Sinequa, mais je recommande surtout vigoureusement de tester en grandeur réelle, de penser aux évolutions de périmètre, et de parler à des clients du vendeur qu'on considère. Les bonnes solutions d'entreprise s'intègrent très bien techniquement et ergonomiquement avec les desktopsearch.