ORM in Python
ORM oder Object Relational Mapping verwendet ein objektorientiertes Paradigma, um in einer Datenbank gespeicherte Daten zu erstellen, abzufragen und zu manipulieren. Es ist eine Softwareschicht zwischen der eigentlichen Datenbank und den Anwendungen, die für das Datenbankmanagement verwendet werden.
Mit einem ORM können wir Datenbanktabellen mithilfe von Programmiersprachen definieren, Abfragen mithilfe von Objekten und Methoden durchführen und Daten mithilfe objektorientierter Programmierung manipulieren. Hinter den Kulissen wird die gesamte Abfragelogik in Abfragen konvertiert, die SQL oder der strukturierten Abfragesprache entsprechen. Obwohl die übersetzten Abfragen für eine bestimmte Aktion möglicherweise die besten sind oder nicht, haben ORMs eine gute Leistung für umfangreiche reale Anwendungen bewiesen.
ORMs machen die Tabellenverwaltung zu einer sehr nahtlosen Aufgabe. Im Allgemeinen werden Tabellen durch eine Klasse in ORM dargestellt; Daher ist es einfach, sie zu aktualisieren, wiederzuverwenden, zu skalieren und zu warten. ORMs verarbeiten viele Dinge automatisch, sodass sich Entwickler mehr auf die Funktionen der Anwendung konzentrieren können.
Im Laufe der Jahre ist die Technologie massiv gewachsen, und heutzutage haben die meisten Programmiersprachen, die von der Community stark verwendet werden, ORMs, die für sie entwickelt wurden. Einige Programmiersprachen haben mehr als ein ORM auf ihrer Liste. In diesem Artikel werden wir über auf dem Markt verfügbare ORMs für die Programmiersprache Python sprechen.
ORMs in Python
Python ist eine der am schnellsten wachsenden und am häufigsten verwendeten Sprachen in mehreren Bereichen wie Webentwicklung, Datenwissenschaft, maschinellem Lernen, App-Entwicklung usw. Es wird von einer riesigen Community talentierter Programmierer und Entwickler unterstützt, die sich ständig verbessern, optimieren und Erstellen neuer Dinge wie Bibliotheken und Frameworks für die Sprache.
Obwohl auf dem Markt viele ORMs für die Programmiersprache Python verfügbar sind, konzentrieren wir uns in diesem Artikel nur auf drei ORMs, da nicht jedes ORM robust, skalierbar, gut entwickelt ist, modernsten Praktiken folgt, effizient, optimiert, und bietet Leistung.
Dieser Artikel wird über drei ORMs sprechen, nämlich peewee
, SQLAlchemy
und Storm
. Diese drei ORMs sind in der Branche weit verbreitet und bieten großartige Funktionen.
pipi
Das ORM peewee
ist ein einfaches, ausdrucksstarkes und kleines ORM für Python. Da es sich um ein kleines ORM handelt, ist es für kleine Anwendungen gedacht. Dieses ORM unterstützt SQLite-Datenbank, MySQL-Datenbank, PostgreSQL-Datenbank und Cockroachdb-Datenbank. Dieses ORM wurde in Python 3.6 entwickelt und kann mit Python 2.7+
und 3.4+
verwendet werden.
Um mehr über das peewee
-ORM zu erfahren, siehe das offizielle GitHub-Repository für Dokumentation und Code-Snippets hier.
SQLAlchemy
Das ORM SQLAlchemy
ist ein robustes SQL-Toolkit für Python. Dieses ORM bietet Python-Entwicklern auf optimierte Weise Flexibilität und das volle Potenzial von SQL. Dieses ORM ist für effiziente und performante Datenbankzugriffe mit Python ausgelegt. Das ORM SQLAlchemy
ist eines der besten ORMs für grosse Anwendungen. Organisationen wie Yelp!, DropBox, reddit, Survey Monkey und The OpenStack Project verwenden das ORM SQLAlchemy
in ihrem Tech-Stack.
In der Regel wird das ORM SQLAlchemy
zusammen mit dem Webframework Flask in der Community verwendet. Große Datenbanken bringen Leistungsprobleme mit sich. Dieses ORM hilft dabei, komplexe CRUD-Abfragen (Create, Read, Update, and Delete) über riesige Datenbanken einfach und effizient durchzuführen.
Weitere Informationen zum ORM SQLAlchemy
finden Sie in der offiziellen Dokumentation hier.
Storm
Das Storm
-ORM ist eine saubere und leichte API oder Anwendungsprogrammierschnittstelle, die SQL-Unterstützung für die Programmiersprache Python bietet. Das Storm
ORM hat eine kurze Lernkurve und ist für Grossanwendungen geeignet. Es ist ein schnelles und flexibles ORM, das einen effizienten Zugriff auf eine Datenbank bietet und die Aufgabe der Durchführung komplexer Abfragen über große Datenbanken erleichtert. Dieses ORM unterstützt die Verbindung zu mehreren Datenbanken mit demselben Python-Code.
Um mehr über das Storm
-ORM zu erfahren, lesen Sie die offizielle Dokumentation hier.