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 ...
随机推荐
- ecshop点击订购、加入按钮没反应的解决方法
今天做ecshop站的时候,测试数据,发现点击订购.加入按钮都没反应,网上搜索,有些人说是修改了common.js,我将原始版本复原也没反映.后来重新安装ecshop,仔细研究发现,原来头部文件pag ...
- pat1052. Linked List Sorting (25)
1052. Linked List Sorting (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue A ...
- Unity C# ref与out
ref和out 都是按地址传递的,使用后都将改变原来的数值.ref 方法参数关键字使方法引用传递到方法的同一个变量.当控制传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中.若要使用 r ...
- Spring Bean相互依赖问题
如果是通过get,set 注入就不会有问题 如果是通过构造函数注入,SPRING就会报循环引用注入出错 循环依赖——在采用构造器注入的方式配置bean时,很有可能会产生循环依赖的情况.比如说,一个类A ...
- hibernate课程 初探一对多映射2-5 创建持久化类并配置映射文件
学习点: 1 一对多映射,一方 Grade.hbm.xml的写法: <hibernate-mapping> <class name="com.ddwei.entity.Gr ...
- Redis入门--(一)简介NoSQL
1.什么是NoSql? 2.为什么需要NoSQL? 互联网经历了1.0和2.0的发展: web1.0 是早期新浪,雅虎等只能浏览,不能交互: 传统关系型数据库在应付web2.0这种动态网站的时候力不从 ...
- 一道Java集合框架题
问题:某班30个学生的学号为20070301-20070330,全部选修了Java程序设计课程,给出所有同学的成绩(可用随机数产生,范围60-100),请编写程序将本班各位同学的成绩按照从低到高排序打 ...
- C++ Knowledge series Layering
Programming has its own methodology. Layering is everywhere in real life,this why the pruchase and s ...
- spring-cloud构架微服务(1)-全局配置
使用spring-cloud是基于熟悉springboot基础上进行的.本篇介绍全局配置,spring-boot版本就以1.4.0来做吧.项目地址: https://git.oschina.net/b ...
- Android开发基础
一.Android开发环境搭建 1.下载安卓SDK 官方下载地址:http://developer.android.com/sdk/index.html 2.下载安装JDK 官方下载地址:JDK6 h ...