IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Search Engine : Zend VS SQL [1.x]


Sujet :

Symfony PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Search Engine : Zend VS SQL
    Bonjour a tous !

    Je suis en train de developper une base de donnees pour un reseau. Pour faire simple cette base ressence les partenariats etablis entre un membre du reseau et une entreprise donnee. Chaque partenariat est delimite dans le temps apr une date de debut et une date de fin. Derniere info utile : la base est amenee a avoir plusieurs milliers d'entrees.

    Je dois faire un moteur de recherche. Il doit, outre des fonctionnalites classiques, etre capable de retourner l'ensemble des entreprises n'ayant pas etabli de partenariat avec le reseau entre telle date et telle date.

    Pour faire ce moteur de recherche soit j'utilise Zend Framework soit j'utilise des requetes SQL affreusement longues (avec des jointures de tables, etc...). S'il n'y avait pas les dates a prendre en compte j'aurais opte pour Zend Frameworks sans hesiter. Mais je ne sais pas si Zend peut gerer la requete particuliere que j'ai exposee en paragraphe2...

    Que me conseillez-vous ?

    Merci pour votre aide !

    Raphael

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 74
    Points : 85
    Points
    85
    Par défaut
    Zend framework est un ensemble d'outils facilitant notamment la gestion des données de la base de données. Tu peux utiliser zend framework pour ta recherche, mais il faudra utiliser le composant Zend_Db qui, avec ce que tu lui dira, construira une requête (ou plusieurs) qui fera ce que tu lui demande.
    Mais c'est toujours a toi de créer la structure de ta requête (avec une syntaxe différente). Si tu as des jointures il faudra les indiquer à Zend framework.

    Si tu as besoin de rapidité, utilise le SQL directement.
    Sinon tu peux utiliser le Zend framework, mais il ne va deviner la structure de ta base et faire tout le boulot tout seul sans un minimum d'indication et tu devra tout de même "former" ta requête.

    Quand aux dates, je ne vois pas le problème avec Zend framework ... il possède une classe Zend_Date d'ailleurs très pratique

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Merci pour ces eclairages !

    Bien sur je devrais construire mes requetes Zend. Je reformule ma question (desole de ne pas avoir ete clair).

    Etant donnee la requete que j'ai citee et etant donnee que la base aura quelques milliers d'entrees, quelle strategie adopter pour avoir le moteur de recherche le plus rapide possible ? Utiliser Zendframework (et donc un index en texte brut) OU utiliser SQL directement (via Propel)?

    En lisant ta reponse je vois que tu penses qu'SQL sera plus rapide. Quels sont les avantages de Zend Framowork alors ?

    Merci !

  4. #4
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Si tu n'as à effectuer qu'un moteur de recherche (en gros une requete modulaire ) et ta requete de recherche sur les société spécifique , y me semble pas nécessaire d'implémanter ZF ou même un ORM comme propel.

    Faut quand même pas oublier que ce sont des surcouches qui vont de toute manière ralentir le traitement initial.

    Bref si ton moteur de recherche s'intègre dans un projet existant => utilise la solution du projet sinon fait au plus simple.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 74
    Points : 85
    Points
    85
    Par défaut
    Utiliser le SQL sera le plus rapide en effet car il s'exécutera directement : tu créé une chaine de caractère -> requête -> récupération du résultat.

    Zend framework, lui, implémente une "couche" par dessus tout ça, et agi comme (ou presque) un ORM (Object Relationnal Mapping). C'est à dire qu'il te permet d'avoir une représentation de ta base et des données qu'elle contient sous forme d'un modèle objet, et ceci avec très peu de code. Ainsi Zend nous offre une belle collection de classes avec leurs méthodes qui permettent des accès rapide aux données (je pense notament aux méthodes dites "magiques", j'adore ).
    Ainsi Zend_Db apporte une grande aide et simplifie pas mal les requêtes courante et simples une fois qu'un travail en amont a été fait pour représenter le modèle. Pour les requêtes plus compliquées, il devient vite nécessaire de mettre les mains dans le cambouis !
    Par contre, le revers de la médaille est la quantité de requêtes effectuées. En effet, Zend_Db va récupérer les informations de la base et des tables concernées via des requêtes, puis construire la requête en fonctions des paramètres avant de l'exécuter. Ensuite il ne renvoie pas le résultat directement, mais construit un Zend_Db_ResultSet qui t'es ensuite retourné. Tout ceci prend donc plus de temps

    Ici, comme l'a dit grunk, utilise la solution implémentée dans ton projet et va au plus simple. Si tu n'utilisais pas le zend framework ne l'intègre pas juste pour ça.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    En fait je vais utiliser symfony pour mon projet donc propel.

    Tu me conseilles donc de faire mon moteur de recherche "a la main" plutot que d'implementer en plus le Zend Framework ?

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 74
    Points : 85
    Points
    85
    Par défaut
    Oui. Plus tu utilise d'outils, plus le développement est rapide et facile, mais plus c'est lent à l'exécution !

    En plus je ne connais pas bien symphony, mais il me semble que on y retrouve à peu près les mêmes fonctionnalités que dans ZF. Ca ferait un peu doublon d'utiliser les deux ...

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Merci pour votre aide !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. plugin sflucene search engine
    Par billy85 dans le forum Plugins
    Réponses: 10
    Dernier message: 20/05/2010, 17h04
  2. [SQL-Server] Migration Zend Framework / SQL Server 2000 vers SQL Serveur 2008
    Par MaitreTsiang dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 10/12/2009, 14h19
  3. PHP et ESO(Search Engine Optimization)
    Par lebonvieuxnovice dans le forum Langage
    Réponses: 1
    Dernier message: 03/09/2009, 14h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo