docker pull starrocks/allin1-ubuntu:2.5.4
docker run -p 9030:9030 -p 8030:8030 -p 8040:8040 -itd starrocks/allin1-ubuntu:2.5.4
docker ps
mysql -P 9030 -h 127.0.0.1 -u root --prompt="StarRocks > "
#创建用户
CREATE USER tom@'%' IDENTIFIED BY '123456';
GRANT ALL ON *.* TO 'tom'@'%' ;
# 创建数据库
CREATE DATABASE test;
# 使用数据库
USE test;
# 创建表
CREATE TABLE IF NOT EXISTS sr_member (
sr_id INT,
name STRING,
city_code INT,
reg_date DATE,
verified BOOLEAN
)
PARTITION BY RANGE(reg_date)
(
PARTITION p1 VALUES [('2022-03-13'), ('2022-03-14')),
PARTITION p2 VALUES [('2022-03-14'), ('2022-03-15')),
PARTITION p3 VALUES [('2022-03-15'), ('2022-03-16')),
PARTITION p4 VALUES [('2022-03-16'), ('2022-03-17')),
PARTITION p5 VALUES [('2022-03-17'), ('2022-03-18'))
)
DISTRIBUTED BY HASH(city_code)
PROPERTIES(
"replication_num" = "1"
);
# 插入数据
INSERT INTO sr_member VALUES (001,"tom",100000,"2022-03-13",true), (002,"johndoe",210000,"2022-03-14",false), (003,"maruko",200000,"2022-03-14",true), (004,"ronaldo",100000,"2022-03-15",false), (005,"pavlov",210000,"2022-03-16",false), (006,"mohammed",300000,"2022-03-17",true);
INSERT INTO sr_member WITH LABEL insertDemo VALUES (0010,"张三",100000,"2022-03-13",true), (0012,"李四",210000,"2022-03-14",false);
# 查询数据
SELECT sr_id, name FROM sr_member;
SELECT sr_id, name FROM sr_member PARTITION (p2);
SELECT sr_id, name FROM sr_member PARTITION (p1,p2);
StarRocks 与 ClickHouse 是两款基于 MPP 架构的列式数据库管理系统,都可以提供高性能的 OLAP 分析能力。 但是它们在功能、性能和使用场景上也有一些区别。 总结如下:
colocate_with
区别点:StarRocks 提供了基于代价的优化器(CBO),可以自动优化 join 的顺序和类型
ClickHouse 的表引擎目前存在2个缺点:
针对数据加载方面,StarRocks 提供的工具更多,不仅能加载离线数据,还集成flink实时加载CDC数据
针对这块,ClickHouse创建分布式表是麻烦的,痛苦的,需要在集群的每一个节点的手工创建本地表、再创建分布式表
但StarRocks这块还像一个MPPDB数据,通过一条create DML即可完成创建分布式表。
另外,StarRocks 提供了更的表管理工具。
StarRocks deploy_in_docker