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语法相对更加干净和干练。
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
PG、GP与MySQL的特点和区别的更多相关文章
- 你搞懂 ORACLE、 SQLSERVER、MYSQL与DB2的区别了吗
ORACLE. SQLSERVER.MYSQL与DB2的区别--平台性: Oracle.MYSQL与DB2可在所有主流平台上运行: SQL Server只能在Windows下运行: --安 ...
- mysql和mysqli的区别
看书.看视频的时候一直没有搞懂mysqli和mysql到底有什么区别.于是今晚“谷歌”一番,整理一下.需要的朋友可以参考下. 一: PHP-MySQL 是 PHP 操作 MySQL 数据库最原始的 ...
- mysql 不同索引的区别和适用情况总结
最近在做sql优化,看到一篇有关sql索引不错的文章,转载一下. 一.索引类型 普通索引:INDEX 允许出现相同的索引内容 (normal) 唯一索引:UNIQUE 不可以出现相同的值,可以有NUL ...
- PHP数据库连接mysql与mysqli的区别与用法
一.mysql与mysqli的概念相关: 1.mysql与mysqli都是php方面的函数集,与mysql数据库关联不大. 2.在php5版本之前,一般是用php的mysql函数去驱动mysql数据库 ...
- SQL Server,MySQL,Oracle三者的区别
SQL Server,MySQL,Oracle三者的区别 2016-10-14 转自:SQL Server,MySQL,Oracle三者的区别 目录 1 Oracle.Sql Server.MySql ...
- 转载文章 MySQL与Oracle的区别
MySQL与Oracle的区别 1. Oracle是大型数据库而Mysql是中小型数据库,Oracle市场占有率达40%,Mysql只有20%左右,同时Mysql是开源的而Oracle价格非常高 ...
- SQL Server数据库和MySQL数据库有什么区别?
SQL Server数据库和MySQL数据库有什么区别呢?详细很多初入IT行业的朋友对于SQL Server数据库和MySQL数据库经常搞混,认为这两种数据库是同一种,其实不然,今天我们来分析一下这两 ...
- MySQL与MongoDB的区别
一.MongoDB简介 什么是MongoDB ?MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.在高负载的情况下,添加更多的节点,可以保证服务器性能.MongoDB 旨 ...
- mysql和mongodb的区别
1.mongodb的概括 MongoDB(文档型数据库):提供可扩展的高性能数据存储 2.mongodb的功能概括 (1)基于分布式文件存储 (2)高负载情况下添加更多节点,可以保证服务器性能 (3) ...
随机推荐
- 去重sort|uniq -d
#!/bin/bash ############################################################### #Author :Bing # #Create ...
- 【转】PowerDesigner数据库视图同时显示Code和Name
1.按顺序打开: Tools>>>Display Preference 2.依次点击 选中Code打钩,并点击箭头指向图标把Code置顶 3.最终效果图 原文链接
- STM32 RTC上的唤醒和闹钟
RTC很简单只要给备用电,RTC就会不停,可以进行设置和读时间.同时在RTC上也涉及了闹钟(EXTI_17:RTC_FLAG_ALRAF,相当于RTC的定时器,闹钟到了之后进行异步操作)和唤醒中断(低 ...
- 异常 日志-<多重catch语句>
try{ }catch(){ }catch(){ }
- [原]OpeanLayers3 For ArcGIS MapServer
由于OpenLayers3比较新,百度能找到的demo很少,自己不得不参考官方给出的Examples来依葫芦画瓢了,地图服务采用的局方给的ArcGIS MapServer,先上图: 这个例子是按照官方 ...
- 获取一个元素距离顶部的位置和window的滚动值
获取一个元素距离顶部的位置: $(".box").offset().top; 获取window的滚动值: $(window).scrollTop();
- CSP-J2019 加工零件
Background: 之前 $noip $死了,泥萌都说 \(noip SPFA\) 了,现在 \(noip\) 复活了,所以 \(SPFA\) 也复活了. (注:这里的 \(noip\) 跟 \( ...
- Spark 写 Hive table 非常慢【解决】
代码如下: dataFrame.createOrReplaceTempView("view_page_utm") val sql = s""" |in ...
- 第1节 kafka消息队列:7、kafka的消费模型
- springboot发送email邮件
添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>sp ...