Rechercher : dans
Par :

Stockage: fichier ou base de donnée ?

Dernière réponse le 2 jun 2009 à 15:54:57 kelsett, le 1 jun 2009 à 20:31:13 
 Signaler ce message aux modérateurs

Bonjour,
J'ai une question :)

Est ce que vous pourriez me dire qu'est ce qui est le mieux entre le stockage par fichier ou par base de donnée ? Si possible avec des arguments, rapidité/pompage de bande passante/etc ?

J'ai essayé les deux mais mes sites sont pas assez gros pour vraiment comparer les deux systèmes...

Configuration: Carte Mère : Asus Maximus Formula SE chipset X38
Mémoire Vive : Crucial Ballistic 2x1 Go PC8500 CAS 4-4-4-12
Processeur : Intel Core 2 Quad Q6600 @ 3.5GHz
Carte Graphique : MSI GeForce 8800 Ultra OC Supercloaked
Disque Dur : Seagate Barracuda 500 Go - 32Mo

Meilleures réponses pour « Stockage: fichier ou base de donnée ? » dans :
Sauvegarde de la base de données gérée par l’utilisateur Voir1. Interroger des vues pour obtenir des informations sur les fichiers de base de données Utilisez la vue V$DATAFILE pour obtenir la liste des noms et des états de tous les fichiers de données Utilisez la vue V$CONTROLFILE pour afficher tous les...
[Organisation] Créer une base de connaissances VoirLe but d'une base de connaissances est de modéliser et stocker de manière informatique un ensemble de connaissances, idées, concepts ou données et de permettre leur consultation/utilisation. Il existe plusieurs méthodes et logiciels différents pour...
[VBA]Connecter une base de donnée (MDB) à excel VoirConnecter une base de donnée access (MDB) dans une application excel. Ajouter la référence Microsoft DAO object librairy X.X Dans un module général (Module1 par exemple) coller le code ci-dessous Sub CopieDBaccess() Dim BDexp As Database Dim...
Oracle - Les fichiers d'une base Oracle VoirLes fichiers physiques d'une base Oracle Les fichiers physiques d'une base Oracle permettent de stocker de manière persistante les données manipulées par Oracle, tandis que la mémoire sert à optimiser la vitesse de fonctionnement de la base de...
Bases de données - Introduction VoirQu'est-ce qu'une base de données ? Une base de données (son abréviation est BD, en anglais DB, database) est une entité dans laquelle il est possible de stocker des données de façon structurée et avec le moins de redondance possible. Ces données...
PHP - Bases de données VoirPhp permet un interfaçage très simple avec un grand nombre de bases de données. Lorsqu'une base de données n'est pas directement supportée par Php, il est possible d'utiliser un driver ODBC, pilote standard pour communiquer avec les bases de...

1

raylcool, le 1 jun 2009 à 20:35:23

C'est du stockage de texte ?

Répondre à raylcool

2

kelsett, le 1 jun 2009 à 20:37:35

Oui, par exemple pour stocker les news d'un site.

Répondre à kelsett

3

raylcool, le 1 jun 2009 à 20:38:15

Fait du stockage par base de données alors, ce sera plus rapideà mon avis.

Répondre à raylcool

4

kelsett, le 1 jun 2009 à 20:42:25

J'aimerai bien parce que c'est plus facile à écrire :) mais je me demande quand même s'il le fait de devoir se connecter à la base de donnée puis envoyer les instructions puis attendre de recevoir c'est pas plus long que de juste récupérer un fichier texte et séparer les valeurs... D'autres avis ?

Répondre à kelsett

5

le_boss, le 1 jun 2009 à 21:02:55
  • +1

A mon avis, pour une telle utilisation, la différence sera complètement invisible.

Je penche malgré tout pour l'utilisation de la base de données... ça donne d'autres possibilités pour l'avenir, si tu veux aller plus loin (requêtes, etc), et selon le nombre de données parallèles à tes news (date, auteur, etc) c'est bien plus pratique à exploiter via une base de données que par un fichier texte (après tout, la base de données est faite pour ça... tandis que le fichier texte, c'est pas l'utilisation première).

Répondre à le_boss

6

benvii, le 1 jun 2009 à 21:10:13

Moi j'utilise des petits fichiers text :
* un fichier contenant la dernière id
* et un fichier par news (exemple $id.news)

Le seul problème c'est que tu ne peux pas faire des recherches comme dans une bdd. Sinon je pense que c'est plus rapide car tu vas directement chercher la news qu'il te faut en local (sur le même serveur), à la place de contacter un autre serveur qui fait office de bdd. Benvii

Répondre à benvii

7

le_boss, le 1 jun 2009 à 21:20:11

Je crois pas que ce soit très courant que la base de données soit sur un autre serveur, pour ce genre de sites en tout cas...

cela dit, je répète... même si il y a une différence de vitesse entre les deux, ce sera tellement infime qu'on ne verra pas la différence.

Répondre à le_boss

8

raylcool, le 1 jun 2009 à 21:20:59

Ouais franchement le plus simple est la base de donnée, il ne faut pas se poser de questions à mon avis.

Répondre à raylcool

9

PhP, le 1 jun 2009 à 21:29:00
  • +2

Bsr

Fichier vs BD ?

je dirais la bd : certe pour les très petits volumes elle peut paraître disproportionner et son emploi sera peut être plus lent qu'avec un fichier encore que les bd sont tellement optimisées ! Par contre dès que le nombre de fichiers augmente il est clair qu'elle devient incontournable.

