WO2000060498A1 - Procede de preconditionnement et de codage d'une table de donnees, et procede de mise en oeuvre de requetes tabulaires sur un processeur vectoriel - Google Patents

Procede de preconditionnement et de codage d'une table de donnees, et procede de mise en oeuvre de requetes tabulaires sur un processeur vectoriel Download PDF

Info

Publication number
WO2000060498A1
WO2000060498A1 PCT/FR1999/002441 FR9902441W WO0060498A1 WO 2000060498 A1 WO2000060498 A1 WO 2000060498A1 FR 9902441 W FR9902441 W FR 9902441W WO 0060498 A1 WO0060498 A1 WO 0060498A1
Authority
WO
WIPO (PCT)
Prior art keywords
predicates
request
application server
vector
decision
Prior art date
Application number
PCT/FR1999/002441
Other languages
English (en)
Inventor
Bernard Nivelet
Original Assignee
Bull S.A.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bull S.A. filed Critical Bull S.A.
Priority to US09/701,611 priority Critical patent/US6950817B1/en
Priority to DE69941814T priority patent/DE69941814D1/de
Priority to EP99947535A priority patent/EP1082674B1/fr
Priority to JP2000609921A priority patent/JP2002541559A/ja
Priority to AT99947535T priority patent/ATE452373T1/de
Publication of WO2000060498A1 publication Critical patent/WO2000060498A1/fr
Priority to US10/428,851 priority patent/US7103601B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/954Relational
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching

