PostgreSQL浅见、对比与安装

参考:

https://www.yiibai.com/postgresql

https://www.cnblogs.com/guoguochong/p/7651836.html

附件:PGSQL10.1中文使用手册:https://www.runoob.com/manual/PostgreSQL/index.html

1、什么是PostgreSQL?

PostgreSQL是以加州大学伯克利分校计算机系开发的POSTGRES,是一个功能强大的开源对象关系数据库管理系统(ORDBMS)。 用于安全地存储数据; 支持最佳做法,并允许在处理请求时检索它们。

PostgreSQL(也称为Post-gress-Q-L)由PostgreSQL全球开发集团(全球志愿者团队)开发。 它不受任何公司或其他私人实体控制。 它是开源的,其源代码是免费提供的。原文出自【易百教程】,商业转载请联系作者获得授权,非商业转载请保留原文链接:https://www.yiibai.com/postgresql

PostgreSQL是跨平台的,可以在许多操作系统上运行,如Linux,FreeBSD,OS X,Solaris和Microsoft Windows等。

PostgreSQL的官方网站是:https://www.postgresql.org/

——————————————————————————————————————————————

PostgreSQL的特点:

1、可在所有主要操作系统运行。

比如:Linux,UNIX(AIX,BSD,HP-UX,SGI IRIX,Mac OS X,Solaris,Tru64)和Windows等。

2、支持文本、图像、声音和视频,并有用于C/C++,Java,Perl,Python,Ruby,Tcl和开放数据库连接(ODBC)的编程接口。(也就是说支持的数据类型多,能够用于数据库连接的接口比较全面)。

3、支持SQL需要功能。

例如:复杂SQL查询,SQL子选择,外键,触发器,视图,事务,多进程并发控制(MVCC),流式复制(9.0),热备(9.0))。

4、表可以设置为从“父”表继承其特征。(支持继承特性)

5、可以安装多个扩展,想PGSQL添加附加功能。

6、是面向对象数据库,支持嵌套以及一些其它功能。带有许多强大的开源第三方工具来辅助系统的设计、管理和使用。

缺点:

1、简单繁重的读取操作时,性能可能会降低。

2、缺乏足够的后台支撑,后台支持上手较难。

何时使用PGSQL?

  1. 数据完整性:
    当可靠性和数据完整性是绝对必要而无需理由时,PostgreSQL是更好的选择。
  2. 复杂的自定义过程:
    如果你需要你的数据库执行自定义过程,可扩展的PostgreSQL是更好的选择。
  3. 整合:
    在将来,如果可能要把整个数据库系统迁移到另一个适当的解决方案(例如Oracle)中,PostgreSQL对于这种切换将是最兼容和易于操作的。
  4. 复杂的设计:
    相比其他的开源和免费的 RDBMS(关系数据库管理系统)实现来说,对于复杂的数据库设计,PostgreSQL提供了大部分的功能和可能性,同时并没放弃其他有价值的地方。

何时不用PGSQL?

  1. 速度:
    如果你需要的只是快速的读取操作, PostgreSQL 不是为此而准备的工具。
  2. 简化体制:
    除非你需要绝对的数据完整性,原子性,一致性,隔离性,耐久性,或复杂的设计,PostgreSQL 对简化体制来说是杀手。
  3. 复制:
    除非你愿意花不少时间,精力和资源,否则对于那些缺乏数据库和系统管理经验的人来说,实现与MySQL的(主从)复制可能不容易。

——————————————————————————————————————————————

2、Oracle、SQL Server、MySQL、PostgreSQL数据库优劣分析

2.1 Oracle

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。

优点:

1、支持所有主流平台(包括windows),完全支持所有工业标准,采用完全发放策略,用户可选择合适的解决方案对开发商权利支持。(就是说:可用平台多,标准牛,对用户友好)

2、Oracle 并行服务器通过使组结点共享同簇工作,扩展window能力,提供高可用性和高伸缩性簇。windowsNT能满足需要用户把数据库移UNIXOracle并行服务器对各种UNIX平台集群机制都有着相当高集成度。(说白了,就是可以服务器集成,弄成集群,提高性能)

3、获得最高认证级别的ISO标准认证。(ISO,International Organization for Standardization,国际标准化组织),这个是说明Oracle符合国际标准,值得信赖。

4、Oracle 性能高 保持开放平台下TPC-D和TPC-C世界记录。

5、Oracle 多层次网络计算支持多种工业标准用ODBC、JDBC、OCI等网络客户连接。(支持数据库连接类型比较全面)

6、Oracle 长时间开发经验,完全向下兼容。得到广泛应用,风险低。(就是兼容性好,用的时间长,开发经验多,Demo用例多,参考资料多)。

缺点:

