Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Snova运维篇(九):gp数据库中数据的基本操作-1

Snova运维篇(九):gp数据库中数据的基本操作-1

原创
作者头像
snova-最佳实践
发布于 2019-12-30 10:19:41
发布于 2019-12-30 10:19:41
2.4K00
代码可运行
举报
运行总次数:0
代码可运行

本节主要从数据库中数据操作和管理的角度学习gp数据库。

目录:

  1. 定义数据库对象
  2. 管理数据
  3. 装载和卸载数据


基本概念:

表空间

一个表空间是一个存储位置,其中底层的基础数据库的对象可以保留。它在物理和逻辑数据之间提供了一个抽象层并用于所有DBMS管理的段分配储存。 创建后,可以在创建数据库段时按名称引用表空间。表空间仅指定数据库的储存位置,不指定数据库结构或数据库架构。

schema

(发音“skee-muh” 或者“skee-mah”,中文叫模式)是数据库的组织和结构,schemas andschemata都可以作为复数形式。

cascade

删除操作时,自动删除依赖对象


1.定义数据库对象

(一)创建和管理数据库

  • 模版数据库

不要在template1中创建任何对象,除非用户想要在每一个用户创建的数据库中都有那些对象。

用户可以使用template0来创建一个只包含Greenplum数据库在初始化时预定义的标准对象且完全干净的数据库

  • 创建一个数据库
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
=> CREATE DATABASE new_dbname;

客户端创建:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ createdb -h masterhost -p 5432 mydatabase  //可省略 -h -p 默认本地
  • 克隆一个数据库
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
=> CREATE DATABASE new_dbname TEMPLATE old_dbname;
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
testdb=# create database newtestdb template testdb;
CREATE DATABASE
testdb=# \l
                  List of databases
   Name    |  Owner  | Encoding |  Access privileges
-----------+---------+----------+---------------------
 komablog  | gpadmin | UTF8     |
 newtestdb | gpadmin | UTF8     |
 postgres  | gpadmin | UTF8     |
 template0 | gpadmin | UTF8     | =c/gpadmin
                                : gpadmin=CTc/gpadmin
 template1 | gpadmin | UTF8     | =c/gpadmin
                                : gpadmin=CTc/gpadmin
 testdb    | gpadmin | UTF8     |
(6 rows)
  • 查看数据库列表
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
testdb=# \l
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
testdb=# SELECT datname from pg_database;
  datname
-----------
 template1
 template0
 postgres
 testdb
 newtestdb
 komablog
(6 rows)
  • 修改一个数据库

修改search path配置参数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
testdb=# alter database testdb set search_path to   public, pg_catalog;
ALTER DATABASE
  • 删除一个数据库
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
testdb=# \c newtestdb
You are now connected to database "newtestdb" as user "gpadmin".
newtestdb=# drop database testdb;
DROP DATABASE
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ dropdb -h masterhost -p 5432 mydatabase
[gpadmin@gp-master ~]$ dropdb newtestdb;

(二)创建和管理表空间

一个表空间可以让多个数据库使用;而一个数据库可以使用多个表空间。属于"多对多"的关系。

查看现有表空间

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
komablog=# \db
          List of tablespaces
    Name    |  Owner  | Filespace Name
------------+---------+----------------
 pg_default | gpadmin | pg_system
 pg_global  | gpadmin | pg_system
(2 rows)
  • 创建一个文件空间
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
greenplum为什么会引入filespace的概念?
因为主机目录结构可能不一样,所以原有的目录结构式的方法来创建表空间,可能不够灵活。

一个表空间需要一个文件系统位置来存放它的数据库文件。文件空间可以被一个或者多个表空间使用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ su - gpadmin

