当前位置: 首页 > news >正文

GreenPlum与PostgreSQL数据库

在这里插入图片描述
*** Greenplum*** 是一款开源数据仓库。基于开源的PostgreSQL改造,主要用来处理大规模数据分析任务,相比Hadoop,Greenplum更适合做大数据的存储、计算和分析引擎
它本质上是多个PostgreSQL面向磁盘的数据库实例一起工作形成的一个紧密结合的数据库管理系统(DBMS)。 它基于PostgreSQL 9.4开发,其SQL支持、特性、配置选项和最终用户功能在大部分情况下和PostgreSQL非常相似。 与Greenplum数据库交互的数据库用户会感觉在使用一个常规的PostgreSQL DBMS。
针对性的对海量的结构化数据进行处理
专门针对大数据的一种数据库
https://docs-cn.greenplum.org/v6/admin_guide/dml.html

对海量数据进行结构化处理,同时具备分布式架构的特色
由mpp架构衍生
mysql等传统数据库不具备海量数据处理的能力

“关系型数据库” or “分布式数据库”
PostgreSQL:关系型数据库

1、什么是GreenPlum
在这里插入图片描述
GreenPlum数据存储:将数据存储到每一个节点上面
Mysql数据存储:数据存储在表中

关系型数据库和非关系型数据库的区别:

  1. 关系型数据库的数据表格之间都具有关联性,而分布式数据库不具有关联性,因而又叫非关系型数据库。
  2. 关系型数据库在读写方面使用率非常高,就导致它的读写并发性也非常的高。分布式型数据库虽然对于读写的并发性要求不高,但在大数据量以及联系处理方面的要求就比较高。
  3. 关系型数据库因对于读写的量大,对于数据的敏感性方面就没有那么强。而分布式数据库在数据敏感性与大数据储存方面要求就比较高了。
  4. 关系型数据库只是支持基础的储存形式类型,而分布式数据库支持的储存形式就非常的多,有文档形式,图片形式,游戏形式等等。
    综上所述,分布式数据库和关系型数据库区别还是很大的,而且不同的需求使用的数据库也不一样。分布式数据库应用场景就比较广泛,有金融行业,电信行业,电商行业等。

2、MPP架构的由来
MPP(也被称为shared nothing架构)指有两个或者更多个处理器协同执行一个操作的系统,每一个处理器都有其自己的内存、操作系统和磁盘。 Greenplum使用这种高性能系统架构来分布数T字节数据仓库的负载并且能够使用系统的所有资源并行处理一个查询。
在这里插入图片描述
在这里插入图片描述

3、GreenPlum的组成:
在这里插入图片描述
在这里插入图片描述
GreenPlum数据库是Master Server、Segement Server和Interconnect由三部分组成的
PostgreSql:单点故障问题,当MPP中的Master出问题了(挂掉)之后,所有集群都会处于瘫痪状态
运行流程:
客户端发起请求(例如写入一个sql)—> Master(主节点)处理,当主节点Master损坏了之后,旁边的Standby就发挥作用,体现出高可用性,接管客户端发来的请求---->到Segenment中存入数据,接收来自Master的查询计划,将数据结果再返回给Master------>Master将分析结果进行汇总再返回给客户端
Intertconncet网络通信组件(重要),中间层,利用网络通信 将数据进行来回整合和发送
Master:
(1) 建立与客户端的会话连接和管理
(2) SQL的解析并形成分布式的执行计划
(3) 将生成好的执行计划分发到每个 Segment 上执行
(4) 收集 Segment 的执行结果
(5) Master 不存储业务数据,只存储数据字典
(6) Master 主机可以一主一备,分布在两台机器上
(7) 为了提高性能, Master 最好单独占用一台机器

Segment:
(1) 业务数据的存储和存取
(2) 执行 Master 分发的 SQL 语句
(3) 对于 Master 来讲,每个 Segment 都是对等的,负责对应数据的存储和计算
(4) 每一台机器上可以配置一到多个 Segment
(5) 由于每个 Segment 都是对等的,建议采用相同的机器配置
(6) Segment 分 primary 和 mirror 两种,一般交错的存放在子节点上。

