starrocks

StarRocks 实时分析数据库

补充说明

StarRocks 是 MPP 架构的分析数据库,兼容 MySQL 协议,支持实时导入、明细/聚合/更新模型、物化视图和湖仓分析。核心组件:FE(元数据与查询规划)、BE(存储与计算)、CN(存算分离模式下的计算节点)。

适合实时报表、用户画像、日志分析和多维聚合。表模型选择直接影响查询和更新能力。

常用示例

连接:

mysql -h fe -P 9030 -u root

创建明细表:

CREATE DATABASE demo;
USE demo;
CREATE TABLE events (
  dt DATE,
  user_id BIGINT,
  event_type VARCHAR(32),
  amount DECIMAL(10,2)
)
DUPLICATE KEY(dt, user_id)
PARTITION BY RANGE(dt) (
  START ("2026-10-01") END ("2026-11-01") EVERY (INTERVAL 1 DAY)
)
DISTRIBUTED BY HASH(user_id) BUCKETS 8
PROPERTIES ("replication_num" = "3");

Stream Load 导入:

curl --location-trusted -u root: \
  -H 'format: json' -H 'strip_outer_array: true' \
  -T events.json \
  http://fe:8030/api/demo/events/_stream_load

查询:

SELECT dt, event_type, COUNT(*), SUM(amount)
FROM events
WHERE dt >= '2026-10-01'
GROUP BY dt, event_type;

创建物化视图:

CREATE MATERIALIZED VIEW mv_daily AS
SELECT dt, event_type, COUNT(*) AS cnt, SUM(amount) AS amt
FROM events
GROUP BY dt, event_type;

查看 BE 和导入:

SHOW BACKENDS;
SHOW LOAD;

易错点与排错