📜  PostgreSQL 和 MongoDB 的区别

📅  最后修改于: 2021-09-08 16:04:44             🧑  作者: Mango

1. PostgreSQL(对象关系型数据库):
PostgreSQL 是一个功能强大的开源对象关系数据库管理系统 (ORDBMS),强调可扩展性和标准合规性,它使用和扩展 SQL 语言,并结合许多安全存储和扩展最复杂数据工作负载的功能。 PostgreSQL 是符合 ACID 的、事务性的,它以表格格式存储数据,并使用约束、触发器、角色、存储过程和视图作为核心组件。

为什么使用 PostgreSQL ?

  • 免费和开源。
  • 提供多种语言版本。
  • 高度可扩展。
  • 保护数据完整性。
  • 构建容错环境。
  • 强大的访问控制系统
  • 支持国际字符。
  • 苹果使用 PostgreSQL!

在 PostgreSQL 中编写查询:

  • 创建学生
    CREATE TABLE students (id INT, name VARCHAR (100)); 
  • 将记录插入学生
    INSERT INTO students VALUES (1, 'Geeks'); 
  • 学生表中读取记录
    SELECT * FROM students; 


  • 更新学生表中的记录
    UPDATE students SET name="GeeksforGeeks" WHERE id = 1; 

  • 学生表中删除记录
    DELETE FROM students WHERE id = 1; 

2. MongoDB(跨平台面向文档的数据库):
MongoDB 是一个 NoSQL 数据库,其中每条记录都是一个包含类似于具有模式的 JSON 对象的键值对的文档。 MongoDB 非常灵活,允许其用户创建模式、数据库、表等。可通过主键识别的文档构成了 MongoDB 的基本单元。一旦安装了 MongoDB,用户也可以使用 Mongo shell。 Mongo shell 提供了一个 JavaScript 接口,用户可以通过它进行交互和执行 CRUD 操作。

换句话说,我们可以说 MongoDB 是一个通用的、基于文档的分布式数据库,为现代应用程序开发人员和在服务器端公共许可证下许可的云时代构建。

为什么要使用 MongoDB?

  • 可扩展,可以为多台机器服务。
  • 它是基于 JavaScript 的,这使得它更容易使用。
  • 响应速度更快,因为它是一个面向文档的数据库。
  • 更简单的环境设置
  • 它使用非常易于使用的 JSON 语法,并且具有广泛的浏览器兼容性。
  • 无论是对象、对象成员、数组、值还是字符串,数据都以 JSON 的形式存储。
  • Uber 和 Stack Comapnies 使用 MongoDB!


在 MongoDB 中编写查询:

  • 创建学生数据库
    use student; 
  • 创建学生
    db.createCollection("students"); 
  • 将记录插入到学生集合中
    db.students.insert 
    (
        {
            "id" : 1,
            "Name" : "Harry",
                     "Team": "Geeks For Geeks"
        }
    ); 
  • 学生合集朗读
    db.students.find({Name : "Harry"}).forEach(printjson); 

PostgreSQL 和 MongoDB 的区别:

MongoDB PostgreSQL
MongoDB was written in C++ PostgreSQL was written in C
MongoDB was started in 2007 by 10gen, which created the product based on the word humongous PostgreSQL is an open-source project maintained by PostgreSQL Global Development Group and their prolific community
MongoDB offers the Community Support Forum, ServerFault, and StackOverflow. Users can also get enterprise support 24×7 via Enterprise grade support. PostgreSQL has a wide variety of community and commercial support options available for users. The Community support includes mailing lists and IRC
Non-Relational Database Management System Relational Database Management System
Document Oriented Object Oriented
Only Available in English Language Available in Multi Languages

哪个最好,为什么?

PostgreSQL 在以下情况下是最佳选择:您需要开箱即用的符合标准、事务性和 ACID(原子性、一致性、隔离性和持久性)的,并且还广泛支持 NoSQL 功能。

MongoDB 最适合以下情况:您需要可扩展性和缓存以进行实时分析,但不是为交易数据(即会计系统)构建的。