Database PostgreSQL与MongoDB在Django应用程序中执行python函数

Database PostgreSQL与MongoDB在Django应用程序中执行python函数,database,mongodb,postgresql,Database,Mongodb,Postgresql,我正在尝试构建一个Django web应用程序,但我不确定使用哪个数据库。能够对数据执行python函数并具有高度的数据操作可能性,以及相对快速的数据变化(每天或每隔一天),这一点非常重要。根据之前的研究,PostgreSQL和MongoDB可能是竞争对手,但我真的很想听听你的意见。谢谢 数据库结构如何? PostgreSQL: PostgreSQL是一个对象关系数据库管理系统(ORDBMS),强调可扩展性和标准遵从性。PostgreSQL是ACID兼容、事务性的,具有可更新和物化的视图、触发器

我正在尝试构建一个Django web应用程序,但我不确定使用哪个数据库。能够对数据执行python函数并具有高度的数据操作可能性,以及相对快速的数据变化(每天或每隔一天),这一点非常重要。根据之前的研究,PostgreSQL和MongoDB可能是竞争对手,但我真的很想听听你的意见。谢谢

数据库结构如何?

PostgreSQL:

PostgreSQL是一个对象关系数据库管理系统(ORDBMS),强调可扩展性和标准遵从性。PostgreSQL是ACID兼容、事务性的,具有可更新和物化的视图、触发器和外键。它还支持函数和存储过程

PostgreSQL使用表、约束、触发器、角色、存储过程和视图作为您使用的核心组件。表由行组成,每行包含一组相同的列。PostgreSQL使用主键唯一标识表中的每一行(也称为记录),使用外键确保两个相关表之间的引用完整性

PostgreSQL还支持许多NoSQL特性

MongoDB:

MongoDB使用类似JSON的文档来存储无模式数据。在MongoDB中,文档集合不需要预定义的结构,不同文档的列可能不同

MongoDB具有关系数据库的许多特性,包括表达性查询语言和强一致性。但是,由于MongoDB是无模式的,因此它允许您创建文档,而无需先创建文档的结构

这是与关系数据库管理系统(RDBMS)的一个有用的比较,其中您有:

表|列|值|记录。

相比之下,在MongoDB中,您有:

Collection | Key | Value |文档。

这意味着MongoDB中的集合类似于RDBMS中的表

文档就像RDBMS中的记录。可以通过添加或删除字段轻松修改文档,而无需重新构造整个文档

哪个数据库适合您的业务?

PostgreSQL:PostgreSQL似乎越来越受欢迎。如果您正在寻找一个符合标准、事务和ACID的现成解决方案,并且广泛支持NoSQL功能,那么您应该查看PostgreSQL


MongoDB:MongoDB是一个不错的选择,如果您需要实时分析的可伸缩性和缓存;但是,它不是为事务性数据(会计系统等)构建的。MongoDB经常用于移动应用程序、内容管理、实时分析和涉及物联网的应用程序。如果您没有明确的模式定义,MongoDB可能是一个不错的选择。

您可以与PostgreSQL一起使用。感谢您的回复!