PG、GP与MySQL的特点和区别

参考

PostgreSQL数据库

介绍:PostgreSQL是一种运行在Unix和Linux操作系统(在NT平台借助Cygnus也可以运行)平台上的免费的开放源码的关系数据库。最早是由美国加州大学伯克利分校开发的,开始只是作为一个演示系统发表,但是随着时间的推移,逐步分发,得到很多实际的应用,才逐步流行起来。
网址:https://www.postgresql.org/
特点:1.省钱,可以运行在Unix和Lunux操作系统上。
   2.支持SQL。
   3.有丰富的数据类型。许多数据类型是一些商业数据库都没有提供的。
   4.面向对象,它包含了一些面向对象的技术,如继承和类。
   5.支持大数据,它不同于一般的桌面数据库,能够支持几乎不受限制大小的数据库,而且性能稳定。
    描述:这个特点也是绝大多数考虑使用PostgreSQL数据库的原因之一,当然这种场景应该是有要求的,比如一些并发不高,但涉及统计分析类业务的场景相对比较适合。
   6.方便集成web,提供一些接口方便 PHP,Perl等语言操作数据库。
   7.事务处理。相对一些其他免费数据库如MySQL,PostgreSQL提供了事务处理,可以满足一些商业领域的数据需要。
    描述:事务对数据库来真的是太重要了。
   8.PostgreSQL运行速度明显低于MySQL。因为MySQL使用了线程,而PostgreSQL使用的是进程。在不同线程之间的环境转换和访问公用的存储区域显然要比在不同的进程之间要快得多。

   9.PostgreSQL的Sql语法相对更加干净和干练。

           c#操作PostgreSQL数据库例子

Greenplum数据库

介绍:Greenplum(以下简称GPDB)是一款开源数据仓库,基于开源的PostgreSQL改造而来,主要用来处理大规模数据分析任务。相比Hadoop,Greenplum更适合做大数据的存储、计算和分析引擎。
网址:http://www.oschina.net/p/greenplum(开源社区介绍及引导页)
特点:1.大规模并行处理架构
   2.高性能加载,使用 MPP 技术,提供 Petabyte 级别数据量的加载性能(支持PB级别数据)。

    描述:采取MPP架构的数据库系统才能对海量数据进行管理。

       Greenplum支持50PB(1PB=1000TB)级海量数据的存储和处理,Greenplum将来自不同源系统的、不同部门、不同平台的数据集成到数据库中集中存放,

       并且存放详尽历史的数据轨迹,业务用户不用再面对一个又一个信息孤岛,也不再困惑于不同版本数据导致的偏差,同时对于IT人员也降低管理维护工作的复杂度。
   3.大数据工作流查询优化

    描述:Greenplum提供资源管理功能(workload managemnt)来管理数据库资源,利用资源队列管理可实现按用户组的进行资源分配,如Session同时激活数、最大资源值等。

       通过资源管理功能,可以按用户级别进行资源分配和管理用户SQL查询优先级别,同时也能防止低质量SQL(如没有条件的多表join等)对系统资源的消耗。

   4.线性扩展。在MPP架构中增加节点就可以线性提高系统的存储容量和处理能力。

    描述:Greenplum在扩展节点时操作简单,在很短时间内就能完成数据的重新分布。
       Greenplum线性扩展支持为数据分析系统将来的拓展给予了技术上的保障,用户可根据实施需要进行容量和性能的扩展。

   5.反应速度快。

    描述:Greenplum通过准实时、实时的数据加载方式,实现数据仓库的实时更新,进而实现动态数据仓库(ADW)。

       基于动态数据仓库,业务用户能对当前业务数据进行BI实时分析-“Just In Time BI”,能够让企业敏锐感知市场的变化,加快决策支持反应速度。

   5.多态数据存储和执行
   6.基于Apache MADLib 的高级机器学习功能
应用场景:大数据量的统计分析类业务(这个也是目前统计分析业务结合考量后所出的选择)。

     GREENPLUM虽然是关系型数据库产品,它的特点主要就是查询速度快,数据装载速度快,批量DML处理快。

     而且性能可以随着硬件的添加,呈线性增加,拥有非常良好的可扩展性。因此,它主要适用于面向分析的应用。比如构建企业级ODS/EDW,或者数据集市等等。

     GREENPLUM运行在X86架构的硬件平台上,目前支持的操作系统包括32/64位的 LINUX(REDHAT/SUSE)/SOLARIS/MAC OS。

PostgreSQL和Greenplum的区别

GP是在开源的PostgreSQL基础上开发的。GP不是开源的,是商业版的,PostgreSQL是开源的。

 

GP基于PostgreSQL开发而不是MySQL的原因请参考:https://read01.com/7JDQRP.html 

转载于:https://www.cnblogs.com/macT/p/11582435.html

你可能感兴趣的:(PG、GP与MySQL的特点和区别)