当前位置:首页 > 编程语言 > 正文内容

为什么MariaDB很适合你的Python后端?

a811625533年前 (2023-04-11)编程语言22

为你的应用程序选择合适的数据库是很重要的,特别是对于直接与数据库对接的后台应用程序。有许多选择,每一种都适合于某些使用情况,并且有不同的价格、速度和扩展选项。

通常用于数据量大的应用,因为它有强大的数据处理库,所以你在Python应用中使用的数据库很重要。

本文将MariaDB与其他数据库技术如MySQL和PostgreSQL进行了比较,并讨论了为什么在使用Python时它是一个不错的选择。

什么让MariaDB对Python如此出色?

由于其强大的数据操作和机器学习库,Python是数据从业者的一种流行的编程语言–特别是在数据工程和数据科学领域。这两个领域都要处理大量的数据,增加了所需的存储以及内存和处理能力的需求。

许可证费用往往随着你的数据大小而增加,所以使用是有意义的。你还可以在硬件上省钱。因为你可以完全控制应用程序的部署位置,你可以在云端或企业内部找到更便宜的解决方案。

存在许多开源数据库,包括关系型、和图形数据库。关系型数据库一般对结构和一致性非常好,而NoSQL数据库,能够实现快速开发,被设计得更加灵活。

尽管Python与NoSQL数据库配合得非常好,但关系型数据库更适合于分析和大规模的数据处理,这也是Python的常见用途。

让我们将MariaDB与其他一些流行的开源关系型数据库进行比较。

MariaDB vs MySQL vs PostgreSQL

更流行的开源关系型数据库是MariaDB、SQLite、MySQL和。每一个都有一套类似的核心技术能力,但是MariaDB有一些独特的功能,使它最适合Python应用。

此外,MariaDB是开源的,所以它的功能并不依赖于像MySQL这样的外部实体,而MySQL现在是甲骨文公司的。尽管开源社区仍然可以对MySQL提出建议和增加功能,但甲骨文(拥有一个竞争性的数据库)决定了它的发展方向。

另一方面,是在甲骨文收购MySQL后创建的,以继续采用社区主导的开发方式。因此,MariaDB拥有更丰富的功能集,包括更多的存储引擎,确保查询和复制的性能比MySQL更好。在处理大型数据集时,这种改进的性能是非常重要的。

使用的原因要更细微一些,因为PostgreSQL也是社区驱动的。然而,PostgreSQL使用它自己的类似BSD的许可证,即PostgreSQL许可证,它比MariaDB的GNU许可证更加宽松,并且允许用户创建闭源扩展。

虽然它们对创建扩展的用户有利,但这些功能并不总是在核心的PostgreSQL数据库中使用,而且开发者甚至可以对使用他们的扩展收费。MariaDB和MySQL GNU的许可不允许新功能被私有化–所有的新功能都是免费提供的。

MariaDB和PostgreSQL拥有最丰富的功能集。然而,MariaDB对于Python后端有一些方便的功能。例如,MariaDB使用一种语言与所有不同的存储引擎对接–OLAP和OLTP系统用相同的语法控制,减少了开发者的负担。

你的Python后端可以向MariaDB写入类似交易的数据,MariaDB可以将这些数据复制到更适合分析性查询的存储引擎。开发人员可以使用相同的语法编写针对副本的分析查询,以提高性能。

MariaDB最近还为字符串引入了的格式化,与Python相似。这使使用MariaDB和Python的开发人员不必在语言之间进行切换。

MariaDB Python连接器

2020年之前,Python程序员通过MySQL Python包连接到MariaDB。这是有可能的,因为MariaDB是MySQL的一个分支,但这意味着MariaDB连接的行为与MySQL相同。

2020年,一个原生的被发布,以消除对MySQL的依赖,给MariaDB社区更多控制权。你可以用Python的软件包管理器安装连接器,并将其用于所有常见的CRUD用例。

所有的语句都是通过游标对象管理的。默认情况下,MariaDB游标接受作为准备好的语句的查询,所以你可以对查询的任何动态部分进行消毒。这比格式化字符串来构建查询更安全,格式化字符串会使你的应用程序容易受到。

连接器如何工作

该连接器使用起来很简单。首先,你将MariaDB连接器库导入到你的应用程序中,并使用以下函数连接到你的MariaDB数据库服务器:

import mariadb
try:
connection = mariadb.connect(
user=username,
password=password,
host=mariadb_host,
port=3306,
database="sales"
)
except mariadb.Error as err:
print(f"An error occurred whilst connecting to MariaDB: {err}")