Definitions

  • the present invention relates to a method for preconditioning a data table intended to be used by a search engine responding to requests for selection of articles on determined criteria.
  • these databases can contain several million articles, each of which may have several hundred fields, and the response times to standard requests can be long when the user would like them to be of the order of a second. They are updated periodically, at most every night.
  • Banks and insurance companies also handle such historical databases relating to customer orders, for population research, potential customers of new products, etc.
  • All known solutions use a mechanism for managing relational databases updated and consulted from a network environment. This mechanism is known by the acronym RDBMS (Relational DataBase Management System).
  • RDBMS Relational DataBase Management System
  • a fully proprietary SQL search engine Search Query Language
  • the requests are split on the different nodes, then on the processors.
  • the main drawback of this solution is that the price / performance ratio remains high. Thus, to achieve high performance, the configurations must be large, therefore very expensive.
  • a second type of solution uses standard relational database software on standard machines generally multiprocessors.
  • a standard SQL search engine implements high parallelism according to the same principles as the solutions of the first type but with architectural variants on the mechanisms of fractionation of the requests and on the management of the caches.
  • the invention firstly relates to a process for preconditioning one or more data tables of a decision-making application server, intended to be processed by a search engine responding to requests for selecting articles based on determined criteria, issued by the decision-making application server.
  • the method according to the invention consists in:
  • the second object of the invention is a method of searching for articles, in response to a determined request, in a data table, consisting in installing a copy of the table of numerical values obtained by the preceding method, on a machine with capacity vector operating the processing of the numerical values of the table according to the request served by the decision-making application server.
  • the system further comprises means for extracting in clear text the data sought in the result file obtained at the output of the vector-capable machine from research means installed in the decision-making application server.
  • Statistical syntheses can also be carried out on the research results.
  • FIG. 3 a block diagram of a SELECT agent according to the invention.
  • the homologous elements are designated by the same reference numerals.
  • the principle of the invention is described below, based on its illustration, on the use of a vector machine known by the name of supercomputer.
  • Such a machine is characterized, on the one hand, by processors having several arithmetic units, "pipelines" in Anglo-Saxon terminology and, on the other hand, by a memory bandwidth sufficient to supply all the processors with each clock top.
  • the invention is however not limited to this type of machine and applies to any machine with vector capacities, that is to say machines whose performance is close to that of vector supercomputers.
  • Vector supercomputers are now offering an answer to the ever-increasing demands for performance in the fields of science and industry in general.
  • Vector machines are today the only ones able to meet the constraints already expressed in the preamble to this description.
  • the basic idea of the invention is to take advantage of the exceptional power of machines with vectorial capacities to make comparisons on digital vectors, coded images of the fields of the data table.
  • the transformation of the data of the table to be processed into numbers, and the formation of a nomenclature from these numbers are carried out during the installation of the relational database.
  • the coding of data in numbers has another advantageous effect of compacting the data of the base.
  • the method according to the invention acts only on a number representative of this field.
  • the table thus compacted can generally be contained in memory (no disk input-output), or else can be loaded into memory by column, which represents only reduced volumes of inputs / outputs.
  • the invention offers the possibility of adapting the coding to the type of requests that will be served. It also allows the implementation of an effective optimization of the treatment.
  • FIG. 1 illustrates a block diagram of a search system implementing a search engine according to the invention.
  • the search system comprises, on the left of the figure, a decision-making application system 1, representative of the general case, delimited by a closed broken line, and the search engine 2, on the right of the figure, delimited by a closed closed line.
  • the decision-making application system 1 is coupled to a user station (or client) 3.
  • the decision-making application server 1 comprises an application server 4 generating predefined requests, an RDBMS 5 managing a database 6, and an SQL agent 7 responsible for analyze the requests submitted by the application server 4 and, optionally, extract the target items from the base 6 by relying on the RDBMS 5.
  • the user sends, via the application server 4, corresponding requests to the characteristics of the target articles meeting certain criteria and receives from the same server 4 the result of the requests in the form of either a list of articles satisfying the criteria or of statistical summaries, or both.
  • the engine 2 implements a module 8 for preconditioning the data table and exploits the resources of a supercomputer 9 for processing a copy 10 of the preconditioned table in order to extract the target articles therefrom.
  • the preconditioning module 8 of the data table receives the data imported for example from a database 11. This data is organized in the form of a table and digitally coded according to a format directly usable by the supercomputer 9 and optimally executable by requests.
  • a copy of this table is accessible by the supercomputer 9. It resides, for example, in the memory space of the supercomputer 9 and can be partitioned if its size exceeds that of the available memory.
  • the supercomputer 9 receives from the SQL agent 7 the translation of the requests submitted by the application server 4 in the form of an input file.
  • the supercomputer 9 then processes this input file according to a determined research program making the most of the power of the pipelines of the supercomputer 9 by working on the columns of copy 10 of the table.
  • it delivers as output in the form of a file, the results of the processing carried out corresponding to the list of line numbers of the items selected by the search and, possibly, to the statistical summaries requested on the items found.
  • the SQL agent 7 uses the result file to extract the selected articles in clear, from the relational database 6.
  • the SQL agent 7 then transmits the results (selected articles and / or statistical summaries) in the form of an SQL response to the application server 4 issuing the request.
  • a table consistency module 12 accessible to the SQL agent 7, contains the list of identifiers of the tables present and the nomenclature of predicates for each of them.
  • FIG. 2 illustrates a block diagram of the module 8 for preconditioning and installing the table, according to the invention, delimited by a discontinuous closed line.
  • first means 13 for reading the data imported on any medium, article by article, at the input of the module, and coming for example from a database 11.
  • the articles read are then, on the one hand, supplemented with their number and transmitted to the relational database management system 5 which creates the unencrypted database 6 in the decision-making application server 1.
  • second means 14 which analyze the predicates on the articles according to authorized relationships and constraints on the predicates.
  • a column in the database contains only words for which the alphabetical order will be used in searches.
  • the analysis of the predicate will take this relationship into account for the digital coding of the predicate.
  • Third means 15 code the values of the predicates from second means 14. This coding consists in replacing the values fields by their indexes in the nomenclature of possible values.
  • Fourth means 16 create a classification of predicates from the second means 14 as a function of the coding by the third means 15.
  • the preconditioning module 8 also supplies the identifier of the coded base.
  • FIG. 3 illustrates a block diagram of a SELECT agent 19 according to the invention. It replaces the SQL agent 7 of the BI application server 1 which hosts it.
  • the transformation means 20 comprise means 21 for analyzing the SELECT request and means 22 for coding the predicates.
  • the vectors are then coded by the means of coding the predicates as a function of the nomenclature of the predicates, of the constraints on the predicates and of the authorized relations.
  • An extraction module 23 then constructs, if requested, the clear answer intended for the application server 4 sending the request, by extracting from the relational database 6, the articles corresponding to the list of line numbers in the file result of supercomputer 9 using the article number added to base 6.
  • the SELECT agent 19 also provides the identifier of the table. It is the table consistency module 12 which controls the identity of the table to be processed in the event of a plurality of tables.
  • An administrative agent 24 is also coupled to the SELECT agent 19 and makes it possible to control the activity of the supercomputer 9 and manage the anomalies. It also activates the loading of the research program into the supercomputer 9.

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Processing (AREA)
  • Complex Calculations (AREA)

Abstract

L'invention concerne un moteur de recherche (2) mis en oeuvre par un serveur applicatif décisionnel (1) agissant sur une base de données relationnelle (6) qui contient un ensemble d'articles cible. Le moteur (2) est activé par des requêtes de sélection d'articles sur des critères déterminés et comporte des moyens de préconditionnement (8) de la base (6) fournissant une table codée (10) préconditionnée, remise à jour périodiquement en même temps que la base relationnelle (6) elle-même, à une machine à capacités vectorielles (9) pour son traitement. Il comporte en outre des moyens d'extraction (7) des articles cible, activés par les requêtes, à partir du résultat du traitement de la table (10) installée dans la machine à capacités vectorielles (9), et de la base de données relationnelle (6). Les applications relèvent notamment des systèmes de data warehousing.

Description