1、不开源,贵的不行。(也就有实力的企业才会用)

2、硬件要求高。

3、管理维护相对麻烦。

4、操作比较麻烦,技术含量较高(学习周期长)。

2.2 SQL Server

SQL Server是Microsoft公司推出的关系型数据库管理系统。可跨越从运行Microsoft Windows98的电脑到运行Microsoft Windows2012的大型多处理器的服务器等多种平台使用。(主要是支持Windows的各种新类型系统,)

Microsoft SQL Server是一个全面的数据库平台,使用集成的商业智能(BI)工具提供企业级的数据管理。Microsoft SQL Server数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,可以构建和来管理用于业务的高可用和高性能的数据应用程序。

优点:

1、易用性(上手快)

2、可伸缩性(适合分布式组织)

3、数据仓库功能(可用于决策支持)

4、集成性好(与其它服务器软件关联度好)

5、性价比高

6、数据管理和分析方面,灵活性较好(能响应快速变化的环境),可将原始数据转化为商业智能、充分利用Web技术。

7、可快速开发新一代企业级商业应用程序

8、具备完全Web支持,提供XML核心支持,可在Internet上和防火墙外进行查询。

(综上所述,SQL Server的伸缩性好,集成性强,性价比高,支持Web等)

缺点:

1、SQL Server仅能在Windows上运行,没有丝毫开放性操作系统。

2、WindowsX系列产品偏向于桌面应用,NT server只适合小型企业,而且windows平台可靠性、安全性和伸缩性非常有限。

3、SQL server 并行实施和共存模型并成熟难处理日益增多用户数和数据卷伸缩性有限。

4、无任何安全证书。

5、SQL Server多用户是性能不好

6、处理大数据的性能差,可靠性不高。

2.3 MySQL

MySQL是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

MySQL 是一种关联数据库管理系统, 关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。

优点:

1、体积小、速度快、总体拥有成本低,开源,提供的接口支持多种语言连接操作。

2、支持多种操作系统。

3、MySQL 的核心程序采用完全的多线程编程。线程是轻量级的进程,它可以灵活地为用户提供服务,而不过多的系统资源。用多线程和C语言实现的MySQL 能很容易充分利用CPU。

4、MySQL 有一个非常灵活而且安全的权限和口令系统。当客户与MySQL 服务器连接时,他们之间所有的口令传送被加密,而且MySQL 支持主机认证。

5、MySQL 能够提供很多不同的使用者界面,包括命令行客户端操作,网页浏览器,以及各式各样的程序语言界面,例如 C++,Perl,Java,PHP,以及Python。你可以使用事先包装好的客户端,或者干脆自己写一个合适的应用程序。MySQL可用于 Unix,Windows,以及OS/2等平台,因此它可以用在个人电脑或者是服务器上。

缺点:

1、不支持热备份。

2、MySQL不支持自定义数据类型

3、MySQL最大的缺点是其安全系统,主要是复杂而非标准,另外只有到调用mysqladmin来重读用户权限时才发生改变。

4、MySQL对存储过程和触发器支持不够良好。

5、尽管 MySQL 理论上仍是开源产品,也有人抱怨它诞生之后更新缓慢。然而,应该注意到有一些基于 MySQL 并完整集成的数据库(如 MariaDB),在标准的 MySQL 基础上带来了额外价值。

6、MySQL对XML支持不够良好

何时使用MySQL ?

  1. 分布式操作:
    当你需要的比SQLite可以提供的更多时,把MySQL包括进你的部署栈,就像任何一个独立的数据库服务器,会带来大量的操作自由和一些先进的功能。
  2. 高安全性:
    MySQL的安全功能,用一种简单的方式为数据访问(和使用)提供了可靠的保护。
  3. Web网站 和 Web应用:
    绝大多数的网站(和Web应用程序)可以忽视约束性地简单工作在MySQL上。这种灵活的和可扩展的工具是易于使用和易于管理的——这被证明非常有助于长期运行。
  4. 定制解决方案:
    如果你工作在一个高度量身定制的解决方案上,MySQL能够很容易地尾随和执行你的规则,这要感谢其丰富的配置设置和操作模式。

何时不用 ?

  1. SQL 服从性:
    因为 MySQL 没有[想要]实现 SQL 的全部标准,所以这个工具不完全符合SQL。如果你需要对这样的关系数据库管理系统进行整合,从MySQL进行切换是不容易的。
  2. 并发:
    即使MySQL和一些存储引擎能够真地很好执行读取操作,但并发读写还是有问题的。
  3. 缺乏特色:
    再次提及,根据数据库引擎的选择标准,MySQL会缺乏一定的特性,如全文搜索。

 

3、PGSQL的安装

https://www.yiibai.com/postgresql/install-postgresql.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值