Question

Je me demandais compromis pour l'utilisation de bases de données et quelles sont les autres options étaient? En outre, les problèmes ne sont pas bien adaptés pour les bases de données?

Je suis préoccupé par les bases de données relationnelles.

Était-ce utile?

La solution

Le concept de base de données est très large. Je vais faire quelques simplifications dans ce que je vous présente ici.

Pour certaines tâches, la base de données la plus commune est la base de données relationnelle. Il est une base de données basée sur le modèle relationnel. Le modèle relationnel suppose que vous décrivez vos données en lignes, appartenant à des tables où chaque table a un nombre donné et fixe des colonnes. Vous soumettez des données sur une base « par ligne », ce qui signifie que vous devez fournir une ligne en un seul coup contenant les données relatives à toutes les colonnes de votre table. Chaque ligne soumis obtient normalement un identifiant qui est unique au niveau de la table, parfois au niveau de la base de données. Vous pouvez créer des relations entre les entités dans la base de données relationnelle, par exemple en disant qu'une cellule donnée dans votre table doit se référer à la ligne d'une autre table, afin de préserver la soi-disant « l'intégrité référentielle ».

Ce modèle fonctionne très bien, mais ce n'est pas le seul là-bas. Dans certains cas, les données sont mieux organisées comme un arbre. Le système de fichiers est une base de données hiérarchique. commence à une racine, et tout se passe sous cette racine, dans un arbre comme la structure. Un autre modèle est la paire clé / valeur. Sleepycat BDB est essentiellement un magasin d'entités clés / valeur.

LDAP est une autre base de données qui présente deux avantages:. Des banques de données plutôt génériques, il est distribué par la conception, et il est optimisé pour la lecture

bases de données graphiques et triplestore vous permettent de stocker un graphique et d'effectuer la recherche d'isomorphismes. Cela est généralement nécessaire si vous avez un ensemble de données très générique qui peut englober un large niveau de description de vos entités, si large est fondamentalement inconnue. Ceci est en nette opposition au modèle relationnel, où vous créez vos tables avec un ensemble de colonnes très précises, et vous savez ce que chaque colonne va contenir.

Certaines bases de données à base de colonnes relationnelles existent aussi. Au lieu de soumettre les données par ligne, vous les soumettez par colonne entière.

Alors, pour répondre à votre question: une base de données est une méthode pour stocker des données. Techniquement, même un fichier texte est une base de données, mais pas particulièrement agréable. Le choix du modèle derrière votre base de données est la plupart du temps par rapport à ce qui est des besoins typiques de votre application.

Réglage de la réponse que CW comme je suis sans doute dire quelque chose strictement pas correct. Ne hésitez pas à modifier.

Autres conseils

Ceci est une question assez large, mais les bases de données sont bien adaptés pour la gestion données relationnelles . Alternatives presque toujours impliquer serait de concevoir votre propre moteur de stockage et de récupération de données, qui, pour la plupart des applications / petites ne vaut pas l'effort.

Un scénario typique qui ne convient pas pour une base de données est le stockage de grandes quantités de données qui sont organisées en une quantité relativement faible de fichiers logiques, dans ce cas, un système simple comme système de fichiers peut être suffisant.

Ne pas oublier de jeter un oeil à des bases de données NoSQL. Il est assez nouvelle technologie et bien adapté pour des choses qui ne correspond pas / échelle dans une base de données relationnelle.

Utilisez une base de données si vous avez des données à stocker et de requête.

Techniquement, la plupart des choses conviennent à des bases de données. Les ordinateurs sont faits pour traiter les données et les bases de données sont faites pour les stocker.

La seule chose à considérer est le coût. Le coût du déploiement, le coût de l'entretien, l'investissement de temps, mais il sera généralement la peine.

Si vous avez seulement besoin de stocker des données très simples, des fichiers plats serait une alternative (fichiers texte).

Note: vous avez utilisé la « base de données » terme générique, mais il y a beaucoup de types différents et les implémentations de ces

.
  • applications de recherche , moteurs de recherche en texte intégral (dont certains sont intégrés à DBMSes traditionnels, mais dont certains ne sont pas), peut être une bonne alternative, permettant à la fois plus de fonctionnalités (différents de conscience linguistique, la capacité d'avoir des données semi-structurées, classement ...), ainsi que de meilleures performances.

  • En outre, j'ai vu des applications où données de configuration sont stockées dans la base de données, et tout cela a un sens dans certains cas, en utilisant des fichiers texte (ou YAML, XML et autres) et le chargement des objets sous-jacents lors de l'initialisation, peut être préférable, en raison de la nature autonome de cette alternative, et à la facilité de modifier et reproduire ces fichiers.

  • fichier journal plat , peut être une bonne alternative à la connexion au SGBD, selon l'usage bien sûr.

Cela dit, au cours des 10 dernières années, le SGBD Systèmes, en général, ont ajouté de nombreuses fonctionnalités, pour les aider à gérer différentes formes de données et différentes capacités de recherche (ex: FullText recherche d'un avant mentionné, XML Smart stockage / traitement des Blobs puissantes fonctions définies par l'utilisateur, etc.) qui les rendent plus polyvalent , et donc un service assez omniprésent. Leur force reste principalement avec des données relationnelles cependant .

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