Quelqu'un peut-il penser à quelques bonnes raisons * de ne pas * utiliser un SGBD orienté objet pour sauvegarder un site Web?

StackOverflow https://stackoverflow.com/questions/173040

Question

Supposons que vous codiez une sorte d’application Web. Quelque chose où les gens peuvent contribuer au contenu, par exemple un simple site de partage de photos.

À combien de bonnes raisons pouvez-vous penser pour ne pas utiliser une base de données orientée objet (par exemple, db4o)?

Était-ce utile?

La solution

Un SGBDOM est préférable si vous devez uniquement accéder à vos données via vos objets. Si votre solution nécessite des chemins supplémentaires pour accéder à vos données (par exemple, requêtes ad-hoc, rapports, autres applications nécessitant un accès aux données mais ne pouvant pas utiliser vos objets), un système SGBDR classique est préférable.

Remarque: les SGBDOM ont beaucoup progressé dans ce domaine.

Autres conseils

Je ne sais pas à quel point vos projets sont ambitieux, mais la disponibilité de personnes expérimentées et qualifiées à embaucher (ou juste pour donner un coup de main) serait un facteur important dans ma décision, ainsi qu'un grand nombre de connaissances concernant des tenants et aboutissants de la DB.

Oracle ou MySQL ont leurs défauts, mais si vous avez un problème, il y a de fortes chances que 100 autres personnes aient le même problème et puissent vous dire comment le résoudre.

Je dirais que si vous envisagez quelque chose comme db4o, ils ne semblent pas avoir d'exemples d'entreprises fournissant des sites Web puissants, et sont principalement utilisés pour des applications intégrées.

Voir mon autre article à ce sujet. ( exemples de sites Web utilisant db4o )

Rien techniquement comme ici, juste l’adoption semble-t-il. Cependant, pour la rapidité de développement, la maintenance et la flexibilité de conception, les OODB sont plutôt imbattables.

les rapports lourds, etc. peuvent être effectués en synchronisant avec un serveur dorsal relationnel si nécessaire, ce que je sais que db4o prend en charge

C’est un peu exagéré, mais pour paraphraser un article de Joel, planifiez votre succès. Et si votre application devenait vraiment populaire?

Par exemple, si vous hébergez votre application sur votre propre ordinateur, mais décidez d’aller sur un site d’hébergement officiel, voire une batterie de serveurs. Quelles sont les chances qu'ils soutiennent un OODB contre MySQL?

Je ne recommanderais l'utilisation de SGBDO que si la conception de votre application est vraiment, très fortement orientée objet, et que la complexité en fait un besoin. Un site de partage de photos ne semble pas trop lourd du côté OO, je ne vois donc pas l'intérêt de choisir db4o.

Cependant, si vous voulez vraiment apprendre les rouages ??de l’utilisation d’un SGBOB sur un projet animalier, c’est bien de l’utiliser.

Une autre bonne raison est la longévité relative. db40 est un excellent produit, mais sa base d’utilisateurs est réduite et il n’est pas susceptible de survivre à quelque chose comme SQL Server.

Bien sûr, j’avais aussi l'habitude de dire que Java ne survivrait jamais.

Taille des données (si je traite des millions et des millions de lignes, je m'en tiens à ce que je sais)

Rapports (généralement assez difficile dans les bases de données normalisées, pire dans les bases de données OO)

Disponibilité de l'expertise / expérience (les SGBDR ont clairement plus d'adhérents)

Importantes quantités d'ETL (la plupart des gens importent et exportent dans des fichiers plats, à moins que vous obteniez / envoyiez du XML, vous parlez de vieux tableaux simples)

Rien de tout cela ne ressemble à un obstacle pour votre projet

Besoin de vitesse quand tout ce que vous avez est un vélo à pédales. Les scénarios incluent la capture de données (par exemple, la journalisation) où, après l’événement, les données capturées sont souvent traitées à un stade ultérieur et probablement divisées en leurs constituants d’objet.

Peut-être que vous souhaitez également consulter cet article:

http://microsoft.apress.com/asptodayarchive / 74063 / utilisant un objet orienté-d

"Utilisation d'un OODB dans un site Web" par Jim Paterson

Meilleur!

Pour une application complexe avec des besoins de données modestes, vous ne pouvez pas battre GLASS (Gemstone, Seaside et Smalltalk). Les rapports sont certainement quelque chose que vous voulez faire de OO en Smalltalk.

Mon opinion personnelle, où il y a des données ... il y a des rapports.

Aucun OODB ne donnera à vos données le modèle de stockage approprié à mettre à la disposition de vos applications de génération de rapports.

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