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数据库官方博客4 小时前
OceanBase V4.3.3,首个面向实时分析场景的GA版本发布
oceanbase·分布式数据库·olap·产品特性
banjin7 小时前
Oceanbase学习之一迁移mysql数据到oceanbase
oceanbase
OceanBase数据库官方博客7 小时前
云集电商:如何通过 OceanBase 实现降本 87.5%|OceanBase案例
oceanbase·分布式数据库·实践经验·架构选型·大存储降本
OceanBase数据库官方博客1 天前
在OceanBase 中,实现自增列的4种方法
oceanbase·分布式数据库·运维管理
OceanBase数据库官方博客3 天前
OceanBase中,如何解读 obdiag 收集的火焰图 【DBA早下班系列】
oceanbase·分布式数据库·运维管理
OceanBase数据库官方博客8 天前
从1000s到10s,OceanBase 标量子查询的SQL优化实践
oceanbase·分布式数据库·sql优化
OceanBase数据库官方博客8 天前
客如云:大型业务报表的分区化改造提升性能|OceanBase 应用实践
数据分析·oceanbase·分布式数据库·实践经验
大数据在线8 天前
乘云而上,OceanBase再越山峰
阿里云·oceanbase·分布式数据库·aws·云数据库
OceanBase数据库官方博客10 天前
阳振坤:云时代数据库的思考 | OceanBase发布会实录
oceanbase·分布式数据库·年度发布会
RestCloud10 天前
OceanBase数据库结合ETLCloud快速实现数据集成
数据库·oceanbase·etl·分布式存储·数据集成·数据传输