深入OceanBase内部机制:多租户架构下的资源隔离实现精讲

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
日志服务 SLS,月写入数据量 50GB 1个月
简介: 深入OceanBase内部机制:多租户架构下的资源隔离实现精讲

oceanbase租户介绍

一、什么是OceanBase的多租户

OceanBase 数据库采用了单集群多租户设计,天然支持云数据库架构,支持公有云、私有云、混合云等多种部署形式。

OceanBase 数据库通过租户实现资源隔离,让每个数据库服务的实例不感知其他实例的存在,并通过权限控制确保租户数据的安全性,配合 OceanBase 数据库强大的可扩展性,能够提供安全、灵活的 DBaaS 服务。


租户是一个逻辑概念。在 OceanBase 数据库中,租户是资源分配的单位,是数据库对象管理和资源管理的基础,对于系统运维,尤其是对于云数据库的运维有着重要的影响。租户在一定程度上相当于传统数据库的"实例"概念。租户之间是完全隔离的。在数据安全方面,OceanBase 数据库不允许跨租户的数据访问,以确保用户的数据资产没有被其他租户窃取的风险。在资源使用方面,OceanBase 数据库表现为租户"独占"其资源配额。总体上来说,租户(tenant)既是各类数据库对象的容器,又是资源(CPU、Memory、IO 等)的容器。


二、兼容模式

OceanBase 数据库在一个系统中可同时支持 MySQL 模式和 Oracle 模式两种模式的租户。用户在创建租户时,可选择创建 MySQL 兼容模式的租户或 Oracle 兼容模式的租户,租户的兼容模式一经确定就无法更改,所有数据类型、SQL 功能、视图等相应地与 MySQL 数据库或 Oracle 数据库保持一致。


OceanBase 数据库社区版仅提供了 MySQL 模式。


2.1 MySQL 模式

MySQL 模式是为降低 MySQL 数据库迁移至 OceanBase 数据库所引发的业务系统改造成本,同时使业务数据库设计人员、开发人员、数据库管理员等可复用积累的 MySQL 数据库技术知识经验,并能快速上手 OceanBase 数据库而支持的一种租户类型功能。OceanBase 数据库的 MySQL 模式兼容 MySQL 5.7 的绝大部分功能和语法,兼容 MySQL 5.7 版本的全量以及 8.0 版本的部分 JSON 函数,基于 MySQL 的应用能够平滑迁移。


2.2 Oracle 模式

OceanBase 数据库从 V2.x.x 版本开始支持 Oracle 兼容模式。Oracle 模式是为降低 Oracle 数据库迁移 OceanBase 数据库的业务系统改造成本,同时使业务数据库设计开发人员、数据库管理员等可复用积累的 Oracle 数据库技术知识经验,并能快速上手 OceanBase 数据库而支持的一种租户类型功能。Oracle 模式目前能够支持绝大部分的 Oracle 语法和过程性语言功能,可以做到大部分的 Oracle 业务进行少量修改后的自动迁移。


三、租户介绍

OceanBase 数据库是多租户架构。在 V4.0.0 版本之前,仅支持两种类型的租户:系统租户和用户租户。从 V4.0.0 版本开始,引入了 Meta 租户概念。因此,当前版本对用户可见的租户有三种类型:系统租户、用户租户以及 Meta 租户。


3.1 系统租户

系统租户是集群默认创建的租户,与集群的生命周期一致,负责管理集群和所有租户的生命周期。系统租户仅有一个 1 号日志流,仅支持单点写入,不具备扩展能力。


系统租户可以创建用户表,所有的用户表和系统表数据均由 1 号日志流服务。系统租户的数据是集群私有的,不支持主备集群物理同步和物理备份恢复。


3.2 用户租户

用户租户是由用户创建的租户,对外提供完整的数据库功能,支持 MySQL 和 Oracle 两种兼容模式。用户租户支持服务能力水平扩展到多台机器上,支持动态扩容和缩容,内部会根据用户的配置自动创建和删除日志流。


用户租户的数据有更强的数据保护和可用性要求,支持跨集群物理同步和物理备份恢复,典型数据包括:Schema 数据、用户表数据及事务数据等。


OceanBase 数据库社区版仅提供了 MySQL 模式。


3.3 Meta 租户

