暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

替换研究:PostgreSQL与MS SQL Server有哪些差异?


01

介绍

在从事新项目时,选择要使用的数据库将是您必须做出的最具挑战性的选择之一。数据库的错误选择将导致未来的可扩展性和维护问题。了解每个数据库的优缺点将使开发人员能够做出正确的决定。 
PostgreSQL 与 SQL服务器是开发人员常用的两种数据库选择。在这篇博客中,我们将对这些数据库进行全面的研究,这将帮助您决定未来项目要使用的数据库。
 

02

PostgreSQL

PostgreSQL 是一种高级的通用对象关系数据库管理系统 (RDBMS)。由于它是面向对象的,因此数据库模式和查询语言支持类、对象、继承等。
此外,作为一个 RDBMS,它支持表格结构、数据类型等。这个开源 DBMS 使用结构化查询语言(SQL) 及其过程语言 PL/pgSQL(Procedural Language/PostgreSQL)。
它非常稳定,被Apple、Spotify、Reddit、Instagram等公司使用。
当前稳定版本:13.3(截至 2021 年 6 月)
 

03

MS SQL

MicrosoftSQL(MS SQL) Server是Microsoft于1989年开发的RDBMS。它是市场上最好的数据库管理系统(DBMS)选项之一,具有高性能和安全性。
微软,埃森哲,Intuit,Stack Overflow等,都是使用MS SQL的一些公司。
当前稳定版本:Microsoft SQL Server 2019
 
PostgreSQL 与 SQL Server 的比较:
参数
PostgreSQL
 MS SQL
开发者
1989年的PostgreSQL全球发展集团
1989年的微软
DBMS 类型
对象关系型数据库管理系统
关系型数据库管理系统
许可证
在PostgreSQL许可证下可用,这是开源计划批准的许可证。
在商业许可下可用
语言
C++
C
操作系统兼容性
在 FreeBSD、HP-UX、Linux、NetBSD、OpenBSD、OS X、Solaris、Unix、Windows 等上运行。
它在 Windows 和  Linux 上运行。
安装过程
安装过程流畅。
安装过程很慢,需要大量下载。
可扩展性
通过将表分区和索引放置在不同磁盘文件系统上的不同表空间中,可扩展性得到增强。
分片使 MS SQL 能够实现可扩展性。
数据安全
身份验证方法,包括轻量级目录访问协议 (LDAP) 和可插入身份验证模块 (PAM),可防止攻击
两个服务器级安全增强功能:Windows 身份验证模式和混合模式,可防止攻击。
并发
它具有更好的并发管理系统。
不发达的并发性,默认情况下依赖于数据锁定来防止同时发生的事务出现错误。
复制
支持主从复制
它支持快照复制,事务复制,合并复制。
可用性
高可用性是通过负载平衡和复制功能实现的。
Always ON Availability Group 架构高可用,Read Scale Availability Group 架构高可用低。
分区
在 EDB 版本中为范围、列表、多级分区和散列分区提供了内置支持。
它支持表和索引分区。
性能
用于同时处理多个事务(几乎没有死锁)的多版本并发控制 (MVCC) 功能可提高性能。
内存中联机事务处理 (OLTP) 功能通过使用内存中数据表而不是直接写入磁盘来确保高性能。
Clustering
它允许服务器集群,但本身不支持任何多主集群解决方案。
它提供了 Windows Server 故障转移群集,可以为主动/被动和主动/主动节点进行配置。
存储过程
除了标准 SQL 语法之外,还支持各种语言的存储过程。
支持 Microsoft .NET 框架支持的语言的存储过程。
数据一致性
内置逻辑备份实用程序,如 pg_dumpall 和 pg_dump,以及第三方数据一致性工具,如 Amanda、Bacula、Barman 等,都可用。
它具有三种在线备份模型:简单、完整和大容量日志恢复模型。
可更新视图
必须针对不同的视图编写规则以更新它们。
如果表具有不同的键并且更新语句不涉及多个表,则视图会自动更新。
任务调度
没有内置调度程序,必须使用外部工具,如 pgAgent、Task Scheduler、cron 等。
使用 SQL Server Management Studio 计划的任务
触发器
支持 AFTER、BEFORE 和 INSTEAD OF 等触发事件,用于 INSERT、UPDATE 和 DELETE 事件。
它支持数据操作语言 (DML) 触发器、数据定义语言 (DDL) 触发器和登录触发器等触发器。
正则表达式
LIKE、SIMILAR 和 POSIX 方法用于计算正则表达式。
不提供本机支持。但是,Transact-SQL (T-SQL) 函数:LIKE、SUBSTRING  和 PATINDEX 可用于实现类似的结果。
索引类型
提供 B 树、哈希、广义搜索树  (GiST)、空间分区 GiST、广义倒排索引 (GIN)  和块范围索引 (BRIN) 等选项。
提供聚集和非聚集索引
受 LAPP 堆栈(Linux、Apache、PostgreSQL 和 PHP/Python)的欢迎
在 Microsoft 堆栈中流行
计算列
不提供对计算列的支持
提供对计算列的支持
地理数据
PostGIS 是一种空间数据库扩展器,它支持地理对象,因为它不存在本地地理数据类型。
具有用于存储地理空间数据的地理数据类型
区分大小写
默认情况下,它区分大小写。
默认情况下,它不区分大小写。
  

