Ich bin kein Datenbankadministrator oder Architekt, also muss ich diejenigen fragen, die es rund um die Uhr machen. Wie etabliert ist das Konzept eines ORM (Object Relational Mapping) in der Welt der Datenbankadministration und -architektur? Ist es noch immer in vollem Gange, aber noch in einem frühen Stadium oder wird es generell abgelehnt? Ich lerne diesen Bereich und möchte ein Gefühl dafür bekommen, ob es ein Wissen ist, das von einem größeren Bereich dieses Fachgebiets geschätzt wird.
Weit verbreitet und definitiv die gegenwärtige und nahe Zukunft. Der Datenbankzugriff über eine handcodierte SQL-Generation war immer mit Plackerei und Tippfehlern behaftet und war im besten Fall unhandlich. Mit ORMs können Sie einen Persistenzspeicher programmierend verwenden.
Ich dachte, dass dieser Blog dafür gut argumentiert: Ссылка und SO Beiträge wie diese (nHibernate gegenüber LLBLGen Pro ) zeigen, wie viele Leute sie benutzen.
Viele Orte benutzen sie, das bedeutet nicht, dass sie sie gut gebrauchen oder dass sie eine gute Idee für die langfristige Gesundheit der Datenbank sind. Bedeutet nicht, dass sie es auch nicht sind, normalerweise bedeutet es nur, dass die Leute, die sie auswählen, nicht darüber nachdenken, wie sich dies im Laufe der Zeit auf Datenbankdesign, Wartung und Leistung auswirkt.
ORMs sind weit verbreitet. Django (Python Web Application Framework) verwendet SQLAlchemy. Hibernate ist beliebt für Java-Programme. ORMs machen die Entwicklung von SQL-Anwendungen schneller, reduzieren die Menge des zu schreibenden Standardcodes und verdecken die verwendete Datenbank aus dem Rest der Anwendung. Die Leistung kann unter Verwendung eines ORM leiden, also seien Sie darauf vorbereitet, die Dinge nach Bedarf anzupassen.
Ich kann Ihnen von meiner Erfahrung erzählen. Wir sind ein 2,5-Milliarden-Dollar-Solarhersteller und wir stützen unsere nächste Generation von Produkten auf ORM-Technologie. Wir verwenden Linq-To-SQL ziemlich erfolgreich. Wir sind sehr glücklich damit.
Das Konzept gibt es seit mindestens 20 Jahren.
Wenn Sie sich ein anständiges Web-Framework anschauen, egal ob es sich um Java, Ruby, PHP, C # oder Python handelt, enthalten alle ORMs. Im Allgemeinen wird es als eine professionellere Wahl angesehen, es sei denn, Sie haben spezielle Anforderungen für hohe Leistung oder benutzerdefiniertes SQL.