查看现有的表空间和文件空间:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
komablog=# SELECT spcname as tblspc, fsname as filespc,
komablog-#           fsedbid as seg_dbid, fselocation as datadir
komablog-#    FROM   pg_tablespace pgts, pg_filespace pgfs,
komablog-#           pg_filespace_entry pgfse
komablog-#    WHERE  pgts.spcfsoid=pgfse.fsefsoid
komablog-#           AND pgfse.fsefsoid=pgfs.oid
komablog-#    ORDER BY tblspc, seg_dbid;
   tblspc   |  filespc  | seg_dbid |       datadir
------------+-----------+----------+----------------------
 pg_default | pg_system |        1 | /data/master/gpseg-1
 pg_default | pg_system |        2 | /data/primary/gpseg0
 pg_default | pg_system |        3 | /data/primary/gpseg1
 pg_default | pg_system |        4 | /data/master/gpseg-1
 pg_default | pg_system |        5 | /data/mirror/gpseg0
 pg_default | pg_system |        6 | /data/mirror/gpseg1
 pg_global  | pg_system |        1 | /data/master/gpseg-1
 pg_global  | pg_system |        2 | /data/primary/gpseg0
 pg_global  | pg_system |        3 | /data/primary/gpseg1
 pg_global  | pg_system |        4 | /data/master/gpseg-1
 pg_global  | pg_system |        5 | /data/mirror/gpseg0
 pg_global  | pg_system |        6 | /data/mirror/gpseg1
(12 rows)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
komablog=# select * from pg_tablespace;
  spcname   | spcowner | spclocation | spcacl | spcprilocations | spcmirlocations | spcfsoid
------------+----------+-------------+--------+-----------------+-----------------+----------
 pg_default |       10 |             |        |                 |                 |     3052
 pg_global  |       10 |             |        |                 |                 |     3052
(2 rows)

TEMPORARY_FILES和TRANSACTION_FILES对应的filespace如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[gpadmin@gp-master ~]$ gpfilespace --showtempfilespace
20191230:16:37:13:018274 gpfilespace:gp-master:gpadmin-[INFO]:-
A tablespace requires a file system location to store its database
files. A filespace is a collection of file system locations for all components
in a Greenplum system (primary segment, mirror segment and master instances).
Once a filespace is created, it can be used by one or more tablespaces.


20191230:16:37:13:018274 gpfilespace:gp-master:gpadmin-[INFO]:-Getting filespace information for TEMPORARY_FILES
20191230:16:37:14:018274 gpfilespace:gp-master:gpadmin-[INFO]:-Checking for filespace consistency
20191230:16:37:14:018274 gpfilespace:gp-master:gpadmin-[INFO]:-Obtaining current filespace entries used by TEMPORARY_FILES
20191230:16:37:15:018274 gpfilespace:gp-master:gpadmin-[INFO]:-TEMPORARY_FILES OIDs are consistent for pg_system filespace
20191230:16:37:16:018274 gpfilespace:gp-master:gpadmin-[INFO]:-TEMPORARY_FILES entries are consistent for pg_system filespace
20191230:16:37:16:018274 gpfilespace:gp-master:gpadmin-[INFO]:-Obtaining current filespace entries used by TEMPORARY_FILES
20191230:16:37:16:018274 gpfilespace:gp-master:gpadmin-[INFO]:-Current Filespace for TEMPORARY_FILES is pg_system
20191230:16:37:16:018274 gpfilespace:gp-master:gpadmin-[INFO]:-1    /data/master/gpseg-1
20191230:16:37:16:018274 gpfilespace:gp-master:gpadmin-[INFO]:-4    /data/master/gpseg-1
20191230:16:37:16:018274 gpfilespace:gp-master:gpadmin-[INFO]:-2    /data/primary/gpseg0
20191230:16:37:16:018274 gpfilespace:gp-master:gpadmin-[INFO]:-5    /data/mirror/gpseg0
20191230:16:37:16:018274 gpfilespace:gp-master:gpadmin-[INFO]:-3    /data/primary/gpseg1
20191230:16:37:16:018274 gpfilespace:gp-master:gpadmin-[INFO]:-6    /data/mirror/gpseg1
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
gpfilespace --showtransfilespace
[gpadmin@gp-master ~]$ gpfilespace --showtransfilespace
20191230:16:38:09:018508 gpfilespace:gp-master:gpadmin-[INFO]:-
A tablespace requires a file system location to store its database
files. A filespace is a collection of file system locations for all components
in a Greenplum system (primary segment, mirror segment and master instances).
Once a filespace is created, it can be used by one or more tablespaces.