04

优势


PostgreSQL
  • 开源社区,有助于定期改进
  • 积极的社区支持
  • ACID complaint
  • 并发管理系统优于 MS SQL
  • 安装过程更简单
  • 需要低维护和管理
  • 良好的语言支持(Python、Java、Perl、PHP、C、C++等)
  • 支持 JavaScript 对象表示法 (JSON)
  • 跨平台

MS SQL

  • 提供多个服务器版本
  • 高度安全
  • 提供图形用户界面(GUI) 支持
  • 轻松创建查询以返回特定的筛选数据
  • 可以轻松备份,恢复和回滚数据

05

缺点


PostgreSQL

  • 许多开源应用程序不支持 PostgreSQL
  • 独立软件供应商的支持非常稀少
  • 新版本发布时数据导出或复制到新版本
  • 查询执行计划不会被缓
  • 升级过程中需要双重存储

MS SQL

  • 它支持Windows和Linux,但不支持其他操作系统
  • 它提供供应商支持,但不像PostgreSQL那样可定制
  • 复杂的查询优化和性能调优
  • 付费软件
  • GUI 客户端和数据库管理应用程序的升级要求用户升级其硬件

06

常见问题

是 PostgreSQL 比 SQL Server 好吗?


PostgreSQL在并发管理系统,可扩展性,社区支持,定价等方面优于SQL Server。

PostgreSQL与SQL Server不同吗?


是的,它们在许多方面有所不同,例如分区,复制方法,对内存中功能的支持,操作系统中的可用性等。

为什么PostgreSQL如此受欢迎?


PostgreSQL因其社区支持和定期更新而广受欢迎。它还提供了大量的功能,帮助开发人员构建安全高效的应用程序。

我们什么时候应该使用PostgreSQL?


PostgreSQL非常适合需要读/写速度和大量数据分析的在线事务处理(OLTP)和在线分析处理(OLAP)系统。它可用于需要快速读写速度的数据仓库和数据分析应用程序。

PostgreSQL是病毒吗?


PostgreSQL不是病毒。有一个名为postgres.exe的病毒文件,以PostgreSQL Server命名。

PostgreSQL是最好的吗?


它是市场上最好的DBMS之一,也是执行复杂和大容量数据操作的公司的热门选择之一。

  

07

关键要点

所以这些是PostgreSQL 与 SQL 服务器之间的区别。
在本博客中,我们为您介绍了以下内容:
  1. PostgreSQL 与 SQL 服务器简介
  2. 基于可扩展性、性能、分区等的 PostgreSQL 与 SQL 服务器的比较
  3. PostgreSQL 与 SQL 服务器的优势
  4. PostgreSQL 和 MS SQL 的缺点
  5. 一些与 PostgreSQL 和 MS SQL 相关的常见问题
通过本次讨论,本文章试图让您了解 PostgreSQL 与 SQL 服务器DBMS。

原文链接:
https://www.codingninjas.com/blog/2021/06/29/understanding-the-difference-between-postgresql-vs-ms-sql-server/


PG考试咨询

往期回顾

永远都不晚:PostgreSQL认证专家(培训考试-广州站)

PGCCC,公众号:PostgreSQL考试认证中心永远都不晚:PostgreSQL认证专家(培训考试-广州站)

PostgreSQL-PCP认证专家-上海站、广州站

PGCCC,公众号:PostgreSQL考试认证中心开班通知-PCP认证专家(上海站)培训开班1106

PostgreSQL-PCP认证专家-北京站-精彩花絮

PGCCC,公众号:PostgreSQL考试认证中心PostgreSQL认证专家考试(培训)(10月16日北京站)精彩花絮

PostgreSQL-PCP认证专家-成都站

公众号:PostgreSQL考试认证中心开班通知-PCP认证专家(成都站)培训开班1016

PostgreSQL-PCP认证专家考试-北京站-考试风采

PGCCC,公众号:PostgreSQL考试认证中心PostgreSQL认证专家考试(培训)-北京站-成功举办

PostgreSQL-PCA认证考试-贵阳站-考试风采

PGCCC,公众号:PostgreSQL考试认证中心PostgreSQL PCA+PCP认证考试在贵阳成功举办

PostgreSQL-PCP认证专家考试-上海站-考试风采

PGCCC,公众号:PostgreSQL考试认证中心PostgreSQL PCP认证考试(上海站)成功举办

PostgreSQL认证专家考试-学员考试总结

薛晓刚,公众号:PostgreSQL考试认证中心难考的PostgreSQL认证考试

PostgreSQL-PCM认证大师考试-天津站-考试风采

PGCCC,公众号:PostgreSQL考试认证中心PostgreSQL-PCM认证大师考试(天津站)成功举办

如何在工业和信息化部教育与考试中心官网查询证书

PG考试认证中心,公众号:PostgreSQL考试认证中心如何在工业和信息化部教育与考试中心查询PostgreSQL证书

中国PostgreSQL考试认证体系

PG考试认证中心,公众号:PostgreSQL考试认证中心中国PostgreSQL考试认证体系


文章转载自PostgreSQL考试认证中心,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论