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方法
————————————————
版权声明:本文为CSDN博主「qq_38414854」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_38414854/article/details/119817919
相关文章