oceanbase基础

与mysql对比

分布式一致性算法 paxos

存储结构(引擎)用的是两级的

数据库自动分片功能,提供独立的obproxy路由写入查询等操作到对应的分片

多租户

方便扩展
存储层

http://www.hzhcontrols.com/new-1391864.html

LSM tree,is very different from relationship database 读写分离,数据氛围基线数据和增量数据,基线放SSD, 增量放内存

它并不是一棵树,也不是一种具体的数据结构,它实际上是一种数据保存和更新的思想。

**ob所有的数据更新写入操作都在内存的 MemTable ,达到阈值,转磁盘中的 SSTable

存储层以一张表或者一个分区为粒度提供数据存储与访问,**每个分区对应一个用于存储数据的Tablet(分片),用户定义的非分区表也会对应一个 Tablet

均衡层

当租户有扩容操作,获得更多服务器资源时,均衡层会将租户内已有的日志流进行分裂,并选择合适数量的 Tablet 一同分裂到新的日志流中,再将新日志流迁移到新增的服务器上,以充分利用扩容后的资源。新建表和新增分区时,系统会按照均衡原则选择合适的日志流创建 Tablet
多租户
每一个租户即一个实例(类比 MySQL Instance)

索引

OceanBase 数据库采用的是聚集索引表模型,对于用户指定的主键,系统会自动生成主键索引,而对于用户创建的其他索引,则是二级索引
执行计划

执行计划分为三种:Local 、Remote 、Distribute

local 本节点 单表单分区 romote 其他节点 单表单分区 Distribute 多表多分区 多个节点

https://www.oceanbase.com/docs/common-oceanbase-database-cn-10000000001700649

复制代码
=======================================================================
|ID|OPERATOR            |NAME                          |EST. ROWS|COST|
-----------------------------------------------------------------------
|0 |EXCHANGE IN REMOTE  |                              |1        |54  |
|1 | EXCHANGE OUT REMOTE|                              |1        |53  |
|2 |  TABLE GET         |t_cs_digital_core_chat_history|1        |53  | TABLE GET  主键定位  TABLE SCAN范围搜索  若有索引则TABLE SCAN   t1(index1)  没有则主表扫描
=======================================================================
对于普通索引和全局索引,索引回表的逻辑是封装在 TABLE SCAN 算子中的 is_index_back是否需要回表 is_global_index 标识算子是否是扫描全局索引
Outputs & filters: 
-------------------------------------
  0 - output([t_cs_digital_core_chat_history.visit_session_id(0x7f4c5f91ab90)],  //输出列[t_cs_digital_core_chat_history.slot(0x7f4c5f91b110)]), filter(nil)  过滤4
  1 - output([t_cs_digital_core_chat_history.visit_session_id(0x7f4c5f91ab90)], [t_cs_digital_core_chat_history.slot(0x7f4c5f91b110)]), filter(nil)
  2 - output([t_cs_digital_core_chat_history.visit_session_id(0x7f4c5f91ab90)], [t_cs_digital_core_chat_history.slot(0x7f4c5f91b110)]), filter([t_cs_digital_core_chat_history.data_type(0x7f463e248a10) != 3(0x7f463e248360)]), 
      access([t_cs_digital_core_chat_history.data_type(0x7f463e248a10)], [t_cs_digital_core_chat_history.visit_session_id(0x7f4c5f91ab90)], [t_cs_digital_core_chat_history.slot(0x7f4c5f91b110)]), partitions(p0), //非分区表只有p0
      is_index_back=true, filter_before_indexback[false], 
      range_key([t_cs_digital_core_chat_history.ID(0x7f4c5f91a610)]), range[4003526 ; 4003526], //  索引的key列,range start end
      range_cond([t_cs_digital_core_chat_history.ID(0x7f4c5f91a610) = 4003526(0x7f4c5f919f60)]) condition  determining the range 

Used Hint:
-------------------------------------
  /*+
  */

Outline Data:
-------------------------------------
  /*+
      BEGIN_OUTLINE_DATA
      FULL(@"SEL$1" "cs_digital_core_db.t_cs_digital_core_chat_history"@"SEL$1")
      END_OUTLINE_DATA
  */

Plan Type:
-------------------------------------
REMOTE

Optimization Info:
-------------------------------------



t_cs_digital_core_chat_history:table_rows:10, physical_range_rows:1, logical_range_rows:1, index_back_rows:0, output_rows:0, est_method:local_storage, optimization_method=rule_based, heuristic_rule=unique_index_without_indexback

Parameters
-------------------------------------

对于有关联性的表,建议使用关联键作为分区键,并采用相同分区方式,尽量避免区跨节点操作
副本

zone>=3 奇数选举 以分区为单位,一个zone包含一个副本,一个分区数据可在多个zone内保存多个副本,副本容灾和分散压力,主从副本之间通过基于 Multi-Paxos 的分布式共识协议实现了副本之间数据的一致性
分区

单个表最多支持创建的分区个数为 8192 个

zone 副本 observer Shared Nothing obproxy multi tenant

相关推荐
Edingbrugh.南空3 天前
Flink OceanBase CDC 环境配置与验证
大数据·flink·oceanbase
丶意冷3 天前
mybatisPlus分页方言设置错误问题 mybatisPlus对于Oceanbase的Oracle租户分页识别错误
java·数据库·oracle·oceanbase
.Eyes15 天前
OBCP第二章 OceanBase 存储引擎高级技术学习笔记
笔记·学习·oceanbase
Tapdata 钛铂数据17 天前
信创 CDC 实战|国产数据库的数据高速通道:OceanBase 实时入仓 StarRocks
数据库·oceanbase
Dnui_King23 天前
OceanBase (DBA)一面面经
数据库·oceanbase·dba
OceanBase数据库官方博客24 天前
OceanBase v4.3.5 特性解读:通过OSS WORM特性进行备份归档
oceanbase·分布式数据库·存储
OceanBase数据库官方博客24 天前
常用的OceanBase调优配置参数
oceanbase·分布式数据库·参数
OceanBase数据库官方博客1 个月前
蚂蚁集团 CTO 何征宇:AGI时代,海量数据带来的质变|OceanBase 开发者大会实录
人工智能·oceanbase·分布式数据库·开发者大会
数据最前线1 个月前
OceanBase 开发者大会,拥抱 Data*AI 战略,构建 AI 数据底座
人工智能·oceanbase