Python 中的 ORM

Vaibhav Vaibhav 2022年5月17日
Python 中的 ORM

ORM 或对象关系映射使用面向对象的范例来创建、查询和操作存储在数据库中的数据。它是实际数据库和用于数据库管理的应用程序之间的软件层。

ORM 允许我们使用编程语言定义数据库表,使用对象和方法执行查询,以及使用面向对象的编程操作数据。在后台,所有查询逻辑都转换为 SQL 或结构化查询语言等效查询。尽管翻译后的查询对于特定操作可能是最好的,也可能不是,但 ORM 已被证明对于大规模的实际应用程序具有良好的性能。

ORM 使表管理成为一项非常无缝的任务。通常,表是使用 ORM 中的一个类来表示的;因此,更新、重用、扩展和维护它们变得很容易。ORM 可以自动处理很多东西,让开发人员可以更专注于应用程序的功能。

多年来,技术得到了巨大的发展,如今社区大量使用的大多数编程语言都为它们开发了 ORM。一些编程语言的列表中有多个 ORM。在本文中,我们将讨论市场上可用于 Python 编程语言的 ORM。

Python 中的 ORM

Python 是跨多个领域(如 Web 开发、数据科学、机器学习、应用程序开发等)中增长最快和使用率最高的语言之一。它得到了一个由不断改进、优化和开发的优秀程序员和开发人员组成的庞大社区的支持。为该语言构建新的东西,例如库和框架。

尽管市场上有许多 Python 编程语言的 ORM,但我们在本文中只关注三个 ORM,因为并非每个 ORM 都是健壮、可扩展、开发良好、遵循最先进的实践、高效、优化、并提供性能。

本文将讨论三个 ORM,即 peeweeSQLAlchemyStorm。这三个 ORM 在行业中被广泛使用并提供了强大的功能。

peewee

peewee ORM 是一个用于 Python 的简单、富有表现力的小型 ORM。由于它是一个小型 ORM,因此适用于小型应用程序。这个 ORM 支持 SQLite 数据库、MySQL 数据库、PostgreSQL 数据库和 cockroachdb 数据库。这个 ORM 是在 Python 3.6 中开发的,可以与 Python 2.7+3.4+ 一起使用。

要了解有关 peewee ORM 的更多信息,请参阅官方 GitHub 存储库以获取文档和代码片段此处

SQL 炼金术

SQLAlchemy ORM 是一个强大的 Python SQL 工具包。此 ORM 以优化的方式为 Python 开发人员提供了灵活性和 SQL 的全部潜力。此 ORM 专为使用 Python 进行高效和高性能的数据库访问而设计。SQLAlchemy ORM 是用于大型应用程序的最佳 ORM 之一。Yelp!、DropBox、reddit、Survey Monkey 和 OpenStack 项目等组织在其技术堆栈中使用 SQLAlchemy ORM。

通常,SQLAlchemy ORM 与社区中的 Flask Web 框架一起使用。大型数据库带来性能问题。此 ORM 有助于轻松高效地对大型数据库执行复杂的 CRUD(创建、读取、更新和删除)查询。

要了解有关 SQLAlchemy ORM 的更多信息,请参阅官方文档此处

Storm ORM

Storm ORM 是一个干净且轻量级的 API 或应用程序编程接口,它为 Python 编程语言提供 SQL 支持。Storm ORM 的学习曲线很短,适用于大规模应用。它是一种快速灵活的 ORM,可提供对数据库的高效访问,并简化对大型数据库执行复杂查询的任务。此 ORM 支持使用相同的 Python 代码连接到多个数据库。

要了解有关 Storm ORM 的更多信息,请参阅官方文档此处

作者: Vaibhav Vaibhav
Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.