
# StarRocks内核3.3.18版本能力地图
本章节介绍CloudTable StarRocks 3.3.18版本支持的内核特性，请参见[表1]、[表2]。
- 使用说明介绍：
  - 可以使用：经过产品团队质量加固和充分测试。
  
  - 受限使用：需要客户基于业务场景在测试环境进行充分测试后，确保业务稳定运行后可在生产环境中使用。
  
  - 不建议使用：社区能力不够成熟，存在一些可靠性问题。不建议使用的特性，可参考[表2]中的"使用建议"。
   
- 能力说明：
  - 自研：由产品团队自研的易用性、性能、DFX等内核引擎特性。
  
  - 质量加固：产品团队基于社区开源能力，对已知问题和客户的需求，进行质量加固和充分测试。
  
  - 纯开源：能力和开源社区版本能力保持一致，未进行质量加固。
   
 表1使用特性列表 
| 一级特性   | 二级特性       | 三级特性                                                      | 使用说明 | 使用建议                                                                                   |
|:---|:---|:---|:---|:---|
| 数据表设计  | 数据划分       | 表索引                                                       | 可以使用 | 支持前缀索引与排序键、倒排索引、BloomFilter 索引、N-Gram 索引。                                              |
| 数据表设计  | 数据划分       | 表分桶                                                       | 可以使用 | -                                                                                      |
| 数据表设计  | 数据划分       | 表分区                                                       | 可以使用 | 支持使用的动态分区类型包括：dynamic partition、range分区、list分区和手动分区。                                   |
| 数据表设计  | 数据类型       | 基本字段类型                                                    | 可以使用 | -                                                                                      |
| 数据表设计  | 数据类型       | 复合字段类型                                                    | 受限使用 | 建议使用Array、JSON、MAP和Struct类型。                                                           |
| 数据表设计  | 数据类型       | 压缩算法                                                      | 可以使用 | 内表自带压缩算法LZ4、ZSTD。                                                                      |
| 数据表设计  | 数据模型       | Duplicate明细模型                                             | 可以使用 | -                                                                                      |
| 数据表设计  | 数据模型       | Unique主键模型                                                | 可以使用 | -                                                                                      |
| 数据表设计  | 数据模型       | Aggregate聚合模型                                             | 可以使用 | -                                                                                      |
| 数据表设计  | 数据模型       | 同步物化视图                                                    | 可以使用 | -                                                                                      |
| 数据表设计  | 数据模型       | 异步物化视图                                                    | 受限使用 | -                                                                                      |
| 数据操作   | DML        | 表数据的增删改查操作                                                | 可以使用 | -                                                                                      |
| 数据操作   | DML        | Load类型任务管理                                                | 可以使用 | -                                                                                      |
| 数据操作   | DDL        | 数据库表索引视图的增删改查                                             | 可以使用 | -                                                                                      |
| 数据操作   | DDL        | 函数                                                        | 可以使用 | -                                                                                      |
| 数据操作   | DDL        | 资源管理                                                      | 可以使用 | -                                                                                      |
| 数据操作   | SQL函数      | 自有函数                                                      | 可以使用 | -                                                                                      |
| 数据操作   | SQL函数      | 自定义UDF                                                    | 受限使用 | 联系技术支持后台上传自定义UDF。                                                                      |
| 数据操作   | 辅助命令       | HELP命令                                                    | 可以使用 | -                                                                                      |
| 数据操作   | 辅助命令       | Show命令                                                    | 可以使用 | -                                                                                      |
| 数据操作   | 数据导入       | Stream Load                                               | 可以使用 | -                                                                                      |
| 数据操作   | 数据导入       | Broker Load                                               | 可以使用 | 支持导入HDFS、OBS数据。                                                                        |
| 数据操作   | 数据导入       | Routine Load                                              | 受限使用 | 推荐使用Flink导入，从Kafka导入数据。 使用限制：安全模式不支持从Kafka导入数据。 |
| 数据操作   | 数据导入       | Insert into select                                        | 可以使用 | -                                                                                      |
| 数据操作   | 数据导入       | Insert into values                                        | 可以使用 | -                                                                                      |
| 数据操作   | 数据导出       | 数据导出（export）                                              | 可以使用 | -                                                                                      |
| 数据操作   | 数据导出       | 主键模型表中的Upsert                                             | 可以使用 | Upsert操作即为主键表正常写入，覆盖旧的数据。                                                              |
| 数据操作   | 数据导出       | Load任务中数据的批量删除和更新                                         | 可以使用 | -                                                                                      |
| 湖仓能力   | 多源Catalog  | Hive Catalog                                              | 可以使用 | -                                                                                      |
| 湖仓能力   | 多源Catalog  | Hudi Catalog                                              | 受限使用 | StarRocks当前版本不支持查询Hudi mor多级分区表。                                                       |
| 湖仓能力   | 多源Catalog  | Paimon                                                    | 受限使用 | -                                                                                      |
| 湖仓能力   | 多源Catalog  | Iceberg                                                   | 受限使用 | 未进行任何质量加固，且开源存在较多未解决问题，建议充分测试后投产使用。                                                    |
| 湖仓能力   | 多源Catalog  | JDBC Catalog                                              | 受限使用 | 可以使用经过质量加固的MySQL类型的JDBC Catalog，其他JDBC类型建议充分测试后投产使用。                                   |
| 湖仓能力   | Connector  | Flink Connector                                           | 受限使用 | 推荐使用开源的**starrocks-flink-connector**，且建议充分测试后投产使用。                                     |
| 湖仓能力   | Connector  | Spark Connector                                           | 受限使用 | 推荐使用开源的**starrocks-spark-connector**，且建议充分测试后投产使用。                                     |
| 资源负载能力 | compaction | base compaction、cumulative compaction、vertical compaction | 可以使用 | -                                                                                      |
| 资源负载能力 | 数据负载均衡     | -                                                         | 可以使用 | -                                                                                      |
| 资源负载能力 | 多租户与资源隔离   | Resource Group                                            | 可以使用 | -                                                                                      |
| 原生页面   | 原生UI       | -                                                         | 受限使用 | 建议在调试、运维场景使用，禁止用于生产业务。                                                                 |
| 自研增强   | 升级JDK 21   | -                                                         | 可以使用 | -                                                                                      |
| 自研增强   | 慢查询        | -                                                         | 可以使用 | -                                                                                      |
| 自研增强   | 大SQL防御     | -                                                         | 可以使用 | -                                                                                      |
| 自研增强   | 备份恢复       | -                                                         | 可以使用 | -                                                                                      |
| 自研增强   | 审计日志表      | -                                                         | 可以使用 | -                                                                                      |
| 自研增强   | 安全可靠性      | -                                                         | 可以使用 | -                                                                                      |
   
 表2不建议使用特性列表 