20191230:16:38:09:018508 gpfilespace:gp-master:gpadmin-[INFO]:-Getting filespace information for TRANSACTION_FILES
20191230:16:38:09:018508 gpfilespace:gp-master:gpadmin-[INFO]:-Checking for filespace consistency
20191230:16:38:09:018508 gpfilespace:gp-master:gpadmin-[INFO]:-Obtaining current filespace entries used by TRANSACTION_FILES
20191230:16:38:11:018508 gpfilespace:gp-master:gpadmin-[INFO]:-TRANSACTION_FILES OIDs are consistent for pg_system filespace
20191230:16:38:12:018508 gpfilespace:gp-master:gpadmin-[INFO]:-TRANSACTION_FILES entries are consistent for pg_system filespace
20191230:16:38:12:018508 gpfilespace:gp-master:gpadmin-[INFO]:-Obtaining current filespace entries used by TRANSACTION_FILES
20191230:16:38:12:018508 gpfilespace:gp-master:gpadmin-[INFO]:-Current Filespace for TRANSACTION_FILES is pg_system
20191230:16:38:12:018508 gpfilespace:gp-master:gpadmin-[INFO]:-1    /data/master/gpseg-1
20191230:16:38:12:018508 gpfilespace:gp-master:gpadmin-[INFO]:-4    /data/master/gpseg-1
20191230:16:38:12:018508 gpfilespace:gp-master:gpadmin-[INFO]:-2    /data/primary/gpseg0
20191230:16:38:12:018508 gpfilespace:gp-master:gpadmin-[INFO]:-5    /data/mirror/gpseg0
20191230:16:38:12:018508 gpfilespace:gp-master:gpadmin-[INFO]:-3    /data/primary/gpseg1
20191230:16:38:12:018508 gpfilespace:gp-master:gpadmin-[INFO]:-6    /data/mirror/gpseg1

如果我们的greenplum集群中,有SSD硬盘,又有SATA硬盘。怎样更好的利用这些空间呢? 方法1: 用flashcache或bcache,通过device mapper技术,将SSD和SATA绑定,做成块设备。再通过 逻辑卷管理 或者 软RAID 或者 brtfs or zfs管理起来,做成大的文件系统。(还有一种方法是用RHEL 7提供的LVM,可以将SSD作为二级缓存)这种方法对GP来说,是混合动力,可以创建一个或多个文件系统(都具备混合动力)。所以建议只需要一个pg_system filespace就够了(除非容量到了文件系统管理的极限,那样的话可以分成多个文件系统)。用多个文件系统的情况下,就需要对每个文件系统,创建对应的目录,以及filespace。

方法2. SSD和SATA分开,各自创建各自的文件系统。 对每个文件系统,创建对应的目录,以及filespace。

  • 删除表空间和文件空间

DROP TABLESPACE命令移除一个空的表空间。

DROP FILESPACE命令移除一个空的文件空间。

(二)创建和管理schema

  • 创建一个模式
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
komablog=# CREATE SCHEMA myschema;
CREATE SCHEMA
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CREATE SCHEMA schemaname AUTHORIZATION username;
  • 设置搜索路径
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
komablog=# alter database testdb set search_path to myschema,public,pg_catalog;
ALTER DATABASE
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ALTER ROLE sally SET search_path TO myschema, public, 
pg_catalog;
  • 查看当前方案
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
komablog=# select current_schema;
 current_schema
