Question

Je crée une application qui s'appuiera sur une base de données, et je compte bien utiliser une base de données à plat. Y a-t-il des raisons sérieuses de ne pas en tenir compte?

J'utilise mimesis ( http://mimesis.110mb.com ) C'est plus simple que d'utiliser MySQL, ce dont je dois avouer que je possède peu d'expérience. Je me pose des questions sur la sécurité de la base de données. mais les fichiers sont stockés en php et cela semble être une solide base de données.

J'aime beaucoup la facilité de sauvegarde et de transport des bases de données, que j'ai trouvée plus difficile avec mySQL. Je vois que tout le monde semble préférer la méthode MySQL - et c'est probablement plus rapide quand il s'agit de requêtes, mais à part ça, y a-t-il une raison de rester à l'écart des dbs à fichier plat et (enfin) d'apprendre correctement le mysql?

modifier Juste pour que les gens sachent, J'ai fini par utiliser MySQL et j'utilise le framework CodeIgniter. Vous aimez toujours la base de données à plat, mais je me rends compte maintenant que c'est beaucoup plus complexe que nécessaire pour ce projet.

Était-ce utile?

La solution

La réponse est "Très bien". si vous avez seulement besoin d'une structure à fichier plat. Un seul test: un seul tableur permettrait-il de répondre à tous les besoins? Sinon, vous avez besoin d'une structure relationnelle, pas d'un fichier plat.

Si vous n'êtes pas sûr, vous pouvez peut-être démarrer un fichier à plat. SQLite est une application intéressante pour commencer.

Il n’est pas bon d’apprendre que vous avez fait le mauvais choix, si vous le comprenez trop tard dans le processus. Mais si vous comprenez l’importance d’une structure relationnelle et que vous augmentez vos effectifs plus tôt si nécessaire, vous vous en tirez bien.

Autres conseils

Utilisez SQLite , vous obtenez une base de données avec de nombreuses fonctionnalités SQL et pourtant ce n'est qu'un fichier. / p>

Bonjour, je suis le créateur de Mimesis. Les bases de données relationnelles et le code SQL sont importants dans les situations où vous devez gérer des quantités énormes de données. Les fichiers plats sont-ils supérieurs aux bases de données relationnelles? Eh bien, vous pouvez demander à Google, étant donné que son système d’archivage fonctionne avec des fichiers plats, ce qui en fait le moteur de recherche le plus populaire sur Terre. Est-ce que Mimesis se compare à leur système? Probablement pas.

Mimesis a été créé pour résoudre un problème de niche particulier. J'utilise uniquement des sites Web gratuits pour mes projets en ligne. De nombreux sites gratuits offrent la possibilité d'utiliser PHP. Cependant, ils ne fournissent pas d'accès gratuit à la base de données SQL. Par conséquent, je devais créer une base de données pouvant stocker des données, implémenter un verrouillage et contourner les autorisations de fichiers. C’est là les principaux paramètres de conception de Mimesis, qui réussit à tous.

Si vous avez besoin d'une idée de la vitesse de Mimesis, si vous naviguez jusqu'à la première page, il vous indiquera le pays à partir duquel vous consultez le site. Cette base de données gratuite provient du site ip2nation.com et est transférée dans un ffdb Mimesis. Il a des centaines sinon des milliers d'entrées.

De plus, le compteur de résultats sur la page principale a déjà suivi plus de 7 000 visiteurs. Il s’agit de visites UNIQUES, ce qui signifie que le script doit rechercher dans la base de données si l’adresse IP visitée existe déjà, et effectue également un décompte du nombre total d’IP.

