这是阿里的数据库,因为我目前在杭州,所以企业用这个的比较多。
我看的版本是V4.3.1
官网概述解读
我看的是社区版
他是分布式关系型数据库,支持事务。兼容mysql语法,支持水平扩展,LSM数据压缩。
社区版,不支持oralce语法,不支持锁表,不支持透明加密存储,不支持数据压缩。
系统架构
无共享的数据,意思是每台机器上的数据都一样。多个IDC数据中心部署的。
支持1级分区和2级分区。2级分区的每个分区是物理分区。叫做tablet用于存储数据。
tablet有个日志。日志是这台节点的所有tablet共享的。日志和tablet都有多个副本,在不同的可用区里。(可用区就是不同的数据中心)。多个副本中只有一个副本接受修改。叫做leader副本。他们通过分布式协议Multi-Paxos保持一致。每个节点有一个observer进程,负责自己节点的数据存储,读取,以及sql解析和执行。
在一个oceanBase的集群内,可以互相隔离的数据库实例,叫做租户。不是数据隔离,而是说,租户 可以选择兼容mysql的数据库模式或者是oracle的模式。集群初始化后,就有一个sys默认租户。
租户可以分配特定的资源 ,也可以分配私有数据。
社区版只有MYSQL模式。
隔离租户的资源,每个observer里都有属于不同租户的资源Unit。资源包括CPU和内存。
有一个Odp (onceanbase databse proxy)叫做代理。他用来屏蔽分布式 ,只用连接它 ,它在选择合适的数据库节点。
支持mysql
支持窗口函数,不支持Match语法,不支持备份数据有效性验证。
数据引擎不同,LSM-TREE。
单个表限制,支持最大列数是4096列,行数是1.5M字节。
快速上手社区版
组件介绍,4.0后可以一键安装,避免组件不了解。这里说明
obd:部署工具,就部署的时候有实质性作用
odp:分布式数据库代理,我们连接的就是它,然后他在自动选择一台数据库
OCP Express:可以对数据库的性能和参数进行管理
OBAgent:是用来做数据采集的工具,支持Push和Pull
Grafana:做数据展示的BI工具
Prometheus:时序数据库,服务监控系统
OceanBase 数据库:数据库本身
最好的是第二种裸机部署方案。阿里他们自己用的就是这种。
部署要求:
项目 | 描述 |
---|---|
系统 | * Alibaba Cloud Linux 2/3 版本(内核 Linux 3.10.0 版本及以上) * Anolis OS 8.X 版本(内核 Linux 3.10.0 版本及以上) * Red Hat Enterprise Linux Server 7.X 版本、8.X 版本(内核 Linux 3.10.0 版本及以上) * CentOS Linux 7.X 版本、8.X 版本(内核 Linux 3.10.0 版本及以上) * Debian 9.X 版本及以上版本(内核 Linux 3.10.0 版本及以上) * Ubuntu 20.X 版本及以上版本(内核 Linux 3.10.0 版本及以上) * SUSE / OpenSUSE 15.X 版本及以上版本(内核 Linux 3.10.0 版本及以上) * KylinOS V10 版本 * 统信 UOS 1020a/1021a/1021e/1001c 版本 * 中科方德 NFSChina 4.0 版本及以上 * 浪潮 Inspur kos 5.8 版本 |
CPU | 最低要求 2 核,推荐 4 核及以上。 |
内存 | 最低要求 6 GB,推荐设置在 16 GB 至 1024 GB 范围内。 |
磁盘类型 | 使用 SSD 存储。 |
磁盘存储空间 | 最低要求 20 GB。 |
文件系统 | EXT4 戓 XFS,当数据超过 16 TB 时,使用 XFS。 |
all-in-one 安装包 | all-in-one 安装包需选择 V4.1.0 及以上版本。 |
Docker | 使用 Docker 部署 OceanBase 数据库时需提前安装 Docker 并启动 Docker 服务,详细操作请参考 Docker 文档。 |
下载:
先用第一种搭建。后面有资源了在搭建第二种。
uname -m,看了一下发现自己是x86,我用的是centos7.X,内核是3.1.0
领导说DBA搭建。我就不管了。
参考:
OceanBase4.0 中的 tablet 指的是什么?为什么要有tablet这个概念? - OceanBase - 社区问答- OceanBase社区-分布式数据库