在这里插入图片描述

优缺点:
优点:
在这里插入图片描述
在这里插入图片描述

缺点:
在这里插入图片描述

但是,有个坏消息是 GreenPlum突然闭源了,网络上已经很难找到免费的资源包
在这里插入图片描述

PostgreSQL数据库

[图片]
下载:
https://www.postgresql.org/download/linux/redhat/
在这里插入图片描述
PostgreSQL相对于MySQL的优势

  1. 在SQL的标准实现上要比MySQL完善,而且功能实现比较严谨。
  2. 对表连接支持较完整,优化器的功能较完整,支持的索引类型很多,复杂查询能力较强。
  3. PG主表采用堆表存放,MySQL采用索引组织表,能够支持比MySQL更大的数据量。
  4. PG的主备复制属于物理复制,相对于MySQL基于binlog的逻辑复制,数据的一致性更加可靠,复制性能更高,对主机性能的影响也更小。
  5. PostgreSQL支持JSON和其他NoSQL功能,如本机XML支持和使用HSTORE的键值对。它还支持索引JSON数据以加快访问速度,特别是10版本JSONB更是强大。
  6. PostgreSQL完全免费,而且是BSD协议,如果你把PostgreSQL改一改,然后再拿去卖钱,也没有人管你,这一点很重要,这表明了PostgreSQL数据库不会被其它公司控制。相反,MySQL现在主要是被Oracle公司控制。
    MySQL相对于PG的优势
  7. innodb的基于回滚段实现的MVCC机制,相对PG新老数据一起存放的基于XID的MVCC机制,是占优的。新老数据一起存放,需要定时触 发VACUUM,会带来多余的IO和数据库对象加锁开销,引起数据库整体的并发能力下降。而且VACUUM清理不及时,还可能会引发数据膨胀。
  8. MySQL采用索引组织表,这种存储方式非常适合基于主键匹配的查询、删改操作,但是对表结构设计存在约束。
  9. MySQL的优化器较简单,系统表、运算符、数据类型的实现都很精简,非常适合简单的查询操作。
  10. MySQL相对于PG在国内的流行度更高,PG在国内显得就有些落寞了。
  11. MySQL的存储引擎插件化机制,使得它的应用场景更加广泛,比如除了innodb适合事务处理场景外,myisam适合静态数据的查询场景。
    总结
    从应用场景来说,PG更加适合严格的企业应用场景(比如金融、电信、ERP、CRM),但不仅仅限制于此,PostgreSQL的json,jsonb,hstore等数据格式,特别适用于一些大数据格式的分析;而MySQL更加适合业务逻辑相对简单、数据可靠性要求较低的互联网场景(比如google、facebook、alibaba),当然现在MySQL的在innodb引擎的大力发展,功能表现良好

PG的社区

纯社区
在这里插入图片描述
他们为什么要贡献核心代码?
最终用户

  • 希望社区长久,期望可以享受免费的、可持续发展的、开源的、不被任何商业公司、不被任何国家控制的企业级数据库。去O,去DB2 ,去Sybase;
  • 不靠数据库赚钱;
  • PG用到的人越多,越多人背书,使用越靠谱(事实也是如此);
  • 抛砖引玉,企业投入2个研发持续贡献(一年可能一两百万),实际上整个PG社区有数千人在贡献,对最终用户来说,简直赚到了。使用商业数据库,除了LICENSE等成本,依旧需要投管理、研发、外包资源,一年数千万甚至上亿,公司越大,越有动力去贡献社区。从趋势来看,给PG贡献代码的大客户只会越来越多;
    同为开源软件,PostgreSQL源码使用自由友好、商业应用不受任何公司实体所控制,而MySQL则在一定程度上有所限制。
    PostgreSQL社区
    http://www.postgres.cn/index.php/v2/home
    在这里插入图片描述
    阿里云的是需要购买的
    在这里插入图片描述
    华为云的可以试用一个月
    在这里插入图片描述

一些资源链接:

csdn:PostgreSQL 教程:从入门到精通
https://blog.csdn.net/aaa134529/article/details/139107899
PostgreSQL 16.2 文档
https://postgresql.ac.cn/docs/current/index.html
图灵学院的PostgreSQL课程语雀连接
https://www.yuque.com/docs/share/0526da15-a8df-4d03-986c-01e68bdffde7?#
里面也有一些其他的课程内容:JavaWeb SpringMVC Gradle 等

相关文章:

GreenPlum与PostgreSQL数据库

*** Greenplum*** 是一款开源数据仓库。基于开源的PostgreSQL改造,主要用来处理大规模数据分析任务,相比Hadoop,Greenplum更适合做大数据的存储、计算和分析引擎 它本质上是多个PostgreSQL面向磁盘的数据库实例一起工作形成的一个紧密结合的数…...

CVE-2024-46101

前言 自己挖的第一个CVE~ 喜提critical 这里简单说一下。 漏洞简介 GDidees CMS < 3.9.1 的版本&#xff0c;存在一个任意文件上传漏洞。允许登录后的攻击者上传webshell获得网站的权限。 影响版本&#xff1a; GDidees CMS < 3.9.1 &#xff08;其它的我没测。。&am…...

PHPStorm如何调整字体大小

01 02...

string 的介绍及使用

一.string类介绍 C语言中&#xff0c;字符串是以’\0’结尾的一些字符的集合&#xff0c;为了操作方便&#xff0c;C标准库中提供了一些str系列的库函数&#xff0c;但是这些库函数与字符串是分离开的&#xff0c;不太符合OOP的思想&#xff0c;而且底层空间需要用户自己管理&a…...

高等数学的后续课程

1. 高等数学的后续课程 复变函数&#xff1a;研究复数的函数及其性质&#xff0c;包含解析函数、积分理论和应用。偏微分方程&#xff1a;处理涉及多个变量的微分方程&#xff0c;应用于物理、工程等领域。数学分析&#xff1a;更深入地研究极限、连续性、导数和积分等概念&am…...

基于 K8S kubernetes 搭建 安装 EFK日志收集平台

目录 1、在k8s中安装EFK组件 1.1 安装elasticsearch组件 1.2 安装kibana组件 1.3 安装fluentd组件 文档中的YAML文件配置直接复制粘贴可能存在格式错误&#xff0c;故实验中所需要的YAML文件以及本地包均打包至网盘 链接&#xff1a;https://pan.baidu.com/s/15Ryaoa0_…...

浅谈分布式系统

单机架构 单机架构就是只有一台服务器&#xff0c;这台服务器负责所有的工作。 初期&#xff0c;在用户访问量很少&#xff0c;没有对我们的性能、安全等提出很高的要求&#xff0c;而且系统架构简单&#xff0c;无需专业的运维团队&#xff0c;所以选择单机架构是合适的。 当…...

QT 自定义可拖动缩放的无边框窗口,可用于mainmindow, widget

1. 用于拖动&#xff0c;缩放的工具类 “WindowControl.h” #ifndef WINDOWCONTROL_H #define WINDOWCONTROL_H#include <QObject> #include <QRubberBand> #include <QStyleOptionFocusRect> #include <QStylePainter>class RubberBand; class Curs…...

鸿蒙 OS 开发零基础快速入门教程