Meta 租户是 OceanBase 数据库内部自管理的租户,每创建一个用户租户系统就会自动创建一个对应的 Meta 租户,其生命周期与用户租户保持一致。


Meta 租户用于存储和管理用户租户的集群私有数据,这部分数据不需要进行跨库物理同步以及物理备份恢复,这些数据包括:配置项、位置信息、副本信息、日志流状态、备份恢复相关信息、合并信息等。


3.4 租户架构

租户架构如下图所示,用户租户与 Meta 租户一一对应,系统租户与 Meta 租户有且仅有一个 1 号日志流,日志流为 LogStream,简称 LS。用户租户支持动态创建和删除日志流。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2天前
|
SQL 存储 关系型数据库
深入OceanBase内部机制:系统架构与组件精讲
深入OceanBase内部机制:系统架构与组件精讲
深入OceanBase内部机制:系统架构与组件精讲
|
2天前
|
存储 分布式数据库 数据库
深入OceanBase内部机制:分区构建高可用、高性能的分布式数据库基石
深入OceanBase内部机制:分区构建高可用、高性能的分布式数据库基石
|
2天前
|
SQL OLAP 数据库
深入OceanBase内部机制:资源隔离实现的方式总结
深入OceanBase内部机制:资源隔离实现的方式总结
|
2天前
|
存储 关系型数据库 MySQL
深入OceanBase内部机制:高性能分布式(实时HTAP)关系数据库概述
深入OceanBase内部机制:高性能分布式(实时HTAP)关系数据库概述
|
1月前
|
安全 Serverless API
Serverless架构在图像处理中展现出高成本效益,按需付费降低费用,动态调整资源避免浪费
【5月更文挑战第16天】Serverless架构在图像处理中展现出高成本效益,按需付费降低费用,动态调整资源避免浪费。其出色的并发处理能力和自动扩展确保高并发场景的顺利执行。简化开发流程,让开发者专注业务逻辑,同时提供丰富API和集成服务。安全方面,Serverless通过云服务商管理基础架构和多种安全机制保障任务安全。因此,Serverless是处理高并发、动态需求的理想选择,尤其适合图像处理领域。随着技术发展,其应用前景广阔。
36 4
|
1天前
|
缓存 监控 负载均衡
探索微服务架构中的API网关模式
在现代软件开发领域,微服务架构因其灵活性和可扩展性而备受青睐。本文将深入探讨微服务架构中至关重要的组件——API网关。通过分析API网关的核心功能、设计原则以及实际应用案例,我们旨在揭示其在提高系统性能、增强安全性及简化客户端与服务间通信中的重要作用。结合最新研究和实际开发经验,本文将为读者提供关于如何有效实施API网关的深刻见解。
|
16小时前
|
存储 负载均衡 云计算
微服务架构中的服务发现与注册机制
在分布式系统设计中,微服务架构因其灵活性和可伸缩性而受到青睐。本文深入探讨了微服务架构下的服务发现与注册机制,通过分析Eureka、Consul和Zookeeper等工具的原理与实践,揭示了这些机制如何优化服务间的通信和故障转移。文章结合最新研究和案例,提供了对微服务架构中关键组件的深刻见解,并讨论了其在不同场景下的应用效果。
|
19小时前
|
Kubernetes Java 测试技术
探索微服务架构的演变与实践
【6月更文挑战第28天】在数字化时代,软件架构不断演进以应对复杂多变的业务需求。本文将深入探讨微服务架构从概念到实践的发展过程,分析其设计原则、技术选型及实施策略,并结合作者亲身经验,阐述在微服务转型过程中的挑战与解决之道。
|
1天前
|
Kubernetes Cloud Native Serverless
云原生时代的微服务架构演进之路
【6月更文挑战第28天】在数字化转型的大潮中,企业不断寻求更高效、灵活的软件开发与部署方式。云原生技术因此应运而生,它不仅改变了应用的开发模式,也重塑了微服务架构的未来。本文将探讨云原生环境下微服务架构的演进路径,包括容器化、服务网格、无服务器计算等关键技术的应用与挑战,并展望未来微服务架构的发展方向。
|
1天前
|
负载均衡 Java API
使用Spring Cloud构建Java微服务架构
使用Spring Cloud构建Java微服务架构

热门文章

最新文章