任何事情都是开头难,临时工开始学OB了,拖着半截入土的身子,或许新鲜的知识能让我更加轻盈一些。
作为OB 幼儿园的入学的水平,怎么开始,大家可以跟着我开始来,如果你有更好的学习路径,麻烦带带我,那天有好工作说要OB经验,就可以跳槽了,练习不能凭嘴,首先你的有一个练习的机器,首选社区版入门。
https://www.oceanbase.com/softwarecenter
基于OB 支持国产的硬件,ARM 和 通用的X86 这里我选择了X86的一件安装包。661MB 的安装包,相对MYSQL来说,的确不大。
OB 的页面中工具非常齐全,安装部署工具,云平台,监控工具,诊断工具,迁移服务工具,日志代理服务,导入导出,客户端等工具一应俱全。
趁着下载的时候,我先翻翻 OB 的数据库整体的架构,在通读了OB 的数据库整体架构的文章后,我的学习总结是
1 OB 为分布式数据库产品,属于shared nothing 结构,节点中包含了SQL,存储,事务三个引擎。
(这点与之前学过的一些分布式数据库的概念不同,比如PGXL XC,以及TIDB),重点在于这些数据库必备的模块在一个节点中都综合了,而不是这些模块是分开的。
2 OB 在设计初期就想到了跨区域部署的问题,其中有一句话,可用区包含了IDC 和地域两个属性。
3 一个表的数据可以按照墨中划分规则,水平拆分为多个分片,每个分片叫做一个表的分区。分区的方式有三种,同时支持2级分区,分为逻辑分区和物理分区的概念。物理分区的存储对象是tablet.
4 分布式数据库中有日志REDO ,并且日志是针对tablet中的数据写入中产生的日志流,除此以外日志流和tablet有多个副本,但需要注意的是多个副本中,其中只能有一个进行操作,基于mulit-Paxos 的分布式共识协议实现副本中的一致性。
5 节点的功能对等每个服务负责自己所在节点上分区数据的存取,也负责路由到本机的SQL语句的解析和执行。
6 多租户概念,在一个OB 中可以创建多个相互隔离的数据库实例,这叫做一个租户,每个租户等同于一个数据库实例,每个租户可以选择自己的数据库兼容的模式 MYSQL OR ORACLE。 在租户下创建用户 数据库,使用时与单独的一个ORACLE OR MYSQL 是一样的。在创建数据库后,就会出现一个名为sys的租户,叫做系统租户,租户中保存集群的元数据单元。
7 每个租户做了资源的隔离,通过资源单元来管理同一个数据库服务器上的多个用户使用的资源,通过资源池来分配CPU 和 内存等资源。
8 数据库访问通过obproxy代理来访问数据库,obproxy转发相关的请求SQL 到 OBSERVER 节点,obproxy可以通过SLB 来对于客户提供统一的访问地址。
——————————————————————————————
读完这块,OB 在我脑子里面的一个印象是,分布式shared nothing的结构,适合部署一套数据库,并且可以快速扩展资源,建表要想着进行如何进行建立的模式,硬件资源可以隔离分配,访问的代理是吾状态的,可以对多用户提供稳定的客户和数据库之间的访问服务的的提供。
到点了,OB数据库有了一个初步的认识,临时工的领导CALL 临时工干活了,继续搬砖,明天继续学。
本文分享自 AustinDatabases 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有