从数据分布的角度看,OceanBase 是数据库分区表在分布式系统的实现,语法和使用兼容传统的数据库分区表。当表格的容量或者服务能力不足时,只需要通过 OceanBase 管理命令增加更多数据库分区即可。
另外,OceanBase 通过引入表格组(table group)来尽可能地减少分布式事务。表格组用于聚集经常一起访问的多张表格。例如,有用户基本信息表(user)和用户商品表(user_item),这两张表格都按照用户编号哈希分布,只需要将二者设置为相同的表格组,系统后台就会自动将同一个用户所在的 user 表分区和 user_item 表分区调度到同一台服务器。这样,即使操作某个用户的多张表格,也不会产生跨机事务。这种设计兼具分布式系统的扩展性和关系数据库的易用性和灵活性,符合 DBA 的使用习惯。