学习笔记(三) | OceanBase

简介: Oceanbase数据库工程师认证学习笔记

(四)OceanBase集群技术架构

第一节:Paxos协议与负载均衡

  1. 数据分区与分区副本:

(1)分区:(OceanBase数据架构基本单元)

可以将一个表水平拆分为若干分区,每个分区包含表的若干记录,根据行数据到分区的映射关系不同,分为:hash分区、List分区(按列表)、range分区(按范围);每一个分区还可用不同的维度再分若干分区,叫二级分区

(2)副本:

为了具备安全和高可用性的服务,每个分区的数据在物理上存储多份,每一份叫做分区的一个副本;

副本支持迁移、复制、增删、类型转换等管理操作。

注:每个副本中由一个主副本和多个从副本构成,每个Zone只会包含一个分区的副本

  1. 副本构成:记录事务日志、存储在内存中的增量数据(MemTable)、硬盘上的静态数据(SSTable)

副本分类:

全能型副本:包含事务日志、MemTrable、SSTable等数据,参与投票。

日志型副本:包含日志副本,没有MemTable、SSTable,参与投票

只读型副本:包含完整的日志、MemTable、SSTable等,不属于paxos组,但是listener

注:一个分区在一个Zone中最多有一个全功能或日志型副本;只读型副本在同一个Zone中可有多个

  1. 多副本一致性协议

(1)以分区为单位组建Paxos协议组:

每个分区都有多个副本,自动组建paxos组,在分区级用多副本保证数据可靠性和服务高可用,数据管理更加灵活方便。

(2)自动选举主副本:

OB自动生成多份副本,多副本自动选举主副本,主副本提供服务。
  1. 自动负载均衡与智能路由:

(1)自动负载均衡:

主副本均匀打散到各个服务器中,使得各个服务器均能承载业务流量。

(2)每台OB Server 相互独立:

每台OB Server均可以独立执行SQL,如果应用需要访问的数据在不同机器上,OB Server自动将请求路由放至数据所在的机器,对业务完全透明。
  1. 通过多副本同步Redo Log确保数据持久性

(1)Paxos组成员通过Redo-Log的多数派强同步,确保数据的持久性。

(2)Leader无需等待所有Follower的反馈,多数派完成同步即可应用反馈成功

  1. OB Proxy为应用提供智能路由服务,应用透明访问:

(1)高效路由转发

对SQL做基础解析,确定对应Leader所在的机器

反向代理,将请求路由转发至对应Leader;无法确定位置随机选定OB Server

轻量SQL解析+快速转发,保证高性能

注:单OB Proxy每秒转发百万次请求

(2)“非”计算节点,无状态

每个OB Proxy是一个“无状态”的服务进程,不做数据持久化,对部署位置无要求

OB Proxy不参与数据库引擎的计算任务,不参与事务处理

使用多个OB Proxy时较复杂,则可通过在OB Proxy服务器之前创建一个由FS/SLB组成的负载均衡集群;

无需独立服务器,可与OB Server共用一台服务器或可将OB Proxy部署到应用服务器中

OB Proxy可以与应用服务器部署到一起,可对延时有较好控制;也可以不同服务器

  1. 设置Primary Zone,将业务汇聚到特定Zone:

(1)配置一:(z1 , z2 , z3)

意义:Zone_1=Zone_2=Zone_3

主副本(Leader)均匀分布在各机器;

适合批处理场景,希望尽快跑完,不关注某个sql的执行时间,期望让整体任务尽快完成

(2)配置二:(z1 ; z2 ; z3)

意义:Zone_1 > Zone_2 > Zone_3

主副本(Leader)只在Zone1存在,Zone2和Zone3是从副本;

适合对时延敏感的在线处理业务有,业务量不大,不超过一台机器的处理能力,可尽量避免跨服务器时间,从而降低时延。

(3)配置三:(z1 , z2 ; z3)

