4.3.3 怎么学习obkv-table

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】怎么学习obkv-table
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):
怎么学习obkv-table??

  1. 比如怎么创建 ,数据类型有哪些等

结合官方文档 实操+理论

OBKV-Table 简介

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

OBKV-Table 操作类型

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

这个内容 太 粗了 , 怎么创建 obkv-table呢 ?? 表的 创建 修改 数据类型介绍 再哪里?

你可以根据官方 可以好好看看 有些内容介绍的很详细的

OBKV-Table Java 客户端使用示例

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

image

这种表 和我们创还能得 基于行的表 有什么区别呢? 为什么叫做obkv-table? 而且还叫做 宽表呢?

行表(Row Table)也被称为关系表(Relation Table)或实体表(Entity Table),它是一种以行为主的表格结构。在行表中,每一行代表一个实体或对象,每一列代表该实体的一个属性或特征。行表通常用于存储一对一或一对多的关系。

OBKV是基于Oceanbase分布式存储内核,打造的一个Nosql产品系列,取名为OBKV主要是和通过SQL访问Oceanbase的方式区分开来

  1. OBKV完全集成Oceanbase分布式存储的能力,OBKV不仅仅有Oceanbase强大的内核能力,也继承了Oceanbase丰富的生态工具能力,也即业务如果同时有SQL以及Nosql数据库的诉求,可以只运维一个数据库,极简运维
  2. OBKV以及SQL,作为两个同级的计算层,访问同一个Oceanbase分布式存储内核。在这种关系&Nosql一体化的架构下,可以用OBKV做简单快速的DML,同时用SQL对同一份数据做并发的复杂查询 。由于OBKV在实现上Bypass了SQL层,直接基于Oceanbase分布式存储的接口构建简单的数据访问层,给简单的DML操作提供了一种快速数据访问路径。
  3. OBKV是对Oceanbase计算能力的补充,未来会支持更多Nosql模型,在满足业务场景对于Nosql模型的前提下,带来更简单的数据库运维,更高的性能,更低的时延以及更低的成本。
    Oceanbase的分布式存储引擎天然支持表模型,可以看到,纯粹的KV模型是表模型的一个Special Case,也即定义了一张表,这张表的schema如下:
CREATE TABLE KVTable (
  Key   varbinary(1024), 
  Value varbinary(1048576), 
  PRIMARY KEY(Key)
) ;
  1. 基于OBKV的表格服务,不仅仅可以支持业务各种各样的简单KV能力,由于表模型的灵活性,业务也可以基于OBKV的表格模型上构建自己的模型,比如有的客户基于OBKV的表格服务之上构建持久化Redis模型。
  2. 众所周知,和其它一些数据库内核不同,Oceanbase的数据库内核有存储Encoding能力,可以提供更高的压缩比,基于OBKV表格服务,也能获得同等的成本收益。
  1. 可以从官网和Github上获取OBKV相关资料

  2. 创建OBKV表就是使用SQL进行创建的,支持的数据类型可以从上面的Github文档中获取