2011-01-20 4 views
2

Je souhaite stocker les messages reçus d'un serveur dans un type de base de données. Mon site web est basé sur Drupal et j'utilise la base de données Mysql. Les messages contiennent 6 champs (2 chaînes et 4 entiers). Lors du stockage, ces messages seraient constamment interrogés et mis à jour.Stocker les données reçues dans un champ Drupal CCK ou dans une table de base de données MySQL?

Quelle approche devrais-je aller ici. Un champ CCK drupal ou une table de base de données MySQL?

+0

Comment les "messages" seront-ils introduits dans la base de données? Cela pourrait affecter la réponse un peu. Créez-vous un service Web entrant, analysant le courrier entrant, ...? –

+0

@Matt: j'utiliserai des connexions socket pour vérifier les messages entrants. – ayush

Répondre

1

Cela dépend. Le schéma de CCK a été conçu plus pour la flexibilité que pour être «constamment interrogé». Si vous ne vous attendez pas à ce que votre schéma change beaucoup avec le temps et que vous ayez la possibilité de créer et de gérer vos propres tables, CCK ne vous apportera peut-être pas grand-chose. Si jamais vous décidez d'exporter vos données vers un système autre que Drupal, il vous sera probablement plus facile d'utiliser la structure de table simple que vous obtiendrez en créant vos propres tables personnalisées. Cependant, si vous êtes pressé pour une raison quelconque, vous pouvez probablement créer un seul type de contenu avec les champs que vous décrivez en 15 minutes environ. Si vous voulez un support pour le module Views, c'est déjà inclus avec CCK.

+0

lequel donnerait un résultat plus rapide sur la requête et serait approprié pour les mises à jour constantes? Aussi ce qui serait bien en termes d'utilisation de la mémoire. Le nombre d'éléments dans ce type de données peut aller jusqu'à plus de 1000 dans un jour. – ayush

+0

Une table personnalisée vous donnerait certainement des résultats plus rapides. Seuls les tests vous diraient combien plus rapide cependant. Cela pourrait être négligeable, cela pourrait ne pas être le cas. La surcharge de mémoire serait moindre avec une table personnalisée, puisque la structure de données pourrait être plus simple. Encore une fois, je ne suis pas sûr de combien exactement si. –

1

Si vous avez des données héritées dans une base de données ou que vous avez rempli votre base de données via un processus externe, CCK n'est pas une option. CCK vous permet de modifier les champs d'une interface Web; mais, ce faisant, vous modifiez la structure de base de données sous-jacente. CCK dépend également de sa propre structure de base de données, vous ne pouvez en aucun cas faire du contenu CCK à partir d'une base de données héritée ou non CCK ou y insérer du contenu sans écrire tous les champs CCK vous-même.

Questions connexes