Je ne suis pas un administrateur ou un administrateur de base de données, donc je dois demander à ceux qui le font 24/7. Comment est établi le concept d'un ORM (mapping relationnel objet) dans le monde de l'administration et de l'architecture des bases de données? Est-il toujours en cours, largement approuvé, mais encore à ses débuts, ou est généralement désapprouvé? J'apprends ce domaine et je voudrais avoir une idée pour savoir si le segment plus large de ce domaine appréciera les connaissances.Comment sont établis les ORM (mapping relationnel objet) dans le monde des bases de données
Répondre
Largement utilisé et définitivement le présent et l'avenir proche. L'accès à la base de données via une couche codée à la main de génération SQL était toujours chargé de corvées et de fautes de frappe, et était au mieux compliqué. Les ORM vous permettent d'utiliser un magasin de persistance de manière programmée.
Je pensais que ce blog argumentait bien: http://jonkruger.com/blog/category/fluent-nhibernate/ et les messages SO comme celui-ci (nHibernate versus LLBLGen Pro) montrent combien de personnes les utilisent.
Je peux vous dire de mon expérience. Nous sommes une entreprise de fabrication d'énergie solaire de 2,5 G $ et nous fondons notre prochaine génération de produits sur la technologie ORM. Nous utilisons Linq-To-SQL, avec beaucoup de succès. Nous sommes très heureux avec cela.
Linq-To-SQL n'est pas un outil ORM complet mais LINQ to Entities (ADO.Net Entity Framework) est une API ORM (Object Relational Mapper). S'il vous plaît se référer ici http://stackoverflow.com/questions/8676/entity-framework-vs-linq-to-sql –
@ A-Var - "Complete" est subjective. Juste parce que L2S est 1: 1 avec des tables de base de données, ne le rend pas incomplet. En ce sens, chaque ORM est incomplet par rapport au produit qui a le plus de caractéristiques, de cloches et de sifflets. –
Le concept existe depuis au moins 20 ans.
Si vous jetez un oeil à n'importe quel framework web décent, que ce soit Java, Ruby, PHP, C# ou Python, ils incorporent tous des ORM. Généralement, il est perçu comme étant un choix plus professionnel à moins que vous ayez des besoins spécifiques pour des performances SQL élevées ou personnalisées.
Re haute performance, ce n'est pas totalement précis. De nombreux ORM vous permettent d'utiliser du SQL personnalisé si vous souhaitez prendre en charge les performances de temps en temps. – samquo
Bien sûr, il est bon de le signaler. – JAL
Je suppose que je pensais que si vous utilisez SQL personnalisé, vous utilisez pratiquement l'ORM pour obtenir une connexion à la base de données, et il n'utilise pas vraiment un ORM à ce stade. – JAL
Les ORM sont largement utilisés. Django (framework d'application web python) utilise SQLAlchemy. Hibernate est populaire pour les programmes Java. Les ORM accélèrent le développement d'applications SQL, réduisent la quantité de code standard que vous devez écrire et masquent la base de données que vous utilisez du reste de l'application. Les performances peuvent souffrir en utilisant un ORM, alors préparez-vous à personnaliser les choses au besoin.
Beaucoup d'endroits les utilisent, cela ne signifie pas qu'ils les utilisent bien ou qu'ils sont une bonne idée pour la santé à long terme de la base de données. Cela ne veut pas dire qu'ils ne le sont pas non plus, cela signifie simplement que les personnes qui les choisissent ne pensent pas à la manière dont cela affecte la conception, la maintenance et la performance de la base de données au fil du temps.
Je souhaite que nos dba soient 24/7 ... J'ai de la chance si je peux en trouver un entre 9 et 5! Je jure que c'est une exigence de travail de dba qu'ils sont capables de disparaître juste avant d'en avoir besoin. haha – CaffGeek
@chad, nous recevons notre manteau d'invisibilité le premier jour. – HLGEM