Une base de données permet :
de gèrer des petits volumes de données mais aussi de monter en puissance
d'administrer, de modifier facilement la structure des données
d'indexer donc de faire des tris et des recherches rapidement
de gèrer les accès concurrentiels, les transactions, les contraintes, l'intégrité des données
Accès via un langage normalisé : SQL

Par contre elle ne se prête pas à toutes les structures de données c'est sûr : les arborescences, les graphes ... pas vraiment génial avec les bd
les images, les sons et plus généralement tout les documents volumineux c'est pas son truc non plus même si les types de champs BLOB existent.
les objets utilisés en POO non plus du moins pour les SGBDR classiques
PhP  
Il y a 10 types de personnes dans le monde : ceux qui compre­nnent le binaire et les autres ...

Répondre à PhP

11

kelsett, le 1 jun 2009 à 21:37:39

*j'avais pas vu ton message, mais pour te répondre : *

justement, j'utilise qu'un seul fichier pour stocker les news, du type :

id|auteur|date|resumé|news|etc
id|auteur|date|resumé|news|etc
id|auteur|date|resumé|news|etc
id|auteur|date|resumé|news|etc


donc pas de contrainte de ce coté là, je n'ai pas besoin de plus d'un fichier.

Répondre à kelsett

12

PhP, le 1 jun 2009 à 21:46:19

Oui avec un fichier de news ça passe encore :-)

Mais que se passe-t-il lorsque 2 utilisateurs postent une new en même temps ?

Tu me diras la probabilité que ça arrive est faible ... cependant d'après un certain Murphy lol

PhP  
Il y a 10 types de personnes dans le monde : ceux qui compre­nnent le binaire et les autres ...

Répondre à PhP

13

raylcool, le 1 jun 2009 à 21:49:36

Les connexions simultanées sont prévus par les hébergeurs normalement et sont parfois limitées, moi pour mon site je suis chez ovh et je dois être limité à 10 mais c'est énorme pour l'utilisation que j'en ai. Un site comme commentçamarche.net doit avoir un hébergeur qui lui permet d'avoir beaucoup plus de connexions simultanées.

Répondre à raylcool

14

kelsett, le 1 jun 2009 à 21:54:11

Pas envie de savoir, Murphy c'est plus quelqu'un à connaitre depuis que j'ai découvert que la probabilité que ma tartine tombe du coté de la confiture est directement proportionnelle à la valeur du tapis qui est en dessous xD

Mais sérieusement, ca prend combien de temps au serveur d'ajouter 800 caractères dans un fichier... 1 millième de seconde ? Moins ? On est quoi 10 utilisateurs à tout casser, à écrire peut être 3-4 news chacun/jour au meilleur des cas, combien y a de chance qu'un accident comme ca arrive? ^^

Répondre à kelsett

15

raylcool, le 1 jun 2009 à 21:56:18

Pour info, pour la tartine ça ne dépend que de la hauteur de ta table et rien d'autre, tu n'as qu'a essayer tu verras. Il n'y a pas de question de poids de la confiture c'est une connerie. ^^

Répondre à raylcool

18

PhP, le 1 jun 2009 à 22:04:05
  • +1

Si le sol est propre et sec alors la tartine elle décide toujours de tomber côté confiture

si le sol comporte une flaque d'eau (à cet endroit comme un fait exprès et pas à un autre) alors elle peut également décider de tomber côté biscotte/pain

lol


PhP  
Il y a 10 types de personnes dans le monde : ceux qui compre­nnent le binaire et les autres ...

Répondre à PhP

19

raylcool, le 1 jun 2009 à 22:05:00

MDR tu as raison ^^

Répondre à raylcool

20

 pyschopathe, le 2 jun 2009 à 15:54:57

Les accès disques sont relativement long, un accès au fichier prendra donc plusieurs millisecondes.

Dans le cas de ton site avec tes quelques news et tes quelques utilisateurs, des fichiers seront tout à fait appropriés. Et dans le pire des cas si deux personnes postent en même temps, vous aurez des données inconsistantes, ce qui ne semble pas être critique pour ton appli.

Par contre, si ton site est amené à grossir ou à gagner en fonctionnalités (autres que poster/afficher les posts dans l'ordre du fichier), tu gagnerais à utiliser directement une BD.

Répondre à pyschopathe

10

kelsett, le 1 jun 2009 à 21:34:14

En fait c'est parce que récemment j'ai eu à créer un site où il me fallait un système de news assez puissant, et honte à moi j'ai eu la flemme de le faire moi même, et j'ai utilisé CuteNews, qui utilise justement un fichier texte avec toutes les news dedans, et depuis j'ai fait deux-trois autres sites en utilisant des fichiers textes pour m'entrainer un peu parce que jusqu'alors j'avais utilisé que les bases de données, mais donc voilà au final je me posais la question. (==> benvii : tu devrai utiliser, comme cutenews, qu'un seul fichier texte ce qui te permettrai justement de faire des recherches...).

Répondre à kelsett

16

arthezius, le 1 jun 2009 à 21:56:43

Je pense quand même qu'en terme de maniabilité il vaut mieux prendre un base de donnée.
Rien que pour par exemple faire des modifs d'une donnée précise, faire des cherches, etc... « La recherche commence là où s'arrête la connaissance. »

Répondre à arthezius

17

raylcool, le 1 jun 2009 à 21:57:59

C'est clair il n'y a pas photo !!!

Répondre à raylcool
Collection CommentÇaMarche.net