PROCEDE DE PRECONDITIONNEMENT ET DE CODAGE D'UNE TABLE DE DONNEES, ET PROCEDE DE MISE EN OEUVRE DE REQUETES TABULAIRES SUR UN PROCESSEUR VECTORIEL
5 La présente invention concerne un procédé de préconditionnement d'une table de données destinée à être utilisé par un moteur de recherche répondant à des requêtes de sélection d'articles sur des critères déterminés.
Elle concerne également un procédé de recherche d'articles, en réponse à une requête déterminée, dans une table de données et un moteur de recherche 0 agissant sur une table de données contenant un ensemble d'articles cible, activé par des requêtes de sélection d'articles sur des critères déterminés.
Le domaine d'application est celui de l'entrepôt de données plus connu sous la terminologie anglo-saxonne de "data warehousing". Il s'adresse plus particulièrement à de grandes bases de données historiques, relativement 15 stables dans le temps à partir desquelles on veut pouvoir extraire des populations définies par critères avec une sollicitation très fréquente et des temps de réponse les plus faibles possibles.
Typiquement ces bases peuvent contenir plusieurs millions d'articles pouvant comporter chacun plusieurs centaines de champs et les temps de réponse à 20 des requêtes standards peuvent être longs alors que l'utilisateur souhaiterait qu'ils soient de l'ordre de la seconde. Elles sont mises à jour périodiquement, au plus chaque nuit.
Les clients potentiels de ce type de bases sont par exemple, la grande distribution, les banques et les assurances. 25 La grande distribution manipule des bases historiques des caisses et des cartes d'achat pour rechercher des populations cible pour le marketing direct.
Les banques et les assurances manipulent également de telles bases historiques relatives à des ordres client, pour des recherches de populations, clientes potentielles de nouveaux produits, etc. 30 On connaît des solutions reposant sur la mise en œuvre du parallélisme pour l'extraction d'articles sur unités de stockage. Toutes les solutions connues utilisent un mécanisme de gestion de bases de données relationnelles mises à jour et consultées depuis un environnement réseau. Ce mécanisme est connu sous l'acronyme RDBMS (Relational DataBase Management System). Dans un premier type de solution, un moteur de recherche SQL (Search Query Language), complètement propriétaire, est construit sur une architecture hautement parallèle à base de nœuds multiprocesseurs pilotant des disques sur lesquels la base de données est répartie. Les requêtes sont fractionnées sur les différents nœuds, puis sur les processeurs. Cette solution a comme principal inconvénient d'avoir un rapport prix/performance qui reste élevé. Ainsi, pour atteindre de hautes performances, les configurations doivent être importantes, donc très coûteuses. Un deuxième type de solutions utilise des logiciels de bases de données relationnelles standards sur des machines standards généralement multiprocesseurs.
Dans ce deuxième type de solutions, un moteur de recherche SQL standard met en œuvre le parallélisme élevé suivant les mêmes principes que les solutions du premier type mais avec des variantes d'architecture sur les mécanismes de fractionnement des requêtes et sur la gestion des antémémoires.
Les inconvénients de ce deuxième type de solutions sont les mêmes que ceux du premier type, aggravés d'une perte de performance due à la lourdeur du logiciel qui est une conséquence de sa généralité. L'invention a notamment pour but de pallier ces inconvénients en fournissant un moteur de recherche assez puissant pour effectuer dans des délais très courts, de l'ordre de quelques secondes, sur des tables de données de grande dimension mais stables dans le temps (mises à jour périodiques, au plus chaque nuit), des requêtes de sélection d'articles sur critères. A cet effet, l'invention a pour premier objet un procédé de préconditionnement d'une ou plusieurs tables de données d'un serveur applicatif décisionnel, destinée à être traitée par un moteur de recherche répondant à des requêtes de sélection d'articles sur des critères déterminés, émises par le serveur applicatif décisionnel.
Le procédé selon l'invention consiste à :
- analyser les prédicats contenus dans les champs des articles destinés à remplir la base de données relationnelle en fonction de relations autorisée déterminés ;
- créer une nomenclature des prédicats à partir de cette analyse ;
- coder numériquement les prédicats conformément à la nomenclature, en tenant compte de la nature des prédicats et des relations à mettre en œuvre sur les prédicats dans les requêtes.
Il consiste enfin à présenter les prédicats codés, sous la forme d'une table de valeurs numériques.
L'invention a pour deuxième objet un procédé de recherche d'articles, en réponse à une requête déterminée, dans une table de données, consistant à installer une copie de la table de valeurs numériques obtenue par le procédé précédent, sur une machine à capacité vectorielle opérant le traitement des valeurs numériques du tableau en fonctions de la requête servie par le serveur applicatif décisionnel.
Enfin elle a pour troisième objet un système de recherche mis en œuvre par un serveur applicatif décisionnel comportant une base de données relationnelle contenant un ensemble d'articles cible, et un moteur de recherche couplé au serveur applicatif décisionnel, activé par une requête de sélection d'articles sur des critères déterminés émise par le serveur applicatif décisionnel.
Selon l'invention, le système est caractérisé en ce que le moteur comporte des moyens de préconditionnement des données de la base et d'installation d'une table codée, correspondant à la base, sur une machine à capacités vectorielles, ces moyens comportant :
- des moyens de lecture d'un fichier de données correspondant à la base ;
- des moyens pour constituer une nomenclature des valeurs des champs contenus dans le fichier précédent ; - des moyens de codage des champs conformément à la nomenclature en tenant compte de la nature des champs et des relations à mettre en œuvre sur les prédicats dans la requête ;
- des moyens d'analyse des requêtes émises par le serveur applicatif décisionnel, en tenant compte de relations autorisées, de contraintes sur les prédicats et de la nomenclature ; et
- des moyens de codage de la requête filtrée, en un ensemble de vecteurs contenant les valeurs à trouver dans les champs selon les relations associées, sous forme d'un fichier d'entrée exploitable par la machine à capacités vectorielle.
Le système comporte en outre des moyens pour extraire en clair les données recherchées dans le fichier résultat obtenu en sortie de la machine à capacités vectorielle à partir de moyens de recherche installés dans le serveur applicatif décisionnel. Des synthèses statistiques peuvent être en outre opérées sur les résultats de la recherche.
L'invention a notamment pour avantage de fournir des temps de réponse très courts, inaccessibles par les techniques RDBMS, et un débit de requêtes élevé. Elle a pour autres avantages d'être transparente pour l'application existante et de n'avoir aucun impact au niveau applicatif.
D'autres avantages et caractéristiques de la présente invention apparaîtront à la lecture de la description qui suit faite en référence aux figures annexées qui représentent : - la figure 1 , un schéma de principe d'un système de recherche mettant en œuvre un moteur de recherche selon l'invention;
- la figure 2, un schéma de principe d'un module de préconditionnement et d'installation de la base de données, selon l'invention ; et
- la figure 3, un schéma de principe d'un agent SELECT selon l'invention. Dans ces figures, les éléments homologues sont désignés par les mêmes références numériques. Le principe de l'invention est décrit ci-après en s'appuyant pour son illustration, sur l'utilisation d'une machine vectorielle connue sous l'appellation de supercalculateur.
Une telle machine est caractérisée, d'une part, par des processeurs possédant plusieurs unités arithmétiques, "pipelines" en terminologie anglo-saxonne et, d'autre part, par une bande passante mémoire suffisante pour assurer l'alimentation de tous les processeurs à chaque top d'horloge. L'invention n'est cependant pas limitée à ce type de machine et s'applique à toute machine à capacités vectorielles, c'est-à-dire des machines dont les performances se rapprochent de celles des supercalculateurs vectoriels.
En effet, les calculateurs scalaires actuels comportent plusieurs opérateurs arithmétiques et les bandes passantes mémoire progressent grâce à l'usage d'une technologie, connue sous la terminologie anglo-saxonne "crossbar" (autocommutateur). On peut donc envisager dans un avenir proche que les performances des calculateurs scalaires se rapprochent de celles des supercalculateurs vectoriels.
Les supercalculateurs vectoriels offrent dès maintenant une réponse aux demandes toujours grandissantes de performances dans les domaines des sciences et de l'industrie en général. Les machines vectorielles sont aujourd'hui les seules à pouvoir répondre aux contraintes déjà exprimées dans le préambule de la présente description. L'idée de base de l'invention est de tirer parti de la puissance exceptionnelle des machines à capacités vectorielles pour effectuer des comparaisons sur les vecteurs numériques, images codées des champs de la table de données. La transformation en nombres des données de la table à traiter, et la formation d'une nomenclature à partir de ces nombres sont réalisées lors de l'installation de la base de données relationnelle.
Le codage des données en nombres a pour autre effet avantageux de compacter les données de la base. Ainsi par rapport aux solutions de type RDBMS qui manipulent le contenu en clair de chaque champ, le procédé selon l'invention n'agit que sur un nombre représentatif de ce champ. La table ainsi compactée peut être en général contenue en mémoire (pas d'entrée-sortie disque), ou bien peut être chargée en mémoire par colonne ce qui ne représente que des volumes réduits d'entrées/sorties. Enfin l'invention offre la possibilité d'adapter le codage au type de requêtes qui seront servies. Elle permet en outre la mise en oeuvre d'une optimisation efficace du traitement.
La figure 1 illustre un schéma de principe d'un système de recherche mettant en œuvre un moteur de recherche selon l'invention. Le système de recherche comporte, à gauche de la figure, un système applicatif décisionnel 1 , représentatif du cas général, délimité par une ligne fermée discontinue, et le moteur de recherche 2, à droite de la figure, délimité par une ligne fermée discontinue.
Le système applicatif décisionnel 1 est couplé à un poste utilisateur (ou client) 3. Le serveur applicatif décisionnel 1 comporte un serveur applicatif 4 générant des requêtes prédéfinies, un RDBMS 5 gérant une base de données 6, et un agent SQL 7 chargé d'analyser les requêtes soumises par le serveur applicatif 4 et, éventuellement, d'extraire les articles cible de la base 6 en s'appuyant sur le RDBMS 5. L'utilisateur (le client) émet, via le serveur applicatif 4, des requêtes correspondant à des caractéristiques des articles cible répondant à des critères déterminés et reçoit du même serveur 4 le résultat des requêtes sous la forme soit d'une liste d'articles satisfaisant les critères soit de synthèses statistiques, ou les deux. Le moteur 2 met en œuvre un module 8 de préconditionnement de la table de données et exploite les ressources d'un supercalculateur 9 pour le traitement d'un copie 10 de la table préconditionnée en vue d'en extraire les articles cible. Le module 8 de préconditionnement de la table de données reçoit les données importées par exemple d'une banque de données 11. Ces données sont organisées sous forme d'un tableau et codées numériquement selon un format directement exploitable par le supercalculateur 9 et exécutable de façon optimale par les requêtes.
Une copie de cette table est accessible par le supercalculateur 9. Elle réside, par exemple, dans l'espace mémoire du supercalculateur 9 et peut être partionnée si sa taille dépasse celle de la mémoire disponible.
Le supercalculateur 9 reçoit de l'agent SQL 7 la traduction des requêtes soumises par le serveur applicatif 4 sous forme d'un fichier d'entrée. Le supercalculateur 9 traite ensuite ce fichier d'entrée selon un programme de recherche déterminé tirant le parti maximum de la puissance des pipelines du supercalculateur 9 en travaillant sur les colonnes de la copie 10 de la table. A l'issue du traitement, il délivre en sortie sous forme d'un fichier, les résultats du traitement effectué correspondant à la liste des numéros de ligne des articles sélectionnés par la recherche et, éventuellement, aux synthèses statistiques demandées sur les articles trouvés. Si les articles en clair sont demandés, l'agent SQL 7 exploite le fichier résultat pour extraire les articles sélectionnés en clair, à partir de la base de données relationnelle 6.
L'agent SQL 7 transmet ensuite les résultats (articles sélectionnés et/ou synthèses statistiques) sous forme de réponse SQL au serveur applicatif 4 émetteur de la requête.
Un module 12 de cohérence de tables, accessible à l'agent SQL 7, contient la liste des identifiants des tables présentes et la nomenclature des prédicats pour chacune d'entre elles.
La figure 2 illustre un schéma de principe du module 8 de préconditionnement et d'installation de la table, selon l'invention, délimité par une ligne fermée discontinue.
Il comporte des premiers moyens 13 de lecture des données importées sur un support quelconque, article par article, à l'entrée du module, et provenant par exemple d'une banque de données 11. Les articles lus sont ensuite, d'une part, complétés de leur numéro et transmis au système de gestion de base de données relationnelle 5 qui crée la base de données en clair 6 dans le serveur applicatif décisionnel 1. Il comporte, d'autre part, des deuxièmes moyens 14 qui analysent les prédicats sur les articles en fonction de relations autorisées et de contraintes sur les prédicats.
On donne ci-après deux exemples de contraintes sur les prédicats : Dans un premier exemple, une colonne de la base de données ne comporte que des valeurs numériques. Dans cet exemple, il n'est pas nécessaire de coder numériquement ce qui est déjà numérique.
Dans un deuxième exemple, une colonne de la base de données ne contient que des mots pour lesquels l'ordre alphabétique sera utilisé dans les recherches. Dans cet exemple, l'analyse du prédicat tiendra compte de cette relation pour le codage numérique du prédicat.(préservation de l'ordre) Des troisièmes moyens 15 codent les valeurs des prédicats issus des deuxièmes moyens 14. Ce codage consiste à remplacer les valeurs des champs par leurs index dans la nomenclature des valeurs possibles. Des quatrièmes moyens 16 créent une nomenclature des prédicats issus des deuxièmes moyens 14 en fonction du codage par les troisièmes moyens 15. Le module de préconditionnement 8 fournit d'autre part l'identifiant de la base codée.
La table codée, la nomenclature des prédicats et l'identifiant de la base se présentent sous la forme de fichiers, respectivement référencés 10, 17 et 18 sur la figure. La figure 3 illustre un schéma de principe d'un agent SELECT 19 selon l'invention. Il se substitue à l'agent SQL 7 du serveur applicatif décisionnel 1 qui l'héberge.
Il comporte des moyens 20 de transformation des requêtes, délimités par une ligne fermée en pointillés, lesquelles requêtes sont soumises par le serveur applicatif 4 en fonction de la nomenclature des prédicats 17, des contraintes sur les prédicats et des relations autorisées. Les moyens 20 de transformation comportent des moyens 21 d'analyse de la requête SELECT et des moyens 22 de codage des prédicats.
Les moyens 21 d'analyse de la requête traduisent la requête en un ensemble de vecteurs représentatifs des champs à trouver et des relations mises en œuvre en tenant compte des relations autorisées.
Les vecteurs sont ensuite codés par les moyens de codage des prédicats en fonction de la nomenclature des prédicats, des contraintes sur les prédicats et des relations autorisées.
Il y a autant de vecteurs que de valeurs possibles dans les champs de la table. L'analyse permet de construire, par ailleurs, pour chacun de ces vecteurs un vecteur définissant quel type de comparaison effectuer pour chacune des valeurs de champ.
Les vecteurs sont agencés sous forme d'un fichier d'entrée exploitable par le supercalculateur 9. Un programme de recherche intégré au supercalculateur exécute les comparaisons entre les vecteurs et toutes les lignes du tableau.
Ces comparaisons sont effectuées colonne par colonne.
En cas de coïncidence d'une ligne, son numéro est conservé et la réponse fournie par le supercalculateur à l'agent SQL 7 se présente sous la forme d'un fichier résultat comportant la liste des numéros correspondant aux lignes sélectionnées. C'est à partir de ce fichier que les synthèses statistiques demandées sont calculées.
Un module d'extraction 23 construit ensuite, si elle est demandée, la réponse en clair destinée au serveur applicatif 4 émetteur de la requête, en extrayant de la base de données relationnelle 6, les articles correspondant à la liste des numéros de lignes du fichier résultat du supercalculateur 9 en utilisant le numéro d'article ajouté à la base 6.
L'agent SELECT 19 fournit en outre l'identifiant de la table. C'est le module de cohérence de tables 12 qui contrôle l'identité de la table à traiter en cas de pluralité de tables. Un agent d'administration 24 est en outre couplé à l'agent SELECT 19 et permet de contrôler l'activité du supercalculateur 9 et gérer les anomalies. Il active en outre le chargement du programme de recherche dans le supercalculateur 9.

Claims

REVENDICATIONS
1. Procédé de préconditionnement d'une ou plusieurs tables de données d'un serveur applicatif décisionnel (1 ), destinée à être traitée par un moteur de recherche (2) répondant à des requêtes de sélection d'articles sur des critères déterminés, émises par le serveur applicatif décisionnel (1 ), caractérisé en ce qu'il consiste à :
- analyser (14) les prédicats contenus dans les champs des articles destinés à remplir la base de données relationnelle (6) en fonction de relations autorisée déterminés ;
- créer (16) une nomenclature (17) des prédicats à partir de cette analyse ;
- coder (15) numériquement les prédicats conformément à la nomenclature (17), en tenant compte de la nature des prédicats et des relations à mettre en œuvre sur les prédicats dans les requêtes ; et - en ce qu'il consiste à présenter les prédicats codés, sous la forme d'une table (10) de valeurs numériques.
2. Procédé selon la revendication 1 , caractérisé en ce que le codage consiste à remplacer les valeurs des prédicats par leur index dans la nomenclature des valeurs possibles.
3. Procédé selon la revendication 1 , caractérisé en ce que le codage compacte les données.
4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que le codage prend en compte le type de requête servie.
5. Procédé de recherche d'articles, en réponse à une requête déterminée, dans une table de données, caractérisé en ce qu'il consiste à installer une copie (10) de la table de valeurs numériques obtenue par le procédé selon l'une quelconque des revendications 1 à 4, sur une machine à capacité vectorielle (9) opérant le traitement des valeurs numériques du tableau en fonctions de la requête servie par le serveur applicatif décisionnel (1 ).
6. Procédé selon la revendication 5, caractérisé en ce que la requête est exprimée par un ou plusieurs vecteurs représentatifs des valeurs recherchées dans un champ, et en ce que le traitement consiste à comparer le ou les vecteurs à toutes les lignes du tableau, colonne par colonne, en conservant pour chaque coïncidence le numéro de la ligne.
7. Procédé selon la revendication 6, caractérisé en ce qu'il consiste, à partir de l'ensemble des numéros des lignes sélectionnées et de la base de données relationnelle (6) comprenant un champ additionnel contenant le numéro des lignes, à extraire de la base de données relationnelle (6) les articles recherchés en clair dont les numéros correspondent, en réponse à une requête.
8. Procédé selon les revendications 6 ou 7, caractérisé en ce qu'il consiste à exprimer les résultats du traitement sous forme statistique dont une synthèse est fournie en réponse à une requête.
9. Procédé selon l'une quelconque des revendications 5 à 8, caractérisé en ce que la machine à capacités vectorielles (9) est un supercalculateur.
10. Système de recherche mis en œuvre par un serveur applicatif décisionnel (1 ) comportant une base de données relationnelle (6) contenant un ensemble d'articles cible, et un moteur de recherche (2) couplé au serveur applicatif décisionnel (1 ), activé par une requête de sélection d'articles sur des critères déterminés émise par le serveur applicatif décisionnel (1 ), caractérisé en ce que le moteur (2) comporte des moyens (8) de préconditionnement des données de la base (6) et d'installation d'une table codée (10), correspondant à la base (6), sur une machine à capacités vectorielles (9), ces moyens (8) comportant :
- des moyens (13) de lecture d'un fichier de données correspondant à la base ; - des moyens (16) pour constituer une nomenclature (17) des valeurs des champs contenus dans le fichier ;
- des moyens (15) de codage des champs conformément à la nomenclature (17) en tenant compte de la nature des champs et des relations à mettre en œuvre sur les prédicats dans la requête ; - des moyens (21 ) d'analyse des requêtes émises par le serveur applicatif décisionnel (1 ), en tenant compte de relations autorisées, des contraintes sur les prédicats et de la nomenclature (17) ; et
- des moyens (22) de codage de la requête filtrée, en un ensemble de vecteurs contenant les valeurs à trouver dans les champs selon les relations associées, sous forme d'un fichier d'entrée exploitable par la machine à capacités vectorielle (9).
11. Système selon la revendication 10, caractérisé en ce qu'il comporte en outre des moyens (23) pour extraire en clair les données recherchées dans le fichier résultat obtenu en sortie de la machine à capacités vectorielle (9) à partir de moyens de recherche installés dans le serveur applicatif décisionnel (D-
12. Système selon l'une quelconque des revendications 10 et 11 , caractérisé en ce qu'il comporte en outre, un agent d'administration (24) surveillant l'activité de la machine à capacités vectorielles, gérant les anomalies, et activant les moyens de recherche sur la machine à capacités vectorielles (9).
PCT/FR1999/002441 1999-04-02 1999-10-11 Procede de preconditionnement et de codage d'une table de donnees, et procede de mise en oeuvre de requetes tabulaires sur un processeur vectoriel WO2000060498A1 (fr)

Priority Applications (6)

Application Number Priority Date Filing Date Title
US09/701,611 US6950817B1 (en) 1999-04-02 1999-10-11 Implementing table queries in a machine with vectorial capabilities
DE69941814T DE69941814D1 (de) 1999-04-02 1999-10-11 Verfahren zur vorbehandlung und kodierung einer datentabelle, und verfahren zur implementierung von tabellenanfragen auf einem vektorprozessor
EP99947535A EP1082674B1 (fr) 1999-04-02 1999-10-11 Procede de preconditionnement et de codage d'une table de donnees, et procede de mise en oeuvre de requetes tabulaires sur un processeur vectoriel
JP2000609921A JP2002541559A (ja) 1999-04-02 1999-10-11 データテーブルの予備調整および符号化の方法と、ベクトル処理装置でテーブルの要求を実施する方法
AT99947535T ATE452373T1 (de) 1999-04-02 1999-10-11 Verfahren zur vorbehandlung und kodierung einer datentabelle, und verfahren zur implementierung von tabellenanfragen auf einem vektorprozessor
US10/428,851 US7103601B2 (en) 1999-04-02 2003-05-05 Method for preconditioning and encoding data table, and method for the implementation of table requests on a vectoral processor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR99/04130 1999-04-02
FR9904130A FR2791790B1 (fr) 1999-04-02 1999-04-02 Procede de preconditionnement et de codage d'une table de donnees, et procede de mise en oeuvre de requetes tabulaires sur une machine a capacites vectorielles

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US09/701,611 A-371-Of-International US6950817B1 (en) 1999-04-02 1999-10-11 Implementing table queries in a machine with vectorial capabilities
US10/428,851 Division US7103601B2 (en) 1999-04-02 2003-05-05 Method for preconditioning and encoding data table, and method for the implementation of table requests on a vectoral processor

Publications (1)

Publication Number Publication Date
WO2000060498A1 true WO2000060498A1 (fr) 2000-10-12

Family

ID=9543941

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR1999/002441 WO2000060498A1 (fr) 1999-04-02 1999-10-11 Procede de preconditionnement et de codage d'une table de donnees, et procede de mise en oeuvre de requetes tabulaires sur un processeur vectoriel

Country Status (7)

Country Link
US (2) US6950817B1 (fr)
EP (1) EP1082674B1 (fr)
JP (1) JP2002541559A (fr)
AT (1) ATE452373T1 (fr)
DE (1) DE69941814D1 (fr)
FR (1) FR2791790B1 (fr)
WO (1) WO2000060498A1 (fr)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7069259B2 (en) * 2002-06-28 2006-06-27 Microsoft Corporation Multi-attribute specification of preferences about people, priorities and privacy for guiding messaging and communications
US8024163B2 (en) * 2007-07-23 2011-09-20 International Business Machines Corporation Method and apparatus for executing multiple simulations on a supercomputer
US8275720B2 (en) 2008-06-12 2012-09-25 International Business Machines Corporation External scoping sources to determine affected people, systems, and classes of information in legal matters
US9830563B2 (en) 2008-06-27 2017-11-28 International Business Machines Corporation System and method for managing legal obligations for data
US8489439B2 (en) 2008-06-30 2013-07-16 International Business Machines Corporation Forecasting discovery costs based on complex and incomplete facts
US20100017239A1 (en) * 2008-06-30 2010-01-21 Eric Saltzman Forecasting Discovery Costs Using Historic Data
US8484069B2 (en) * 2008-06-30 2013-07-09 International Business Machines Corporation Forecasting discovery costs based on complex and incomplete facts
US8515924B2 (en) 2008-06-30 2013-08-20 International Business Machines Corporation Method and apparatus for handling edge-cases of event-driven disposition
US8250041B2 (en) 2009-12-22 2012-08-21 International Business Machines Corporation Method and apparatus for propagation of file plans from enterprise retention management applications to records management systems
KR102516345B1 (ko) * 2018-07-10 2023-04-03 삼성전자주식회사 데이터 변조 판단 방법 및 이를 지원하는 전자 장치
CN117390234B (zh) * 2023-10-12 2024-04-09 佳木斯大学 口服液的质量检测方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4644471A (en) * 1983-12-23 1987-02-17 Hitachi, Ltd. Method for processing a data base

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US442543A (en) * 1890-12-09 pbidmore
US5852821A (en) * 1993-04-16 1998-12-22 Sybase, Inc. High-speed data base query method and apparatus
US5537589A (en) * 1994-06-30 1996-07-16 Microsoft Corporation Method and system for efficiently performing database table aggregation using an aggregation index
US5664172A (en) * 1994-07-19 1997-09-02 Oracle Corporation Range-based query optimizer
US5535385A (en) * 1995-05-19 1996-07-09 At&T Corp. Dealing with side effects of transactions in data base systems using a multi-set algebra
US5899988A (en) * 1997-02-28 1999-05-04 Oracle Corporation Bitmapped indexing with high granularity locking
US6366904B1 (en) * 1997-11-28 2002-04-02 International Business Machines Corporation Machine-implementable method and apparatus for iteratively extending the results obtained from an initial query in a database
US6438541B1 (en) * 1999-02-09 2002-08-20 Oracle Corp. Method and article for processing queries that define outer joined views

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4644471A (en) * 1983-12-23 1987-02-17 Hitachi, Ltd. Method for processing a data base

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ANONYMOUS: "Query Processing With Existing Vector Feature Machines", IBM TECHNICAL DISCLOSURE BULLETIN, vol. 32, no. 5A, October 1989 (1989-10-01), New York, US, pages 305 - 306, XP002124414 *
KOJIMA K ET AL: "A RELATIONAL DATABASE SYSTEM ARCHITECTURE BASED ON A VECTOR PROCESSING METHOD", PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON DATA ENGINEERING,US,WASHINGTON, IEEE COMP. SOC. PRESS, vol. CONF. 3, 1987, pages 182-189, XP000757760 *
SHUN'ICHI TORII ET AL: "ACCELERATING NON-NUMERICAL PROCESSING BY AN EXTENDED VECTOR PROCESSOR", PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON DATA ENGINEERING,US,WASHINGTON, IEEE COMP. SOC. PRESS, vol. CONF. 4, 1 July 1988 (1988-07-01), pages 194-201, XP000124091 *

Also Published As

Publication number Publication date
US7103601B2 (en) 2006-09-05
FR2791790B1 (fr) 2001-06-22
JP2002541559A (ja) 2002-12-03
DE69941814D1 (de) 2010-01-28
EP1082674B1 (fr) 2009-12-16
US20040002968A1 (en) 2004-01-01
ATE452373T1 (de) 2010-01-15
FR2791790A1 (fr) 2000-10-06
EP1082674A1 (fr) 2001-03-14
US6950817B1 (en) 2005-09-27

Similar Documents

Publication Publication Date Title
Middlehurst et al. HIVE-COTE 2.0: a new meta ensemble for time series classification
CN108416620B (zh) 一种基于大数据的画像数据的智能社交广告投放平台
KR100996771B1 (ko) 정보 캐싱 시스템 및 이를 사용하는 장치, 데이터 캐싱 방법, 및 능동적 캐싱 방법
US6408292B1 (en) Method of and system for managing multi-dimensional databases using modular-arithmetic based address data mapping processes on integer-encoded business dimensions
US7539657B1 (en) Building parallel hybrid spill trees to facilitate parallel nearest-neighbor matching operations
US5778362A (en) Method and system for revealing information structures in collections of data items
US7430550B2 (en) Sampling method for estimating co-occurrence counts
US20100131456A1 (en) Systems and methods for middleware database hosting dimensional transforms
US20100057777A1 (en) Systems and methods for generating multi-population statistical measures using middleware
CN102112986A (zh) 对基于列的数据编码的结构的高效的大规模处理
WO2003042867A2 (fr) Procede de mise a jour d'une base de donnees d'empreintes digitales, client et serveur
EP1082674B1 (fr) Procede de preconditionnement et de codage d'une table de donnees, et procede de mise en oeuvre de requetes tabulaires sur un processeur vectoriel
WO2003046760A2 (fr) Procede et systeme de mise a jour d'une base de donnees a empreinte digitale
Castelli et al. Progressive search and retrieval in large image archives
EP1727060A1 (fr) Procédé et dispositif de construction et d'utilisation d'une table de profils réduits de parangons, produit programme d'ordinateur correspondant
Tao et al. Towards knowledge discovery from WWW log data
EP1895410A1 (fr) Procédé et système d'extraction d'un tableau croisé d'une base de données, et produit programme d'ordinateur correspondant
US20090150355A1 (en) Software method for data storage and retrieval
Castagnos et al. A client/server user-based collaborative filtering algorithm: Model and implementation
Wegman Visions: New techniques and technologies in statistics
Hassan STORAGE STRUCTURES IN THE ERA OF BIG DATA: FROM DATA WAREHOUSE TO LAKEHOUSE
Sever Knowledge structuring for database mining and text retrieval using past optimal queries
Sreenu et al. Ant Colony Clusters for Fast Execution of Large Datasets
FR3105474A3 (fr) Systeme et procede de distribution de donnees a base de cache
Rao et al. Extracting the user’s interests by using Web log data based on Web usage mining

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

WWE Wipo information: entry into national phase

Ref document number: 1999947535

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 09701611

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWP Wipo information: published in national office

Ref document number: 1999947535

Country of ref document: EP