我正在尝试构建一个Django web应用程序,我不知道要使用什么数据库。真正重要的是能够对数据执行python功能,并具有高度的数据操作可能性,使用变化相对较快的数据(每天或每隔一天)。在做了之前的研究之后,PostgreSQL和MongoDB似乎是竞争者,但我真的很想听听你的意见。谢谢!
发布于 2021-03-17 09:53:52
数据库结构呢?
PostgreSQL:
PostgreSQL是一个对象-关系型数据库管理系统(ORDBMS),强调可扩展性和标准遵从性。PostgreSQL是符合ACID的,事务性的,具有可更新和物化的视图、触发器和外键.它还支持函数和存储过程。
PostgreSQL使用表、约束、触发器、角色、存储过程和视图作为您使用的核心组件。表由行组成,每一行包含一组相同的列。PostgreSQL使用主键唯一地标识表中的每一行(即记录),使用外键来确保两个相关表之间的引用完整性。
PostgreSQL还支持许多NoSQL特性。
MongoDB:
MongoDB使用类似JSON的文档来存储无模式的数据。在MongoDB中,文档集合不需要预定义的结构,不同文档的列可能有所不同。
MongoDB具有关系数据库的许多特性,包括表达性查询语言和很强的一致性。但是,由于它是无模式的,所以MongoDB允许您创建文档,而不必首先为文档创建结构。
与关系数据库管理系统(RDBMS)进行了有益的比较,在RDBMS中有:
Table | Column | Value | Records.
相比之下,在MongoDB中有:
Collection | Key | Value | Document.
这意味着MongoDB中的集合类似于关系数据库管理系统中的表。
文档就像RDBMS中的记录。可以轻松地通过添加或删除字段来修改文档,而不必重构整个文档。
哪个数据库适合您的业务?
PostgreSQL : PostgreSQL似乎越来越受欢迎。如果您正在寻找一个标准兼容、事务性和ACID兼容的解决方案,并且对NoSQL特性有广泛的支持,那么您应该查看PostgreSQL。
MongoDB :如果您需要实时分析的可伸缩性和缓存,MongoDB是一个很好的选择;但是,它不是为事务性数据(记帐系统等)构建的。MongoDB经常用于移动应用、内容管理、实时分析以及涉及物联网的应用程序。如果您没有明确的模式定义,MongoDB可以是一个很好的选择。
https://stackoverflow.com/questions/66188203
复制相似问题