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

相关推荐
OceanBase数据库官方博客1 天前
OceanBase 社区年度之星专访:北控水务纪晓东,社区铁杆开发者
oceanbase·分布式数据库
OceanBase数据库官方博客3 天前
阳振坤:AI 大模型的基础是数据,AI越发达,数据库价值越大
数据库·人工智能·oceanbase·分布式数据库
OceanBase数据库官方博客11 天前
如何用SQL语句来查询表或索引的行存/列存存储方式|OceanBase 用户问题集锦
sql·oceanbase·分布式数据库·实践经验
剑客无名16 天前
在K8S上部署OceanBase的最佳实践
容器·kubernetes·oceanbase
小怪兽ysl17 天前
【Oceanbase数据库常用巡检SQL】
数据库·sql·oceanbase
core51217 天前
flink cdc oceanbase(binlog模式)
大数据·flink·binlog·oceanbase·安装·cdc
森森淼淼丶19 天前
oceanbase集群访问异常问题处理
运维·数据库·oceanbase
小至尖尖20 天前
使用format_obproxy_digest_log工具分析obproxy网络层耗时SQL
oceanbase
wahahaman21 天前
OceanBase到MySQL实时同步方案
数据库·mysql·oceanbase
森森淼淼丶21 天前
oceanbase 集群启动操作
运维·数据库·oceanbase