一旦连接,所有的查询都是通过游标对象执行的。你获得游标对象,然后用它来提交查询。

cursor = conn.cursor()

要将查询作为一个准备好的语句提交,在查询文本中使用一个问号作为占位符,并将所需的值作为一个元组传入。

ur.execute( "SELECT * FROM sales WHERE sale_date >= ? and price > ?", (sale_date_val, price_val)) 

元组的输入值按从左到右的顺序替换问号。这些输入值也是经过消毒处理的,以防止SQL注入。内置的对SQL注入的保护对像Python这样的语言是有益的,因为它是为初级程序员设计的。

用于WordPress的Python和MariaDB

使用MariaDB作为Python应用程序的后台的另一个好处是,很容易将数据库连接到WordPress的前端,特别是在使用Kinsta的时候。

许多服务器支持MariaDB作为后端数据库,使得它们可以立即兼容。你的WordPress网站可以很容易地访问用Python处理的数据集。例如,你可以在Python中进行一些分析,将结果存储在MariaDB中,然后在WordPress页面上以图表形式显示。

小结

多个开源的关系型数据库,包括MariaDB、MySQL和Postgres,都可以作为Python的后端。然而,由于MariaDB的开源性质,它是最灵活和功能最丰富的选择。

在处理大型数据集时,MariaDB提供了许多存储引擎,使得它比其他替代方案更快,并且支持多种用例,从交易处理到分析查询。灵活性、速度以及与MariaDB Python连接器的原生Python集成,使其成为处理大型数据集的Python应用程序的一个伟大选择。

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://www.2345hao.cn/blog/index.php/post/7982.html

分享给朋友:

“为什么MariaDB很适合你的Python后端?” 的相关文章

2022年Web开发人员的平均工资统计报告

2022年Web开发人员的平均工资统计报告

想成为一名网络开发人员或好奇工作的哪些子类型的薪水最高?Web开发是一个竞争激烈、多样化的行业,随着新语言和框架的出现而不断发展。 询问Web开发人员的薪水是一个难以解决的问题(尽管我们尝试)。有太多的因素需要考虑。 无论您是自由开发者还是有兴趣从事更传统的工作、喜欢前端或后端工作,或者想知...

2022年PHP开发人员的平均工资统计报告

2022年PHP开发人员的平均工资统计报告

PHP开发:有些人认为它是,另一些人认为它是一种过时的技术,不值得花时间学习。但是这些数字说明了什么,尤其是当您查看PHP开发人员的薪水时? 虽然肯定有许多更新、更炫、更令人兴奋的语言,但PHP仍然是后端Web开发的可靠主食,也是许多雇主仍在寻找的技能。 有兴趣自己成为PHP开发人员吗?我们...

深入了解什么是函数即服务 (FaaS)

深入了解什么是函数即服务 (FaaS)

您可能听说过SaaS,您可能听说过PaaS和IaaS,但您听说过函数即服务 (FaaS) 吗? FaaS市场正在快速增长。根据Allied Market Research的数据,2018年市场价值 。预计到2026年,这一数字将增长到240亿美元——这意味着该行业将从2020年到2026年以2...

深入了解微服务(Microservices)与APIs之间的差异

深入了解微服务(Microservices)与APIs之间的差异

随着越来越需要以更快的周转时间生产可扩展、安全和灵活的应用程序,Microservices和APIs在软件开发领域无处不在。 客户需求瞬息万变,他们希望软件解决方案能够减轻他们的任务并为他们提供便利。 采用单体架构的传统方法限制了开发人员进行大量创新。由于它们的成分很硬,因此在应用程序中进行...

SaaS、IaaS与PaaS三者之间有什么区别?

SaaS、IaaS与PaaS三者之间有什么区别?

SaaS、IaaS和PaaS这三个术语几乎可以互换使用——尽管它们根本不能互换。那么它们之间有什么区别呢? 虽然您可能听说过软件即服务 (SaaS),但IaaS和PaaS在特定技术社区之外鲜为人知。分别是基础架构即服务和平台即服务的缩写,这些工具以及SaaS都通过云交付资源。然而,正是交付的资...

什么是NGINX网络服务器?

什么是NGINX网络服务器?

Web服务器负责使浏览器和用户可以访问您的网站。您可能以前听说过,但您可能不知道它是什么或它是如何工作的。幸运的是,我们为这个流行的服务器软件整理了一份快速指南。 在这篇文章中,我们将介绍NGINX的基础知识。我们将看看它是什么,它与其他Web服务器有何不同,以及它是如何工作的。我们还将讨论它...