StarRocks 从 2.5 更新了其 Catalog 体系的设计。实现中主要有 3 个实体:
- Catalog:一个数据源的抽象,主要有 2 种:
- Internal default catalog:starrocks 自身的元数据
- exteral catalog:外部数据源,如 hive meta store
- Rsource:为了 hive 外表设计的,一个 hive meta store 数据源的抽象。在具体实现中,其实会生成一个对应的 external log,称为 ResourceMappingCatalog。
- Connector:和真正的数据源进行交互,比如:调用 HiveMetaStoreClient 获取 hive 元数据
实现的类图如下:以 Hive Catalog 为例