视频课程: 东西比较多, 这里主要分享一些代码和案例. 开关灯效果案例: 开灯 开关灯效果案例: 关灯 Column 和 Row 的基本用法 Entry Component struct Index {State message: string 张三;build() {// 一行内容Row() {// 一列内容Column() {// 文本内容Text(this.mess…...

yolo介绍

YOLO&#xff08;You Only Look Once&#xff09;是一种目标检测算法。 一、主要特点 1. 速度快&#xff1a;YOLO 能够快速处理图像&#xff0c;实现实时目标检测。与其他一些目标检测算法相比&#xff0c;它在处理速度上具有明显优势&#xff0c;可以满足对实时性要求较高的应…...

传输层 II(TCP协议——协议的特点、报文段、连接管理)【★★★★】

&#xff08;★★&#xff09;代表非常重要的知识点&#xff0c;&#xff08;★&#xff09;代表重要的知识点。 一、TCP 协议的特点 TCP 是在不可靠的 IP 层之上实现的可靠的数据传输协议&#xff0c;它主要解决传输的可靠、有序、无丢失和不重复问题。TCP 是 TCP/IP 体系中非…...

质量小议47 - AI写用例

试着用AI写测试用例 AI替代基础性工作&#xff0c;帮助人思考&#xff0c;将会是更全面、更细致 时替代还是辅助 提问&#xff1a;密码输入框 测试用例评价指标- 功能性 - 可靠性 - 易用性 - 效率- 可维护性 - 可移植性基本思路 - 输入&#xff1a;遵从设计逻辑 和 系…...

etcd 集群搭建与测试指南

etcd 集群搭建与测试指南 一、容器搭建 1. 拉取 etcd 镜像 首先&#xff0c;需要从 Docker Hub 拉取 etcd 的镜像&#xff1a; docker pull quay.io/coreos/etcd:v3.3.12. 创建自定义网络 为了设置容器的固定 IP&#xff0c;需要创建一个自定义网络&#xff1a; docker n…...

写毕业论文用什么软件?分享6款好用的AI论文写作软件网站

撰写毕业论文是一项既重要又具挑战性的任务&#xff0c;尤其是在当今数字化时代&#xff0c;AI写作工具已经成为大学生撰写毕业论文的重要辅助手段。这些工具不仅能够提高写作效率&#xff0c;还能帮助学生生成高质量的文稿。以下是六款备受推荐的AI写毕业论文软件&#xff0c;…...

【技术解析】wx.request 封装:优化小程序网络请求的最佳实践

在当今的小程序开发领域&#xff0c;网络请求是构建动态应用的核心。微信小程序提供的 wx.request API 虽然强大&#xff0c;但在面对复杂业务逻辑时&#xff0c;其直接使用方式可能会带来一系列问题。本文将深入探讨封装 wx.request 的必要性&#xff0c;并提供一套实用的封装…...

9.24 C++ 常成员,运算符重载

//my_string.cpp #include "my_string.h" #include <iostream> #include <cstring>using namespace std;My_string::My_string():size(15){this->ptr new char[size];this->ptr[0] \0; //表示串为空串this->len 0;}//有参构造My_…...

C#设计模式之访问者模式

总目录 前言 在软件构建过程中&#xff0c;由于需求的改变&#xff0c;某些类层次结构中常常需要增加新的行为&#xff0c;如果直接在基类中做这样的更改&#xff0c;将会给子类带来很繁重的变更负担&#xff0c;甚至破坏原有设计。如何在不更改类层次结构的前提下&#xff0c…...

一次RPC调用过程是怎么样的?

注册中心 RPC&#xff08;Remote Procedure Call&#xff09;翻译成中文就是 {远程过程调用}。RPC 框架起到的作用就是为了实现&#xff0c;调用远程方法时&#xff0c;能够做到和调用本地方法一样&#xff0c;让开发人员更专注于业务开发&#xff0c;不用去考虑网络编程等细节…...

鸭脖变“刺客”,啃不起了

撰文&#xff5c;ANGELICA 编辑&#xff5c;ANGELICA 审核&#xff5c;烨 Lydia 声明&#xff5c;图片来源网络。日晞研究所原创文章&#xff0c;如需转载请留言申请开白。 你有多久没吃卤味了&#xff1f; 2020年之后&#xff0c;人们对于几大卤味巨头的关注度正在下降。 …...

力扣 —— 删除有序数组中的重复项

题目思路 两个指针&#xff0c;一个是游标的功能&#xff0c;负责遍历整个数组&#xff0c;一个是定位器的功能&#xff0c;如果有相等的则表示定位器目前指向的元素是重复的&#xff0c;定位器不动&#xff0c;等待游标往下找到不重复的数填充进来&#xff0c;因为游标会遍历…...

别再只用人体红外了!聊聊24.125GHz微波模块在智能家居中的另类玩法与局限

24.125GHz微波传感模块的智能家居创新应用与工程实践 在智能家居领域&#xff0c;人体感应技术早已从简单的红外探测走向多传感器融合时代。当大多数开发者还在依赖传统PIR红外传感器时&#xff0c;一种成本仅20元左右的24.125GHz微波模块正在小众硬件圈引发讨论。这种原本用于…...

如何通过Magisk实现Android系统无痕定制:开发者的终极实战指南

如何通过Magisk实现Android系统无痕定制&#xff1a;开发者的终极实战指南 【免费下载链接】Magisk The Magic Mask for Android 项目地址: https://gitcode.com/GitHub_Trending/ma/Magisk Magisk作为一款革命性的Android系统定制框架&#xff0c;以其独特的"无系…...

热敏电阻测温实战:从原理到Arduino/CircuitPython代码实现

1. 项目概述&#xff1a;从电阻到温度的桥梁在嵌入式开发和电子DIY项目中&#xff0c;温度测量是一个极其常见的需求。无论是环境监测、设备状态反馈&#xff0c;还是简单的温控风扇&#xff0c;你都需要一个可靠的“温度计”。市面上有琳琅满目的温度传感器&#xff0c;从数字…...

SMARC模块化电脑标准:嵌入式系统设计、选型与集成实战指南

1. 项目概述最近在规划一个边缘计算网关项目&#xff0c;选型时又和硬件同事聊到了SMARC。这已经不是第一次在项目里接触这个标准了&#xff0c;但每次和不同背景的工程师讨论&#xff0c;总会发现大家对它的理解深浅不一。有的嵌入式软件工程师觉得它就是个“带金手指的核心板…...

数据流计算模型在边缘到云场景的优化实践

1. 数据流计算模型的演进与挑战数据流计算模型自诞生以来&#xff0c;已经成为分布式系统领域处理大规模数据的核心范式。这种模型通过将计算过程抽象为有向无环图&#xff08;DAG&#xff09;&#xff0c;其中顶点代表数据处理算子&#xff0c;边代表数据流动路径&#xff0c;…...

OpenUPM安全最佳实践:保护你的Unity包注册表完全指南 [特殊字符]

OpenUPM安全最佳实践&#xff1a;保护你的Unity包注册表完全指南 &#x1f512; 【免费下载链接】openupm OpenUPM - Open Source Unity Package Registry (UPM) 项目地址: https://gitcode.com/gh_mirrors/op/openupm OpenUPM作为开源Unity包管理器&#xff08;UPM&…...

NotebookLM文化遗产研究不可逆断层预警:当AI开始“发明”不存在的碑刻铭文(含3类幻觉检测SOP)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;NotebookLM文化遗产研究 NotebookLM 是 Google 推出的基于 AI 的研究协作者工具&#xff0c;其核心能力在于对用户上传的私有文档进行深度语义理解与上下文关联推理。在文化遗产研究领域&#xff0c;该…...

AI黑魔法实战:LLM应用性能优化与成本控制高级技巧

1. 项目概述&#xff1a;当AI遇上“黑魔法”最近在GitHub上闲逛&#xff0c;发现了一个名为“lvcn/ai-black-magic”的项目&#xff0c;这个名字本身就充满了吸引力。对于任何在AI领域摸爬滚打过的开发者来说&#xff0c;“黑魔法”这个词往往意味着那些不按常理出牌、却能解决…...

5G NR(新空口)物理层设计解析

5G NR&#xff08;新空口&#xff09;物理层设计解析 在无线通信技术的演进过程中&#xff0c;5G NR&#xff08;新空口&#xff09;作为第五代移动通信技术的核心组成部分&#xff0c;其物理层设计承载着提升数据传输速率、降低时延、增强连接密度等多重目标。本文将围绕5G NR…...

Go语言命令行交互库promptui实战:打造专业CLI工具

1. 项目概述&#xff1a;一个让命令行交互“活”起来的工具如果你经常和命令行打交道&#xff0c;无论是管理服务器、运行自动化脚本&#xff0c;还是开发调试&#xff0c;肯定遇到过需要用户输入参数的情况。传统的做法是使用read命令&#xff0c;或者在脚本里写死参数&#x…...