`
rq2_79
  • 浏览: 239818 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

GREENPLUM介绍之数据库管理---创建表

 
阅读更多

与其它关系型数据库 一样,二维表同样是GP中最重要的存储数据对象。只不过为了更好的支持数据仓库海量数据的访问,GP在表这个层面为我们提供了更多更好的选项。
从数据存储方式上看,GP的表可以分成面向行存储的普通堆积表面向列存储的AOT表 (APPEND ONLY TABLE)(当然AOT表也可以是按行存储的,但是按列存储必须是AOT表)。
这样,我们在设计应用上可以获得相当的灵活性。比如经常需要更新的数据,或者较小的维度数据,应该使用普通堆积表存储 。下面是两个创建普通堆积表的例子。

例子一

CREATE TABLE SALES
 (PROD_ID numeric NOT NULL ,
    CUST_ID numeric NOT NULL ,
    TIME_ID DATE NOT NULL ,
    CHANNEL_ID numeric NOT NULL ,
    PROMO_ID numeric NOT NULL ,
    QUANTITY_SOLD numeric(10,2) NOT NULL ,
    AMOUNT_SOLD numeric(10,2) NOT NULL)
distributed by (prod_id,cust_id,time_id,channel_id,promo_id);
 


例子二

CREATE TABLE SALES
  (PROD_ID numeric NOT NULL ,
     CUST_ID numeric NOT NULL ,
     TIME_ID DATE NOT NULL ,
     CHANNEL_ID numeric NOT NULL ,
     PROMO_ID numeric NOT NULL ,
     QUANTITY_SOLD numeric(10,2) NOT NULL ,
     AMOUNT_SOLD numeric(10,2) NOT NULL)
distributed randomly;

 

与 其它数据库相比,GP的表最大的不同是它一定是分区的,也就是表中的所有记录都会依据相关算法打散,分布到所有的segment当中,从而在充分利用硬件 资源的同时,最大化访问数据的IO,这种特性对于数据仓库应用是非常有帮助的。GP提供两种 打散数据的算法,一种是HASH算法, 参见例子一,在定义表的 时候,通过distributed by指定表中的某个列或者某个列的组合作为HASH键,相同HASH键的记录会放在同一个SEGMENT当中。所以,GP建议一般选择记录分布均匀的键作 为HASH键使用 ,从而保证表中的记录可以均匀分布到所有SEGMENT上。如果表上定义了主键或者唯一键,则这些键值列必须作前导列出现在分布键当中。 假如例子一的PROD_ID是主键或者唯一键,那么它必须出现在HASH键中,并且放在第一位。 如果定义表的时候,没有指定distributed子句,系统使用第一个列作为HASH键使用。另一种数据打散的算法是平均分配法 (ROUND- ROBIN),参见例子二, 假设有三个段,那么这种算法会把第一条记录放在段1, 第二条记录放在段2,第三条记录放在段3,第四条记录放在段四,以此类推,直到所有记录发放完为止。这种算法比较适合表中的字段存在严重数据倾斜的情况


    在数据仓库中,对于存储海量少变化历史数据的事实表的访问,会产生大量IO。这些表除了记录多外(纵向),同时也很宽 。比如几十列,甚至上百列的表也很常 见。但是在进行数据分析和挖掘过程中,我们可能只用到这些列的很小一部分内容 ,而传统的按行存储的表,在访问时总是会访问记录中的所有列,导致很多无效 IO,当由于表横向尺寸过大,按行存储的表还会出现行链接,这会使无效IO的问题更严重。在GP中,对于这种情况应该考虑使用面向列存储的AOT表 ,从而 大幅高IO效率,获取数据查询性能的收益。下面是AOT表定义的例子。
例子三

CREATE TABLE SALES
   (PROD_ID numeric NOT NULL ,
    CUST_ID numeric NOT NULL ,
    TIME_ID DATE NOT NULL ,
    CHANNEL_ID numeric NOT NULL ,
    PROMO_ID numeric NOT NULL ,
    QUANTITY_SOLD numeric(10,2) NOT NULL ,
    AMOUNT_SOLD numeric(10,2) NOT NULL)
    WITH (appendonly=true,orientation=column,compresstype=zlib,COMPRESSLEVEL=5)
    distributed by (prod_id,cust_id,time_id,channel_id,promo_id);

 

例子四

CREATE TABLE SALES
   (PROD_ID numeric NOT NULL ,
    CUST_ID numeric NOT NULL ,
    TIME_ID DATE NOT NULL ,
    CHANNEL_ID numeric NOT NULL ,
    PROMO_ID numeric NOT NULL ,
    QUANTITY_SOLD numeric(10,2) NOT NULL ,
    AMOUNT_SOLD numeric(10,2) NOT NULL)
    WITH (appendonly=true,orientation=column,compresstype=QUICKLZ,COMPRESSLEVEL=1)
    distributed by (prod_id,cust_id,time_id,channel_id,promo_id);
 


    现在硬件系统往往IO效率跟不上CPU处理的速度,而数据仓库应用恰恰是IO敏感型的应用,所以很多数据仓库系统上,我会看到CPU很闲,但是出现大量 IO等待的情况。所以通过压缩,尤其是面向列压缩,允许我们牺牲一定的CPU效率进一步换取IO效率,提高系统的的吞吐量。GP的AOT表允许使用两种压 缩算法,一种是ZLIB ,它的压缩率较高,对CPU的消耗较多,GP中可以指定1到9 9个级别。1的压缩比最小,9最大,参见例子三。另一种算法是QUICKLZ ,它的压缩比小,这能设置1,造成的CPU负载也比ZLIB小。
     AOT表虽然查询和加载数据的效率很高,但是如它的名字那样它只能支持SELECT,INSERT,truncate操作,不支持UPDATE和DELETE操作。所以它只适合存放经过处理基本最终无变化的历史数据,用来提供高效的查询访问
    
     从数据数据存放的生命周期看,前面介绍的表都称之为永久表 ,这些表的记录不会因为事务的结束和会话的断开而消失。而业务中,我们经常要使用到临时数据集 合,如果用永久表存放中间结果,一方面是在并发环境中数据不安全,另一方面频繁的删除表中的记录或者删除表,会导致大量碎片,在字典层面造成瓶颈。因此 GP也支持临时表,不同连接共享相同的表结构。比如下面的两个例子。
例子五

CREATE TEMP TABLE SALES_TMP
  (PROD_ID numeric NOT NULL ,
     CUST_ID numeric NOT NULL ,
     TIME_ID DATE NOT NULL ,
     CHANNEL_ID numeric NOT NULL ,
     PROMO_ID numeric NOT NULL ,
     QUANTITY_SOLD numeric(10,2) NOT NULL ,
     AMOUNT_SOLD numeric(10,2) NOT NULL)
     on commit preserve rows
distributed randomly;


例子六

CREATE TEMP TABLE SALES
  (PROD_ID numeric NOT NULL ,
     CUST_ID numeric NOT NULL ,
     TIME_ID DATE NOT NULL ,
     CHANNEL_ID numeric NOT NULL ,
     PROMO_ID numeric NOT NULL ,
     QUANTITY_SOLD numeric(10,2) NOT NULL ,
     AMOUNT_SOLD numeric(10,2) NOT NULL)
     on commit delete rows
distributed by (prod_id,cust_id,time_id,channel_id,promo_id);


    例子五是事务内有效,连接会话间数据独立。完成事务后数据保留,只有连接会话断开后数据才消失。例子六是事务内有效,也就是提交事务后(commit)数据就会消失。如果临时表的名字与永久表名字重复,临时表的访问优先。
    除了普通表以外,GP还支持超大表进行分区应用,为我们的提高数据访问效率的同时,也提高应用的灵活型。它可以支持RANGE分区,LIST分区,以及灵 活的复合分区(RANGE-LIST,RANGE-RANGE,LIST-RANGE,LIST-LIST,以及更多层次的分区,比如三层分区),GP的 分区是基于SEGMENT基础之上的。每个分区的数据同样会打散分布到每个segment中,当WHERE条件上出现分区键时,它会进行分区裁剪,减少 IO。需要注意的是,目前GREENPLUM还只支持静态分区裁剪,所以如果希望用到分区裁剪,请在WHERE条件中使用事实表的分区键作为条件。
   
例子七 使用LIST分区

CREATE TABLE SALES
   (PROD_ID numeric NOT NULL ,
    CUST_ID numeric NOT NULL ,
    TIME_ID DATE NOT NULL ,
    CHANNEL_ID numeric NOT NULL ,
    PROMO_ID numeric NOT NULL ,
    QUANTITY_SOLD numeric(10,2) NOT NULL ,
    AMOUNT_SOLD numeric(10,2) NOT NULL)
    WITH (appendonly=true,orientation=column,compresstype=QUICKLZ,COMPRESSLEVEL=1)
    distributed by (prod_id,cust_id,time_id,channel_id,promo_id)
    partition by list (channel_id)
    ( partition c_1 values (2, 4),
      partition c_2 values (3,9),
     default partition other);
 

 
例子八
---使用RANGE分区

CREATE TABLE SALES
   (PROD_ID numeric NOT NULL ,
    CUST_ID numeric NOT NULL ,
    TIME_ID DATE NOT NULL ,
    CHANNEL_ID numeric NOT NULL ,
    PROMO_ID numeric NOT NULL ,
    QUANTITY_SOLD numeric(10,2) NOT NULL ,
    AMOUNT_SOLD numeric(10,2) NOT NULL)
    WITH (appendonly=true,orientation=column,compresstype=QUICKLZ,COMPRESSLEVEL=1)
    distributed by (prod_id,cust_id,time_id,channel_id,promo_id)
    partition by range(time_id)
    ( START (date '1998-01-01') INCLUSIVE
      END (date '2001-12-31') EXCLUSIVE
      EVERY (INTERVAL '1 year'), DEFAULT PARTITION other);
 

 
---每个分区独立定义

CREATE TABLE SALES
   (PROD_ID numeric NOT NULL ,
    CUST_ID numeric NOT NULL ,
    TIME_ID DATE NOT NULL ,
    CHANNEL_ID numeric NOT NULL ,
    PROMO_ID numeric NOT NULL ,
    QUANTITY_SOLD numeric(10,2) NOT NULL ,
    AMOUNT_SOLD numeric(10,2) NOT NULL)
    distributed by (prod_id,cust_id,time_id,channel_id,promo_id)
    partition by range(time_id)
    (PARTITION FY1998 START (date '1998-01-01') INCLUSIVE ,
     PARTITION FY1999 START (date '1999-01-01') INCLUSIVE ,
     PARTITION FY2000 START (date '2000-01-01') INCLUSIVE ,
     PARTITION FY2001 START (date '2001-01-01') INCLUSIVE ,
     DEFAULT PARTITION extra);
 


例子九
--使用复合分区方式 RANGE-LIST
   CREATE TABLE SALES
      (PROD_ID numeric NOT NULL ,
       CUST_ID numeric NOT NULL ,
       TIME_ID DATE NOT NULL ,
       CHANNEL_ID numeric NOT NULL ,
       PROMO_ID numeric NOT NULL ,
       QUANTITY_SOLD numeric(10,2) NOT NULL ,
       AMOUNT_SOLD numeric(10,2) NOT NULL)
    distributed by (prod_id,cust_id,time_id,channel_id,promo_id)
    partition by range(time_id)
    SUBPARTITION BY LIST(channel_id)
    SUBPARTITION TEMPLATE
    ( subpartition c_1 values (2, 4),
      subpartition c_2 values (3,9),
      default subpartition other_1)
    ( START (date '1998-01-01') INCLUSIVE
      END (date '2001-12-31') EXCLUSIVE
      EVERY (INTERVAL '1 year'), DEFAULT PARTITION other_2);
 

--使用复合分区方式LIST-RANGE
CREATE TABLE SALES
      (PROD_ID numeric NOT NULL ,
       CUST_ID numeric NOT NULL ,
       TIME_ID DATE NOT NULL ,
       CHANNEL_ID numeric NOT NULL ,
       PROMO_ID numeric NOT NULL ,
       QUANTITY_SOLD numeric(10,2) NOT NULL ,
       AMOUNT_SOLD numeric(10,2) NOT NULL)
    distributed by (prod_id,cust_id,time_id,channel_id,promo_id)
    PARTITION BY LIST(channel_id)
    subpartition by range(time_id)   
    SUBPARTITION TEMPLATE
     ( START (date '1998-01-01') INCLUSIVE
      END (date '2001-12-31') EXCLUSIVE
      EVERY (INTERVAL '1 year'), DEFAULT SUBPARTITION other_2)
    ( partition c_1 values (2, 4),
      partition c_2 values (3,9),
      default partition other_1);
  
--使用复合分区方式RANGE-RANGE
CREATE TABLE SALES
      (PROD_ID numeric NOT NULL ,
       CUST_ID numeric NOT NULL ,
       TIME_ID DATE NOT NULL ,
       YEAR    INT ,
       MON     INT,
       CHANNEL_ID numeric NOT NULL ,
       PROMO_ID numeric NOT NULL ,
       QUANTITY_SOLD numeric(10,2) NOT NULL ,
       AMOUNT_SOLD numeric(10,2) NOT NULL)
    distributed by (prod_id,cust_id,time_id,channel_id,promo_id)
    PARTITION BY RANGE (year)
    subpartition by range(mon)   
     SUBPARTITION TEMPLATE (
     START (1) INCLUSIVE END (13) EXCLUSIVE EVERY (1),
     DEFAULT SUBPARTITION other_months )
    ( START (1998) INCLUSIVE END (2001) INCLUSIVE EVERY (1),
      DEFAULT PARTITION OTHER_years );
     
--使用复合分区方式 LIST-LIST
CREATE TABLE SALES
      (PROD_ID numeric NOT NULL ,
       CUST_ID numeric NOT NULL ,
       TIME_ID DATE NOT NULL ,
       YEAR    INT ,
       MON     INT,
       CHANNEL_ID numeric NOT NULL ,
       PROMO_ID numeric NOT NULL ,
       QUANTITY_SOLD numeric(10,2) NOT NULL ,
       AMOUNT_SOLD numeric(10,2) NOT NULL)
    distributed by (prod_id,cust_id,time_id,channel_id,promo_id)
    PARTITION BY LIST (year)
    subpartition by LIST(mon)   
     SUBPARTITION TEMPLATE (
      subpartition Q_1 values (1,2, 3),
      subpartition Q_2 values (4,5, 6),
      subpartition Q_3 values (7,8, 9),
      subpartition Q_4 values (10,11, 12),
       DEFAULT SUBPARTITION other_months )        
    ( partition Y_1 values (1998),
      partition Y_2 values (1999),
      partition Y_3 values (2000),
      partition Y_4 values (2001),
      DEFAULT PARTITION OTHER_years );

--三层复合分区,RANGE-RANGE-LIST

    CREATE TABLE SALES
      (PROD_ID numeric NOT NULL ,
       CUST_ID numeric NOT NULL ,
       TIME_ID DATE NOT NULL ,
       YEAR    INT ,
       MON     INT,
       CHANNEL_ID numeric NOT NULL ,
       PROMO_ID numeric NOT NULL ,
       QUANTITY_SOLD numeric(10,2) NOT NULL ,
       AMOUNT_SOLD numeric(10,2) NOT NULL)
    distributed by (prod_id,cust_id,time_id,channel_id,promo_id)
    PARTITION BY RANGE (year)
    subpartition by range(mon)   
     SUBPARTITION TEMPLATE (
     START (1) INCLUSIVE END (13) EXCLUSIVE EVERY (1),
     DEFAULT SUBPARTITION other_months )   
    subpartition by list (channel_id)
    SUBPARTITION TEMPLATE
    ( subpartition c_1 values (2, 4),
      subpartition c_2 values (3,9),
      default subpartition other_1)
      ( START (1998) INCLUSIVE END (2001) INCLUSIVE EVERY (1),
      DEFAULT PARTITION OTHER_years );
 



例子十 分区表的分区可以使用不同的存储属性,既可以面向行,也可以面向列

CREATE TABLE SALES
   (PROD_ID numeric NOT NULL ,
    CUST_ID numeric NOT NULL ,
    TIME_ID DATE NOT NULL ,
    CHANNEL_ID numeric NOT NULL ,
    PROMO_ID numeric NOT NULL ,
    QUANTITY_SOLD numeric(10,2) NOT NULL ,
    AMOUNT_SOLD numeric(10,2) NOT NULL)
    distributed by (prod_id,cust_id,time_id,channel_id,promo_id)
    partition by range(time_id)
    (PARTITION FY1998 START (date '1998-01-01') INCLUSIVE WITH (appendonly=true,orientation=column,compresstype=zlib,COMPRESSLEVEL=5),
     PARTITION FY1999 START (date '1999-01-01') INCLUSIVE WITH (appendonly=true,orientation=column,compresstype=zlib,COMPRESSLEVEL=5),
     PARTITION FY2000 START (date '2000-01-01') INCLUSIVE WITH (appendonly=true,orientation=column,compresstype=zlib,COMPRESSLEVEL=5),
     PARTITION FY2001 START (date '2001-01-01') INCLUSIVE ,
     DEFAULT PARTITION extra);

 


例子十一 分区表可以以其它表为模板复制表结构

CREATE TABLE SALES2 (like sales) 
    distributed by (prod_id,cust_id,time_id,channel_id,promo_id)
    partition by range(time_id)
    (PARTITION FY1998 START (date '1998-01-01') INCLUSIVE WITH (appendonly=true,orientation=column,compresstype=zlib,COMPRESSLEVEL=5),
     PARTITION FY1999 START (date '1999-01-01') INCLUSIVE WITH (appendonly=true,orientation=column,compresstype=zlib,COMPRESSLEVEL=5),
     PARTITION FY2000 START (date '2000-01-01') INCLUSIVE WITH (appendonly=true,orientation=column,compresstype=zlib,COMPRESSLEVEL=5),
     PARTITION FY2001 START (date '2001-01-01') INCLUSIVE ,
     DEFAULT PARTITION extra);
    


    从数据存放的角度看,前面介绍的表数据都存储在数据库内。GP也支持外部表,也就是数据以平面文件形式存放在数据库外,在数据库内以表的访问形式来访问这些平面文件的数据。GP的外部表与其它数据库的外部表有两个重要的不同之处。一个是GP的外部表不必放在数据库服务器 上, 它可以独立存放在ETL服务器或者文件服务器上,而且不必集中存放,比如有多个文件,那么可以分组放到不同的文件服务器上,这样可以大幅提升海量数据的 IO处理速度,从而提高数据加载效率。另一个不同之处是,从4.0开始,GP不但支持可读外部表,还支持可写外部表。这样我们可以把GP中的数据快速卸载 成平面文件。因此,外部表是GP与其它外部数据源进行数据交换的最终要手段之一,同时也是最高效的手段。如果文件全部在SEGMENT节点上,则可以使用 FILE:\\协议进行访问

例子十二,这是一个只读外部表的例子,它读取的文件分布在四台机器上(如何启动gpfdist服务,参见手册 或者文章http://www.itpub.net/viewthread.php?tid=1410982),这些文件使用CSV格式,使用分割符 '|',使用'"'作为第二分割符,并跳过文件的首行,文本中使用的字符集是GBK(系统会自动转换成服务端字符集,比如UTF8),如果记录格式有问 题,跳过,并写入错误表err_sales_ext(如果错误表不存在,建外部表时系统自动创建),格式有问题的记录最多允许7000000条

create external table sales_ext1
(PROD_ID numeric,
 CUST_ID numeric,
 TIME_ID DATE,
 CHANNEL_ID numeric ,
 PROMO_ID numeric ,
 QUANTITY_SOLD numeric(10,2),
 AMOUNT_SOLD numeric(10,2))
 LOCATION ('gpfdist://etlhost-1:8081/sales/*','gpfdist://etlhost-2:8081/sales/*','gpfdist://etlhost-3:8081/sales/*','gpfdist://etlhost-4:8081/sales/*')
FORMAT 'CSV'(header DELIMITER '|' QUOTE '"')
encoding 'GBK'
log errors into err_sales_ext segment reject limit 7000000 rows;

 


可读外部表只能查询,不能进行DML操作,也不支持索引。

例子十三,这是一个可写外部表的例子,它可以把查询结果写入到指定CSV格式文件中。

create writable external table sales_ext_w
(PROD_ID numeric,
 CUST_ID numeric,
 TIME_ID DATE,
 CHANNEL_ID numeric ,
 PROMO_ID numeric ,
 QUANTITY_SOLD numeric(10,2),
 AMOUNT_SOLD numeric(10,2))
 LOCATION ('gpfdist://md:8081/sales/sales.csv','gpfdist://etlhost-2:8081/sales/sales.csv','gpfdist://etlhost-3:8081/sales/sales.csv','gpfdist://etlhost-4:8081/sales/sales.csv')
FORMAT 'CSV'(DELIMITER '|' QUOTE '"')
encoding 'GBK'
distributed by (prod_id,cust_id,time_id,channel_id,promo_id);
 


可写外部表只支持insert操作,不支持DELETE,UPDATE,SELECT ,TRUNCATE , 插入的数据是以追加方式写入文件。

外部表也可以通过WEB server ,使用HTTP协议访问数据,或者使用系统命令获取数据,这种形式的外部表也有可写外部表。
例子十四

create external web table sales_ext1
(PROD_ID numeric,
 CUST_ID numeric,
 TIME_ID DATE,
 CHANNEL_ID numeric ,
 PROMO_ID numeric ,
 QUANTITY_SOLD numeric(10,2),
 AMOUNT_SOLD numeric(10,2))
 LOCATION ('http://etlhost-1:8081/sales/*','http://etlhost-2:8081/sales/*','http://etlhost-3:8081/sales/*','http://etlhost-4:8081/sales/*')
FORMAT 'CSV'(header DELIMITER '|' QUOTE '"')
encoding 'GBK'
log errors into err_sales_ext segment reject limit 7000000 rows;


例子十五,需要以超级管理 员身份执行,并且所有节点都有comm.sh的脚本

create external web table sales_ext1
(PROD_ID numeric,
 CUST_ID numeric,
 TIME_ID DATE,
 CHANNEL_ID numeric ,
 PROMO_ID numeric ,
 QUANTITY_SOLD numeric(10,2),
 AMOUNT_SOLD numeric(10,2))
 execute 'comm.sh' on all
FORMAT 'CSV'(header DELIMITER '|' QUOTE '"')
encoding 'GBK'
log errors into err_sales_ext segment reject limit 7000000 rows;
 




更多的建表选项,大家可以参考GREENPLUM的管理员手册。

分享到:
评论

相关推荐

    greenplum-db-6.13.0-rhel7-x86_64.zip

    《Greenplum数据库详解与安装指南》 Greenplum是一款高度可扩展的并行数据库系统,专为大数据分析设计。其基于MPP(大规模并行处理)架构,能够高效处理PB级别的数据,广泛应用于商业智能、数据分析等领域。该系统...

    greenplum-cc-web-3.3.3-LINUX-x86_64.zip

    Greenplum Command Center(简称GPCC)是Greenplum数据库系统中的一款重要管理工具,专为Greenplum 4(GP4)设计,提供了全面的可视化监控、管理和诊断功能。在“greenplum-cc-web-3.3.3-LINUX-x86_64.zip”这个...

    greenplum-cc-web-6.2.0-gp6-rhel7-x86-64.7z

    《Greenplum CC Web 6.2.0-GP6在Linux环境下的安装与使用详解》 Greenplum CC Web 6.2.0-gp6-rhel7-x86_64是一款专为...对于任何Greenplum数据库管理员来说,熟练运用Greenplum CC Web都是不可或缺的技能之一。

    greenplum-db-6.2.1-rhel7-x86_64.rpm.zip

    《Greenplum数据库6.2.1版本详解》 Greenplum是一款开源、大规模并行处理(MPP)的数据仓库系统,由Pivotal公司开发,最初源于 PostgreSQL。这款数据库系统设计用于处理海量数据,尤其适合大数据分析和商务智能应用...

    greenplum-db-5.9.0-rhel7-x86_64

    4. 初始化数据库集群:运行初始化脚本来创建Greenplum数据库集群,这个过程会创建数据目录、分配段服务器等。 5. 创建数据库用户:在RHEL7上,你需要创建一个用于运行Greenplum的系统用户,例如`gpadmin`,并将所有...

    greenplum-db-5.0.0-rhel7-x86_64.zip

    《深入理解Greenplum数据库:基于MPP架构的大数据处理》 Greenplum数据库系统,作为一款高效的大数据处理工具,被广泛应用于大数据仓库(DW)和商业智能(BI)领域。其核心特性在于采用无共享(shared-nothing)的...

    greenplum-db-5.11.1-rhel6-x86_64.zip

    安装Greenplum(1).ppt":这可能是一个关于Greenplum安装的演示文稿,详细介绍了如何在Linux环境中设置和部署Greenplum数据库,包括系统需求、依赖安装、软件配置和启动步骤等内容。 2. "greenplum-db-5.11.1-rhel6-...

    Greenplum数据库权限管理1

    在Greenplum数据库管理系统中,权限管理是确保数据安全性和访问控制的重要机制。它允许管理员精确地控制不同用户和角色对数据库对象的访问权限,从而防止未经授权的数据访问或修改。 1.1 概述 Greenplum的权限系统...

    GREENPLUM介绍之数据库管理.docx

    ### GREENPLUM数据库管理...以上步骤覆盖了Greenplum数据库管理的关键方面,包括环境配置、服务启动与停止、状态查询、连接方式、用户管理以及示例系统的创建等。这些操作对于日常维护和管理Greenplum数据库至关重要。

    greenplum-database管理员指南6.0.0.pdf

    Greenplum Database管理员指南6.0.0版本是一个面向数据库管理员的权威文档,旨在帮助他们了解、安装和管理Greenplum数据库系统。这份指南涵盖了Greenplum数据库架构、分布式数据库概念、角色权限管理、客户端认证...

    greenplum5.11.1-centos7-x86_64.zip

    初始化完成后,启动Greenplum数据库: ``` gpstart -a ``` 三、使用Greenplum 1. 连接数据库 使用psql工具连接到Greenplum数据库: ``` psql -U gpadmin -d postgres ``` 2. 数据导入与查询 使用COPY命令快速导入...

    greenplum数据库jdbc驱动下载

    1. **连接管理**:创建、管理和关闭与Greenplum数据库的连接。 2. **SQL执行**:执行SQL查询,包括SELECT、INSERT、UPDATE、DELETE等。 3. **结果集处理**:处理查询返回的结果集,提供遍历、获取单个值或整个行的...

    greenplum-cc-web-6.6.1安装监控Web监控页面

    - 初始化数据库:使用提供的初始化脚本创建必要的数据库对象,例如用户、角色、表等。 - 配置Web服务:编辑配置文件,如`conf/greenplum_cc.conf`,设置数据库连接信息、监听端口、认证方式等。 - 启动服务:执行...

    greenplum-db-4.2.8.0-build-1-RHEL5-x86_64

    《Greenplum数据库4.2.8.0在Red Hat 5上的安装指南》 Greenplum数据库系统是一款高效的企业级并行数据仓库解决方案,它基于PostgreSQL,并扩展了其性能和可扩展性,适用于大数据分析和处理。本文将详细阐述如何在...

    greenplum4.3.7.3数据库安装_安装包_安装文档.zip

    - 分布式安装手册:介绍如何在多台服务器上配置和管理Greenplum集群。 - 用户指南和API参考:帮助开发者了解Greenplum的SQL语法和编程接口。 6. **其他知识点**: - 数据分布:Greenplum使用行级分区和MPP策略...

    greenplum创建dblink包postgresql-8.3.23.tar.gz

    Greenplum和PostgreSQL是两种广泛应用的关系型数据库管理系统(RDBMS)。本文将详细讨论如何在Greenplum 4.3版本中利用PostgreSQL的贡献包`postgresql-8.3.23.tar.gz`来创建dblink,以便实现不同数据库之间的连接和...

    greenplum.jar.zip

    本文将详细讨论如何通过Java连接到Greenplum数据库,并重点介绍“greenplum.jar.zip”这个压缩包中的核心组件——greenplum.jar,它是实现Java应用程序与Greenplum数据库交互的关键。 首先,让我们了解一下...

    Greenplum db admin

    ### Greenplum Database 4.2 管理员指南知识点概述 #### 一、前言 ...这些知识点涵盖了 Greenplum 数据库的基本操作、安全性管理和日常维护等方面,对于初学者和经验丰富的数据库管理员都非常有用。

    Greenplum_4.3.6数据库官方文档汇总合集.rar

    - 数据库创建与管理:涉及数据库的创建、修改、删除,以及表空间、角色、权限等管理。 - 查询优化:讲解如何使用EXPLAIN分析查询计划,优化SQL语句,提升执行效率。 - 备份与恢复:介绍全备、增量备份策略,以及...

    greenplum-db-4.2.2.4-build-1-CE-RHEL5-i386

    - **启动与测试**:安装完成后,启动Greenplum数据库服务,并通过`psql`工具进行连接测试,确保数据库可以正常工作。 **3. README_INSTALL文件** `README_INSTALL`文件是安装指南,它提供了详细的安装步骤、注意...

Global site tag (gtag.js) - Google Analytics