意义:(Zone_1 = Zone_2)>Zone_3

主副本(Leader)均匀分布在Zone1和Zone2,Zone3是从副本;

适合三地五中心方案,将业务汇聚到距离较近的城市,距离较远城市只承担从副本角色

注:通过为不同租户设置不同的Primary Zone,可以将业务流量集中到若干Zone中,减少跨Zone及服务器的操作。ZoneList,逗号两侧优先级相同,分号左侧优先级高于右侧

  1. PrimaryZone有租户、数据库和表不同的级别:

(1)如果无特殊指定,自动继承上级对象的primary_zone:database继承租户的primary_zone设置,table继承database的primary_zone设置

(2)database和table可以指定各自的primary_zone,不必和上一级对象的设置保持一致;提供更加灵活的负载均衡策略

部分解释:

多副本一致性协议:

(1)OceanBase的Paxos组以分区为单位,可以产生更详细力度的系统管控

(2)对于OBserver中的主从副本分配无需人工干预

(3)默认副本是均匀分布在Zone的各个Observer中

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
SQL 缓存 关系型数据库
OBCP题目及解析
OBCP题目及解析
1452 0
|
SQL 缓存 数据库
OBCP考点总结二
OBCP考点总结二
250 0
|
关系型数据库 MySQL 数据库
2分钟教你用DTS做数据库迁移
工作或者个人开发中,使用的数据库快到期了。不想续费,想换个数据库用,比如从阿里云换到腾讯云数据库。原有的数据怎么一键迁移到新数据库呢,今天就教大家用阿里云DTS做数据库的迁移
1263 0
|
测试技术 Python
将秒换算成时、分、秒
本文介绍了使用Python将总秒数转换为小时、分钟和秒的格式的方法,包括定义转换函数和格式化输出函数,并提供了完整的代码实现及测试用例,帮助用户更友好地展示时间信息。
752 59
|
存储 负载均衡 监控
数据库多实例的深入解析
【10月更文挑战第24天】数据库多实例是一种重要的数据库架构方式,它为数据库的高效运行和灵活管理提供了多种优势。在实际应用中,需要根据具体的业务需求和技术环境,合理选择和配置多实例,以充分发挥其优势,提高数据库系统的性能和可靠性。随着技术的不断发展和进步,数据库多实例技术也将不断完善和创新,为数据库管理带来更多的可能性和便利。
536 57
|
机器学习/深度学习 存储 人工智能
大数据处理与分析技术:未来的基石
在信息化时代,数据已成为企业发展和决策的基础。而随着数据量的不断增长,传统的数据处理方法已经无法满足现代企业的需求。因此,大数据处理与分析技术的出现成为了新时代的必需品。本文将介绍大数据处理与分析技术的概念,意义、应用场景以及未来发展趋势。
431 3
|
人工智能 自然语言处理 运维
工业组态 + LLM : 大模型技术引领传统工业软件创新与实践(上)
工业组态 + LLM : 大模型技术引领传统工业软件创新与实践(上)
2822 1
|
存储 分布式数据库 数据库
深入OceanBase内部机制:分区构建高可用、高性能的分布式数据库基石
深入OceanBase内部机制:分区构建高可用、高性能的分布式数据库基石
|
机器学习/深度学习 存储 数据可视化
特征选择的艺术:利用Scikit-learn提升模型性能
【7月更文第22天】在机器学习的实践中,特征选择是一项至关重要的步骤,它直接影响到模型的性能、训练速度以及对新数据的泛化能力。特征选择,或称为变量选择,旨在从原始特征集中识别并保留最相关、最有影响力的特征子集,同时剔除冗余或无关紧要的特征。本文将探讨特征选择的重要性,并通过使用Python中的Scikit-learn库演示几种有效的特征选择方法,以提升模型性能。
830 4
|
SQL 负载均衡 数据库
第四章:OceanBase集群技术架构
第四章:OceanBase集群技术架构
722 0