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;