OB如何创建租户
一、 先导知识:
资源隔离是保证用户间相互不受影响的重要手段。数据库的资源隔离主要有以下方式:
l 服务器隔离
l 数据库隔离:sqlserver、oceanbase、oracle 12c、informix、TDSQL
l Schema隔离:oracle(before 12c)、mysql、DB2
OceanBase的资源隔离
在OceanBase集群中,每当有业务需要使用数据库时,在该集群上为其创建一个租户。通过租户实现资源隔离,采用“单实例多租户”的管理模式。每个用户在OceanBase上都有对应的租户信息,一个租户相当于MYSQL上的一个实例,根据用户的需求,用户对应的租户绑定指定规格的资源,包括CPU核数、内存、存储空间等。
OceanBase上有系统租户和用户租户都有root权限账号
l 系统租户存放OceanBase数据库管理的各种内部元数据信息
l 用户租户下存放用户的各种数据和数据库元信息

二、 如何创建租户
创建租户流程步骤:
- 创建单元
CREATE RESOURCE UNIT unitname
MAX_CPU [=] cpunum,
MAX_MEMORY [=] memsize,
MAX_IOPS [=] iopsnum,
MAX_DISK_SIZE [=] disksize,
MAX_SESSION_NUM [=] sessionnum,
[MIN_CPU [=] cpunum,]
[MIN_MEMORY [=] memsize,]
[MIN_IOPS [=] iopsnum] ;
创建资源单元配置时, MAX_CPU、MAX_MEMORY、MAX_IOPS、MAX_DISK_SIZE、MAX_SESSION_NUM必须指定。MIN_CPU、 MIN_MEMORY、MIN_IOPS可选,默认值和MAX_CPU、MAX_MEMORY、 MAX_IOPS 保持一致。
|
参数 |
取值范围 |
单位 |
备注 |
|
MAX_MEMORY |
[1073741824, +∞) |
字节 |
最小值为1G,写成带单位的形式,如‘1G’,‘100M’等 |
|
MAX_IOPS |
[128,+∞) |
||
|
MAX_DISK_SIZE |
[536870912,+∞] |
字节 |
最小值为512M,写成带单位的形式,如‘1G’,‘100M’等 |
|
MAX_SESSION_NUM |
[64,+∞) |
- 创建资源池
CREATE RESOURCE POOL poolname
UNIT [=] unitname,
UNIT_NUM [=] unitnum,
ZONE_LIST [=] ('zone' [, 'zone' …]);
资源池中包含 N 个资源单元,同时必须指定所属的 ZONE LIST(集群)。若需要包含N个资源单元,需多次使用create添加相应的资源池。在用户手册中,资源池是存在修改的命令的方式,但经过真实测试,在1.X的版本中无法对资源池进行修改。若需要修改,那是一个比较繁琐的流程。
- 创建租户
CREATE TENANT [IF NOT EXISTS] tenantname
[tenant_characteristic_list]
tenant_characteristic_list:
tenant_characteristic [, tenant_characteristic...]
tenant_characteristic:
COMMENT 'string'
|{CHARACTER SET | CHARSET} [=] charsetname
|COLLATE [=] collationname
|REPLICA_NUM [=] num
|ZONE_LIST [=] (zone [, zone…])
|PRIMARY_ZONE [=] zonelist
|DEFAULT TABLEGROUP [=] {NULL | tablegroup}
|RESOURCE_POOL_LIST [=](poolname [, poolname…])
|LOCALITY [=] locality;
如果要创建的租户名已存在,并且没有指定 IF NOT EXISTS,则会出现错误租户名的合法性和变量名一致,最长 64 个字节,只能有大小写英文字母,数字和下划线,而且必须以字母或下划线开头,并且不能是 OceanBase 的关键字。只有用 root 用户连接到系统租户才能执行 CREATE TENANT 去创建租户。
三、 小结:
OceanBase是阿里在Paas数据库云上的解决方案。它的优点在于可以根据租户的资源使用情况,进行调配(可看下图),但生产系统上严禁出现超卖的情况。若发生超卖的情况,在某一个副本故障时其他两个副本有可能无法接管业务。系统租户用户无法查询到其他租户的信息,这方面的安全性比oracle12c做得更好,个人觉得更适合在公有云上大展手脚。