| 一级特性                                              | 二级特性                                             | 三级特性                  | 使用说明  | 使用建议                                                                                                                                                                                                                      |
|:---|:---|:---|:---|:---|
| 数据表设计                                             | 数据划分                                             | 表分区                   | 不建议使用 | 自动分区Auto Partition存在一些开源未解决问题，且往往自动分区得到的数据划分不合理。                                                                                                                                                                          |
| 数据表设计                                             | 数据模型                                             | 外表物化视图                | 不建议使用 | 例如对Hive外表的物化视图，存在诸多开源问题和受限操作，能力不完善。                                                                                                                                                                                       |
| 数据操作  | 数据导入                                             | MySQL Load            | 不建议使用 | 推荐Stream Load。 MySQL Load仅针对小数据量导入操作，如果数据量不可预估则很容易出现异常，因此不建议使用此功能。                                                                                                                   |
| 数据操作  | 数据导出                                             | SELECT INTO OUTFILE   | 不支持   | -                                                                                                                                                                                                                         |
| 资源负载能力                                            | 冷热分离                                             | -                     | 不支持   | -                                                                                                                                                                                                                         |
| 湖仓能力    | 湖仓一体  | 数据回写数据湖功能             | 不建议使用 | 增加了Hive、Iceberg数据回写功能、Insert Overwrite支持Iceberg表不成熟，且开源存在诸多限制和问题。                                                                                                                                                         |
| 湖仓能力    | 湖仓一体  | 新增多种数据源连接器Connector   | 不建议使用 | Delta Lake、Kudu、BigQuery、Kafka、TPCH、TPCDS等多种Connector的适配不成熟，开源存在诸多限制和问题。                                                                                                                                                  |
| 湖仓能力    | 湖仓一体  | Elasticsearch Catalog | 不建议使用 | 支持Elasticsearch Catalog，将Elasticsearch中的nested或object类型映射为Doris的JSON类型。在Elasticsearch外部源场景中，由于开源字段类型映射不全，仍存在较多未解决的开源问题。                                                                                                   |
| 湖仓能力    | 湖仓一体  | 新增多种数据源Catalog        | 不建议使用 | 包括MaxCompute、Delta Lake、BigQuery、Kudu、Elasticsearch、JDBC、MySQL JDBC、PostgreSQL JDBC、Oracle JDBC、SQL Server JDBC、IBM DB2 JDBC、ClickHouse JDBC、SAP HANA JDBC、Oceanbase JDBC、Kudu Catalog在内的多种场景，这些多为非主流场景，且开源社区中存在较多未解决的问题。 |
| 湖仓能力    | 湖仓一体  | **外部表**               | 不支持   | 对于查询Hive、Iceberg、Hudi 数据源的场景，推荐使用Catalog。 对于查询MySQL、PostgreSQL、Oracle和SQLServer的场景推荐使用JDBC catalog。                                                                                  |
   
