Green Plum简介

编程入门 行业动态 更新时间:2024-10-08 02:21:47

Green Plum<a href=https://www.elefans.com/category/jswz/34/1769824.html style=简介"/>

Green Plum简介

分布式数据库MVCC多版本并发控制,一种大规模并行处理(MPP)数据库服务器。
MPP(也称为无共享体系结构)是指具有两个或两个以上处理器的系统,这些处理器协作执行一项操作,每个处理器具有自己的内存,操作系统和磁盘。Greenplum使用这种高性能的系统体系结构来分配多TB数据仓库的负载,并且可以并行使用系统的所有资源来处理查询
基于PostgreSQL,基于PostgreSQL9.4,并且在大多数情况下在SQL支持,功能,配置选项和最终用户功能方面与PostgreSQL非常相似。
Greenplum是一个主从配置的架构,主节点只包含有关Greenplum数据库系统本身的元数据,不包含任何用户数据,用户数据存储在从节点(段)中,一个master 多个slave
Greenplum数据库段是独立的PostgreSQL数据库,每个数据库存储一部分数据并执行大部分查询处理。除了常见的数据库操作,还有一种motion移动操作,这种操作会在查询处理期间在段之间移动元组。motion 分为广播( broadcast )、重分布( redistribute motion )、Gather motion。

Gather motion的作用就在于将每个节点上面的中间结果集中到一个节点上面。
redistribute motion重分布的作用,将数据重新打散重新分布到所有segment上。一般常发生在:关联、group by、开窗函数等情况下。
Broadcast Motion广播的作用,将每个segment上的一张表数据全部发送给所有segment,这样相当于每个segment都有全量的数据。
Greenplum为了实现查询时的最大并行度,在查询计划中将工作划分为了片,每个片都可以进行单独的处理。当有关联查询等操作时,会使用重分布创建新片,再将结果聚集到一个隐藏的分片中返回。例:SELECT customer, amount FROM sales JOIN customer USING (cust_id),在该查询中,会从对应sales和customer的段中取data,但因为两个段之间是通过cust_id来关联的,所以需要对两个段进行重分布,最后在聚集结果返回。Greenplum的并行查询执行,在查询时GreenPlum会创建许多数据库进程。在主服务器monitor上,查询进程称为查询调度进程(QD),他负责创建和调度查询计划,并汇聚显示最终的查询结果。在段上,查询进程称为查询执行程序(QE),在QD的调度下,QE负责完成其工作并将结果传给下一个QE。怎样跟其他数据源的数据交互:
Greenplum有一种表叫外部表,通过外部表可以访问存储在Greenplum数据库外部的数据源中的数据,如Oracle等。
访问外部数据源需要使用Greenplum平台扩展框架(PXF),通过PXF可以连接到需要访问的外部数据源,PXF通过内置连接器提供对该外部数据的访问,该内置连接器将外部数据源映射到Greenplum数据库表定义。PXF支持Java 8和Java 11。配置PXF,需要在各个使用Greenplum服务器上安装Java 8或Java 11。
初始化PXF,必须显式初始化PXF服务实例,初始化将生成PXF服务Web应用程序,并生成配置文件和模板。
初始化命令:pxf cluster init  初始化GreenPlum数据库集群中的所有PXF服务实例pxf init  在当前主机上初始化PXF服务实例
另有reset命令,可用于重置PXF,重置之后需重新初始化并启动PXF才能再次使用。
第一次初始化时,会生成conf配置文件目录和templates模板配置文件目录
配置PXF连接器,PXF连接器配置在servers目录下,PXF服务器的配置信息位于servers/<server_name>/中的一个或多个<connector>-site.xml文件中。sharding JDBC 一款分库分表框架,分片---通过分库分表策略,将大数据的表拆分到不同的数据库和表内, table-rules  对应表的规则
逻辑表 ,真实表,分片算法,分布式主键--雪花算法,UUID
广播表,存在于所有的分片数据源中的表,表结构和表中的数据在每个数据库中均完全一致。一般是为字典表或者配置表,广播表变化会使所有服务器上的广播表同步变化
自定义的根据时间的分库策略
SQL 解析 -> 执行器优化 -> SQL 路由 -> SQL 改写 -> SQL 执行-> 结果归并
abstractRoutingDataSource 动态数据源切换抽象类 实现determineCurrentLookupKey方法

更多推荐

Green Plum简介

本文发布于:2024-02-14 14:50:27,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1763607.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:简介   Green   Plum

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!