代表一个租户
OB如何创建租户的更多相关文章
- openstack私有云布署实践【15 创建租户网络+实例】
这里以办公网测试环境为例, (一)创建租户demo的网络 使用admin用户 source admin-openrc.sh 创建public公网 neutron net-create 1040 ...
- 版本12.2.0.1.0数据库,复制种子数据库快速创建租户数据库PDB
实验测试:快速创建一个数据库PDB2: 实验环境:12.2.0.1.0版本数据库,dbca图形化安装,现有环境,CDB容器数据库ORCL,PDB可插拔数据库ABC ---查询CDB名称,状态 SQ ...
- openstack 租户、用户管理
创建domain [root@cc01 ~]# openstack domain create --description "Default Domain" default +-- ...
- OpenStack Train版-12.创建虚拟网络并启动实例(控制节点)
使用VMware虚拟机创建网络可能会有不可预测到的故障,可以通过dashboard界面,管理员创建admin用户的网络环境 1.第一种: 建立公共提供商网络在admin管理员用户下创建 source ...
- 如何用Serverless让SaaS获得更灵活的租户隔离和更优的资源开销
关于SaaS和Serverless,相信关注我的很多读者都已经不陌生,所以这篇不会聊它们的技术细节,而将重点放在SaaS软件架构中引入Serverless之后,能给我们的SaaS软件带来多大的收益. ...
- efcore使用ShardingCore实现分表分库下的多租户
efcore使用ShardingCore实现分表分库下的多租户 介绍 本期主角:ShardingCore 一款ef-core下高性能.轻量级针对分表分库读写分离的解决方案,具有零依赖.零学习成本.零业 ...
- efcore在Saas系统下多租户零脚本分表分库读写分离解决方案
efcore在Saas系统下多租户零脚本分表分库读写分离解决方案 ## 介绍 本文ShardinfCore版本x.6.0.20+ 本期主角: - [`ShardingCore`](https://gi ...
- OceanBase数据库实践入门——手动搭建OceanBase集群
前言 目前有关OceanBase功能.案例.故事的文章已经很多,对OceanBase感兴趣的朋友都想安装一个数据库试试.本文就是分享初学者如何手动搭建一个OceanBase集群.这也是学习理解Ocea ...
- Hitachi Content Platform学习
相关资料:https://community.hds.com/groups/developer-network-for-hitachi-content-platform/content?filterI ...
随机推荐
- Gradient Boosting算法简介
最近项目中涉及基于Gradient Boosting Regression 算法拟合时间序列曲线的内容,利用python机器学习包 scikit-learn 中的GradientBoostingReg ...
- npm package.json字段全解
name 在package.json中最重要的就是name和version字段.他们都是必须的,如果没有就无法install.name和version一起组成的标识在假设中是唯一的.改变包应该同时改变 ...
- ab (ApacheBench)命令
ab (ApacheBench)命令 参数 -n 在测试会话中所执行的请求个数.默认时,仅执行一个请求 -c 一次产生的请求个数.默认是一次一个 -t 测试所进行的最大秒数 -k 启用HTTP Kee ...
- 深入理解mvc 一系列收藏
http://www.cnblogs.com/P_Chou/archive/2010/11/01/1866605.html
- LOJ#137. 最小瓶颈路 加强版(Kruskal重构树 rmq求LCA)
题意 三倍经验哇咔咔 #137. 最小瓶颈路 加强版 #6021. 「from CommonAnts」寻找 LCR #136. 最小瓶颈路 Sol 首先可以证明,两点之间边权最大值最小的路径一定是在最 ...
- playbook+roles
playbook setup ansible_all_ipv4_addresses # ipv4的所有地址 ansible_all_ipv6_addresses # ipv6的所有地址 ansible ...
- centos7服务器搭建javaweb运行环境及代码部署
之前在一直在学习java web终于写完了第一个小demo,于是在阿里云上买了一个服务器,开始了配置服务器环境的踩坑之旅.... ps:本文不讨论服务器配置的具体步骤,网上都很多,按部就班就是,本文主 ...
- RAL调用
[RPC的定义].RPC的全称为 Remote Procedure Call(远程过程调用).远程过程调用是一个计算机通信协议.该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额 ...
- SQL SERVER 错误代码 0x534
解决办法就是修改一下登陆名: ALTER LOGIN [G-PC\zqwang] WITH NAME=[新的机器名\zqwang]; 然后查询一下 Service Broker 队列, 里面已经有 ...
- WEB渗透测试之三大漏扫神器
通过踩点和查点,已经能确定渗透的目标网站.接下来可以选择使用漏扫工具进行初步的检测,可以极大的提高工作的效率. 功欲善其事必先利其器,下面介绍三款适用于企业级漏洞扫描的软件 1.AWVS AWVS ( ...