发布于

偶数ODCP学习笔记

OUSHUDB 学习笔记

0、概述
一个 OushuDB 集群管理着多个数据库(database),每个数据库又包含多个模式(schema), 一个模式包含多个对象(表,视图,函数等),所以这些对象之间的层级结构为:
database -> schema -> (tables, functions, views)
每个模式,表,视图,函数等只属于一个 database。

0.1、数据库
OushuDB 在初始化完成后,会默认生成三个数据库,可以使用 l 命令查看,或者查看 pg_database 系统表。
postgres=# \l
List of databases
Name | Owner | Encoding | Access privileges
-----------+----------+----------+-------------------
postgres | ChangLei | UTF8 |
template0 | ChangLei | UTF8 |
template1 | ChangLei | UTF8 |
(4 rows)
其中 template0 和 template1 为模版数据库。template1 为系统默认用来创建新数据库的模版数据库,用户可以修改。template0 默认不接受连接,所以不可更改,目的是始终保存一个干净的模版数据库。
创建一个数据库的时候,可以指定一个数据库的模版数据库。缺省为 template1,现在 OushuDB 只支持以 template0,template1 和 postgres 数据库为模版数据库。

0.2、模式
一个数据库包含多个模式(schema),而一个模式可以包含多种命名对象,比如表,数据类型,函数,操作符等。同一个对象名字可以用在不同的模式中而不产生冲突。比如 schema1 中可以包含表 test,schema2 中也可以同时包含名字为 test 的表。从这个意义上,模式很像一个命名空间(namespace)。
当创建一个对象时,默认被放置在 public 模式中。下面是系统默认创建的 schema。
template1=# \dn
List of schemas
Name | Owner
---------------------------+----------
hawq_toolkit | ChangLei
information_schema | ChangLei
pg_aoseg | ChangLei
pg_bitmapindex | ChangLei
pg_catalog | ChangLei
pg_toast | ChangLei
public | ChangLei
(7 rows)
通常在这样几个场景下,用户需要使用模式:
• 允许多个用户同时使用一个数据库,而不产生名字冲突。
• 把数据库对象组织成多个 schema,好像是多个命名空间一样
• 第三方应用可以把它们的对象放到一个单独的 schema 中,而不和其他对象产生冲突。
注意:schema 不可以嵌套,也就是说,schema 中不可以再包含 schema。

1、安装

2、管理

2.1 启动关闭
启动/停止 OushuDB

启动 OushuDB 有两种方式,一种是通过”oushudb start cluster”命令来启动整个集群,包括 master 和 segment。启动哪些 segment 是由
”/usr/local/oushu/conf/oushudb/oushudb-topology.yaml”中包含的节点确定的。
第一种方式:启动整个集群
source /usr/local/oushu/oushudb/oushudb_path.sh # 设置 OushuDB 环境变量
oushudb start cluster # 启动整个 OushuDB 集群
第二种方式:分区启动 main 和 segment
因为 OushuDB master 和 segment 是解耦合的,分别启动 master 和 segment 是可行的。
oushudb start main # 启动 master,指的是启动本地 master
oushudb start segment # 启动 segment,指的是启动本地 segment

重新启动或者停止 OushuDB 也有两种方式:

方式一

oushudb restart cluster # 重启 OushuDB 集群
oushudb stop cluster # 停止 OushuDB 集群

方式二

oushudb restart main # 重启本机的 OushuDB master
oushudb restart segment # 重启本机的 OushuDB segment

oushudb stop main # 停止本机 OushuDB master
oushudb stop segment # 停止本机 OushuDB segment

启动/停止 Magma

OushuDB 实现了单独起停 Magma 服务,具体命令如下:

方式一 OushuDB 集群起停带 Magma 服务 [oushudb init|start|stop cluster 命令可以带--with_magma 选项]

oushudb init cluster --with_magma # 启动 OushuDB 集群时,使用--with_magma 选项,同时启动 Magma 服务, 3.X 版本不支持。

方式二 Magma 服务单独起停

magma start|stop|restart cluster
magma start|stop|restart node

关于 OushuDB 命令的详细用法,可以通过”oushudb –help”命令得到。

changlei:build ChangLei$ oushudb --help

usage: oushudb [

评论
    test