----------------
 public
(1 row)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
komablog=# drop schema myschema;
DROP SCHEMA

要删除一个方案连同其中的所有对象(表、数据、函数等等),可以使用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
=> DROP SCHEMA myschema CASCADE;
  • 系统schema

pg_catalog

包含着系统目录表、内建数据类型、函数和操作符

information_schema

包含数据库中对象信息的视图集合组成

pg_toast

存储大型对象,如超过页面尺寸的记录

pg_bitmapindex

存储位图索引对象,例如值的列表。

pg_aoseg

存储追加优化表对象

gp_toolkit

包含用户可以用SQL命令访问的外部表、视图和函数

(三)创建和管理表

  • 设置表和字段约束

CHECK约束只能引用它所在的表。 UNIQUE和PRIMARY KEY约束必须和它们所在表的分布键和分区键(如果有)兼容。

允许FOREIGN KEY约束,但不会被强制。

用户在分区表上定义的约束将作为整体应用到分区表上。用户不能在该表的单独的部分上定义约束。

  • check约束
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
=> CREATE TABLE products 
            ( product_no integer, 
              name text, 
              price numeric CHECK (price > 0) );
  • not null
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
=> CREATE TABLE products 
       ( product_no integer NOT NULL,
         name text NOT NULL,
         price numeric );
  • unique
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
=> CREATE TABLE products 
       ( product_no integer UNIQUE, 
         name text, 
         price numeric)
      DISTRIBUTED BY (product_no);
  • primary key
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
=> CREATE TABLE products 
       ( product_no integer PRIMARY KEY, 
         name text, 
         price numeric)
      DISTRIBUTED BY (product_no);
  • 外键

不支持,gp数据库目前不支持外键

  • 表的分布策略

DISTRIBUTED BY(哈希分布)或者 DISTRIBUTED RANDOMLY(循环分布)

分布策略基本原则:

均匀数据分布

本地和分布式操作

均匀查询处理

  • 声明分布键
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
=> CREATE TABLE products
                        (name varchar(40),
                         prod_id integer,
                         supplier_id integer)
             DISTRIBUTED BY (prod_id);
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
=> CREATE TABLE random_stuff
                        (things text,
                         doodads text,
                         etc text)
             DISTRIBUTED RANDOMLY;

(四) 选择表的存储模型

Greenplum数据库支持多种存储模型和一种混合存储模型

  • 堆存储

堆表最适合于较小的表,例如维度表,它们在初始载入数据后会经常被更新。常用语OLTP业务中

  • 追加优化存储

追加优化表的存储模型是为批量数据装载优化的,因此不推荐单行的INSERT语句。

  • 创建一个堆表
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
komablog=#  CREATE TABLE foo (a int, b text) DISTRIBUTED BY (a);
CREATE TABLE
komablog=# \dt
               List of relations
 Schema |   Name   | Type  |  Owner  | Storage
--------+----------+-------+---------+---------
 public | foo      | table | gpadmin | heap
 public | twitters | table | gpadmin | heap
 public | users    | table | gpadmin | heap
(3 rows)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
=> CREATE TABLE bar (a int, b text) 
    WITH (appendonly=true)
    DISTRIBUTED BY (a);
    
    
komablog=# CREATE TABLE bar (a int, b text)
komablog-#     WITH (appendonly=true)
komablog-#     DISTRIBUTED BY (a);
CREATE TABLE
komablog=# \dt
                 List of relations
 Schema |   Name   | Type  |  Owner  |   Storage
--------+----------+-------+---------+-------------
 public | bar      | table | gpadmin | append only
 public | foo      | table | gpadmin | heap
 public | twitters | table | gpadmin | heap
 public | users    | table | gpadmin | heap