Si vous avez remarqué que la page principale se charge assez rapidement et que deux scripts de base de données Mimesis assez intensifs sont exécutés sur le backend. La manière dont Mimesis stocke les données est utilisée pour accélérer les procédures de lecture et d'écriture, ainsi que les procédures de traduction. La plupart des scripts d'exemple ffdb ou d'autres scripts ffdb utilisent un simple fichier CVS ou une structure similaire pour stocker des données. Mimesis interprète en réalité les données binaires à certains niveaux pour améliorer ses fonctionnalités. Mimesis est en quelque sorte un hybride entre une base de données à fichier plat et une base de données relationnelle.

La plupart des autres scripts ffdb impliquent la réécriture du fichier COMPLETE à chaque mise à jour. Mimesis ne le fait pas, il réécrit uniquement le fichier de structure et met à jour le contenu réel de la ligne. Ainsi, même si une erreur se produit, vous ne perdez que les nouvelles données ajoutées, pas les données les plus anciennes. La mimesis conserve également son histoire. À moins que la table ne soit actualisée, les données contenues dans les lignes sont toujours contenues.

Je pourrais continuer à parler de toutes les fonctionnalités, mais ce n’est pas un "Mimesis est la plus grande base de données de tous les temps". coup de gueule. Moreso a pour but de faire comprendre au public que SQL n'est pas la SEULE technologie disponible et que les fichiers plats, lorsqu'ils sont définis comme des paradigmes de développement appropriés, sont supérieurs à une base de données relationnelle, compte tenu du fait qu'ils sont plus spécialisés.

Vive les fichiers plats et les codeurs qui bravent les maux de tête qui suivent.

  

J'aime beaucoup la facilité de sauvegarde   et le transport des bases de données, qui   J'ai trouvé plus difficile avec mySQL.

Utilisez SQLite comme indiqué dans une autre réponse. Vous ne devez sauvegarder qu'un seul fichier ou configurer des vidages périodiques des bases de données MySQL vers des fichiers SQL. C’est une chose relativement simple à faire.

  

Je vois que tout le monde semble préférer   la manière de MySQL - et il est probable   plus rapide quand il s'agit de requêtes

La vitesse est définitivement un facteur à prendre en compte. Les bases de données ont tendance à être beaucoup plus rapides, car les données sont mieux organisées.

  

autre que ce n'est pas une raison pour   rester à l'écart des fichiers plats et dbs   (enfin) apprendre correctement mysql?

Il existe de nombreuses raisons d'utiliser une solution de base de données, mais il existe des arguments pour les fichiers à plat. Il est toujours bon d’apprendre autre chose que ce que vous avez l'habitude de vivre. utilisation. La plupart des décisions dépendent de l'application. Combien d'utilisateurs simultanés allez-vous avoir? Avez-vous besoin d'un support de transaction?

Je voulais informer que Mimesis était passée de l'URL d'origine à http://mimesis.site11.com/

De plus, je déplace le focus de Mimesis d’une ffdb vers un magasin de valeurs-clés. C'est plus judicieux compte tenu des types d'informations que je stocke et des méthodes que j'utilise pour les récupérer. Il y avait aussi une grave erreur dans le codage de Mimesis (que j'ai corrigé depuis). Cependant, je suis toujours dans la phase de test du nouveau type de magasin clé-valeur. J'ai aussi été détourné par d'autres choses. Le verrouillage a également été modifié, passant de l’utilisation de la création de fichiers à la création de répertoires en tant que mécanisme mutex.

Interopérabilité. MySQL peut être interfacé par pratiquement toutes les langues qui comptent. Il est peu probable que Mimesis soit utilisable en dehors de PHP.

Cela devient important lorsque vous essayez d'utiliser des profileurs ou de modifier des données de l'extérieur.

Vous pouvez également consulter http://lukeplant.me.uk/resources/flatfile/ pour le paquet PHP Flatfile.

Le problème avec les fichiers plats est qu’afin d’ajuster la situation en vue de développements ultérieurs, vous devez modifier une quantité importante de code afin d’améliorer les bases du système. Considérant que s’il s’agissait d’un système SQL pur, il ne nécessiterait que peu, voire aucune modification pour continuer à l’avenir.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top