(4 rows

面向行的存储:适合OLTP类型业务

面向列的存储:适合于在少量列上计算数据聚集的数据仓库负载,或者是用于需要对单列定期更新但不修改其他列数据的情况。

  • 创建一个面向列的表
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
komablog=# CREATE TABLE bar1 (a int, b text)    WITH (appendonly=true, orientation=column)    DISTRIBUTED BY (a);
CREATE TABLE

komablog=# \dt
                     List of relations
 Schema |   Name   | Type  |  Owner  |       Storage
--------+----------+-------+---------+----------------------
 public | bar      | table | gpadmin | append only
 public | bar1     | table | gpadmin | append only columnar
 public | foo      | table | gpadmin | heap
 public | twitters | table | gpadmin | heap
 public | users    | table | gpadmin | heap
(5 rows)
  • 使用压缩

表方向

可用的压缩类型

支持的算法

ZLIB以及 QUICKLZ1

列和表

RLE_TYPE、ZLIB以及 QUICKLZ1

  • 创建一个压缩表
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
komablog=# \d foo
Append-Only Table "public.foo"
 Column |  Type   | Modifiers
--------+---------+-----------
 a      | integer |
 b      | text    |
Compression Type: zlib
Compression Level: 5
Block Size: 32768
Checksum: t
Distributed by: (a)
  • 检查追加优化表的压缩和分布
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
=# SELECT get_ao_distribution('lineitem_comp');
 get_ao_distribution
---------------------
(0,7500721)
(1,7501365)
(2,7499978)
(3,7497731)
(4 rows)
  • 存储指令示例
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CREATE TABLE T1 (c1 int ENCODING (compresstype=zlib),
                  c2 char ENCODING (compresstype=quicklz, blocksize=65536),
                  c3 char     WITH (appendonly=true, orientation=column);
  • type中增加压缩

定义comptype

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CREATE TYPE comptype (
   internallength = 4,
   input = comptype_in,
   output = comptype_out,
   alignment = int4,
   default = 123,
   passedbyvalue,
   compresstype="quicklz",
   blocksize=65536,
   compresslevel=1
   );
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CREATE TABLE t2 (c1 comptype)
    WITH (APPENDONLY=true, ORIENTATION=column);
  • 修改一个表

ALTER TABLE可以更改表的属性,例如列定义、分布策略、存储模型以及分区结构

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ALTER TABLE address ALTER COLUMN street SET NOT NULL;
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ALTER TABLE sales SET DISTRIBUTED BY (customer_id); 
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ALTER TABLE sales SET DISTRIBUTED RANDOMLY;

改成随机分布,不会立即产生效果。

  • 数据重新分布
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ALTER TABLE sales SET WITH (REORGANIZE=TRUE);

重新组织数据对于更正一个数据倾斜问题是必要的,当系统中增加了Segment资源后也需要重新组织数据

  • 修改表的存储类型

创建新表,载入原始数据,删除旧表,改名新表,重新授权用户

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CREATE TABLE sales2 (LIKE sales) 
WITH (appendonly=true, compresstype=quicklz, 
      compresslevel=1, orientation=column);
INSERT INTO sales2 SELECT * FROM sales;
DROP TABLE sales;
ALTER TABLE sales2 RENAME TO sales;
GRANT ALL PRIVILEGES ON sales TO admin;
GRANT SELECT ON sales TO guest;
  • 增加压缩列
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ALTER TABLE T1
      ADD COLUMN c4 int DEFAULT 0
      ENCODING (COMPRESSTYPE=zlib);
  • 设置压缩继承
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CREATE TABLE ccddl (i int, j int, k int, l int)
  WITH
    (APPENDONLY = TRUE, ORIENTATION=COLUMN)
  PARTITION BY range(j)
  SUBPARTITION BY list (k)
  SUBPARTITION template(
    SUBPARTITION sp1 values(1, 2, 3, 4, 5),
    COLUMN i ENCODING(COMPRESSTYPE=ZLIB),
    COLUMN j ENCODING(COMPRESSTYPE=QUICKLZ),
    COLUMN k ENCODING(COMPRESSTYPE=ZLIB),
    COLUMN l ENCODING(COMPRESSTYPE=ZLIB))
  (PARTITION p1 START(1) END(10),
   PARTITION p2 START(10) END(20))
;

ALTER TABLE ccddl
  ADD PARTITION p3 START(20) END(30)
;
  • 删除一个表
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
DROP TABLE mytable; //删除
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制

TRUNCATE mytable; //清空

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
暂无评论
推荐阅读
编辑精选文章
换一批
Snova运维篇(三):GP数据库备份和恢复
本节主要从gp数据备份和恢复角度深入学习gp数据库。定期执行备份能确保在数据损坏或者系统失效发生时能恢复数据或者重建Greenplum数据库系统。用户还可以使用备份从一个Greenplum数据库系统迁移数据到另一个。
snova-最佳实践
2019/12/26
2.1K0
Snova运维篇(三):GP数据库备份和恢复
在Docker中快速体验GreenPlum 7.0.0和gpcc 7.0.0
GreenPlum 7.0.0正式版已于2023.09.29发布,基于PG 12.12内核版本。
AiDBA宝典
2023/11/16
9810
在Docker中快速体验GreenPlum 7.0.0和gpcc 7.0.0
Snova运维篇(二):GP集群配置和高可用特性
Greenplum数据的配置文件postgresql.conf位于数据库实例的数据目录之下。
snova-最佳实践
2019/12/24
1.4K0
Snova运维篇(二):GP集群配置和高可用特性
GreenPlum数据库故障恢复测试
环境介绍: Gpdb版本:5.5.0 二进制版本 操作系统版本: CentOS linux 7.0 Master segment: 192.168.1.225/24 hostname: mfsmaster Stadnby segemnt: 192.168.1.227/24 hostname: server227 Segment 节点1: 192.168.1.227/24 hostname: server227 Segment 节点2: 192.168.1.17/24 hostname: server17 Segment 节点3: 192.168.1.11/24 hostname: server11 每个segment节点上分别运行一个primary segment和一个mirror segment
星哥玩云
2022/08/16
8780
GreenPlum数据库故障恢复测试
在Docker中快速体验GreenPlum 7.0.0
地址:https://hub.docker.com/r/lhrbest/greenplum/tags
AiDBA宝典
2023/08/10
1.4K0
在Docker中快速体验GreenPlum 7.0.0
Snova运维篇(七):GP数据迁移和监控
gptransfer会为每个源Segment设置一个命名管道和一个gpfdist进程。这是用于最优数据传输率的配置并且被称为Fast模式。
snova-最佳实践
2019/12/27
2.4K0
Snova运维篇(七):GP数据迁移和监控
一文了解GreenPlum
行式数据库是按照行存储的,行存储就是各行放入连续的物理位置,就行我们平时写字一样,一行一行的写,读取的时候也是一行一行的读取。像SQL server,Oracle,mysql等传统的关系型数据库都属于行式数据库范畴。
数据社
2020/06/04
1.5K0
一文了解GreenPlum
GreenPlum为master和segment添加镜像
在已经安装的 Greenplum DB ,给 master 节点添加 standby master 节点 。
AiDBA宝典
2023/11/18
5910
GreenPlum为master和segment添加镜像
Greenplum 5.21.1 集群安装部署详述
简单来说GPDB是一个分布式数据库软件,其可以管理和处理分布在多个不同主机上的海量数据。对于GPDB来说,一个DB实例实际上是由多个独立的PostgreSQL实例组成的,它们分布在不同的物理主机上,协同工作,呈现给用户的是一个DB的效果。Master是GPDB系统的访问入口,其负责处理客户端的连接及SQL 命令、协调系统中的其他Instance(Segment)工作,Segment负责管理和处理用户数据。
星哥玩云
2022/08/18
1.1K0
Greenplum 5.21.1 集群安装部署详述
GreenPlum管理数据库
在后备Master主机上,移动或者移除数据目录gpseg-1。这个例子移动该目录:
AiDBA宝典
2023/11/16
4610
GreenPlum管理数据库
Snova运维篇(八):GP数据库访问管理及认证
Master实例的pg_hba.conf文件控制对Greenplum数据库系统的客户端访问及认证。
snova-最佳实践
2019/12/30
1.1K0
Snova运维篇(八):GP数据库访问管理及认证
故障分析 | Greenplum Segment 故障处理
我们知道Greenplum集群由Master Severs和Segment Severs组成。其中故障存在三种类别:Master故障、Segment故障、数据异常。之前我们已经聊过“Master故障”和“数据异常”的处理方式,今天将介绍Segment故障的处理方式。
爱可生开源社区
2023/02/02
2.1K0
GreenPlum 6.19.3 安装部署基础版
Greenplum是一个面向数据仓库应用的关系型数据库,因为有良好的体系结构,所以在数据存储、高并发、高可用、线性扩展、反应速度、易用性和性价比等方面有非常明显的优势。Greenplum是一种基于PostgreSQL的分布式数据库,其采用sharednothing架构,主机、操作系统、内存、存储都是自我控制的,不存在共享。 本质上讲Greenplum是一个关系型数据库集群,它实际上是由数个独立的数据库服务组合成的逻辑数据库。与RAC不同,这种数据库集群采取的是MPP(Massively Parallel Processing)架构。跟MySQL、Oracle 等关系型数据不同,Greenplum可以理解为分布式关系型数据库。 关于Greenplum的更多信息请访问https://greenplum.org/
AiDBA宝典
2023/04/27
1.7K0
GreenPlum 6.19.3 安装部署基础版
HAWQ技术解析(六) —— 定义对象
本文介绍了HAWQ中的一些基本概念和操作,包括创建表、插入数据、删除表和视图、查看表定义、查看视图定义、表的存储、表的清理以及过程语言。同时,还介绍了如何通过HAWQ访问HDFS文件系统。
用户1148526
2018/01/03
3K0
GreenPlum 7.1.0新特性介绍
GreenPlum 7.0.0于2023-09-28发布,大约半年后,GreenPlum 7.1.0于2024-02-09发布。
AiDBA宝典
2024/02/26
1K1
GreenPlum 7.1.0新特性介绍
Greenplum集群Master与Standby相互切换
本文档主要测试Greenplum集群的Master与Standby节点异常后数据同步问题,之相互切换的过程。在操作时通过手动停掉Master节点看Standby节点是否能正常的启动,期间是否有数据不同步的问题,再通过恢复原Master节点查看集群是否正常运行。在切换期间要注意Master与Standby脑裂的情况的发生。
小徐
2020/10/19
2.5K0
Greenplum集群Master与Standby相互切换
Greenplum 7 新特性整理
参考:https://www.xmmup.com/zaidockerzhongkuaisutiyangreenplum-7-0-0.html
AiDBA宝典
2023/10/16
1.4K0
Greenplum 7 新特性整理
Greenplum测试环境部署
本实例是部署实验环境,采用的是Citrix的虚拟化环境,分配了3台RHEL6.4的主机。
Alfred Zhao
2019/05/24
1.8K0
greenplum gpcrondump命令使用
https://gp-docs-cn.github.io/docs/admin_guide/managing/backup-gpcrondump.html
小徐
2019/05/21
2K0
greenplum gpcrondump命令使用
在CentOS 8.4中安装GreenPlum 6
https://network.pivotal.io/products/vmware-tanzu-greenplum#/releases/1163282/file_groups/9837
AiDBA宝典
2023/11/22
1.2K0
在CentOS 8.4中安装GreenPlum 6
相关推荐
Snova运维篇(三):GP数据库备份和恢复
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档