Redshift
Contents
Redshift
Amazon Redshift是AWS提供的一种快速、可扩展的数据仓库解决方案,它基于列式存储和MPP(大规模并行处理)架构,能够高效地存储和查询超大规模的数据。
Redshift的主要特性包括:
- 高性能的列式存储与聚集设计,提升查询和加载速度,同时减少存储需求。
- 支持高度并行和水平扩展,可以随时通过添加节点expand容量和性能。
- 集成了多种数据压缩算法,大幅节约存储成本。
- 支持标准SQL查询接口,可以使用现有BI工具连接。
- 和其他AWS服务高度集成,如S3、EMR等,数据可无缝加载。
- 提供petabyte级数据的备份和快照。
- 提供高可用功能,支持多AZ部署。
DSL
select * from orders;
delete orders where o_orderdate between '1997-01-01' and '1998-01-01';
DDL
DROP TABLE IF EXISTS orders;
create table orders (
O_ORDERKEY bigint NOT NULL,
O_CUSTKEY bigint,
O_ORDERSTATUS varchar(1),
O_TOTALPRICE decimal(18,4),
O_ORDERDATE Date,
O_ORDERPRIORITY varchar(15),
O_CLERK varchar(15),
O_SHIPPRIORITY Integer,
O_COMMENT varchar(79))
distkey (O_ORDERKEY)
sortkey (O_ORDERDATE);
//distkey(O_ORDERKEY) 把 O_ORDERKEY 字段定义为这张表的分布键
//sortkey(O_ORDERDATE)把 O_ORDERDATE 定义为排序键。
Loading data from S3
copy orders from 's3://redshift-immersionday-labs/data/orders/orders.tbl.'
iam_role default
region 'us-west-2' lzop delimiter '|' COMPUPDATE PRESET;
----------------------------------------------------------------------
COPY change.public.track_click (
timestamp,
date,
hour,
offer_id,
aff_id,
aff,
os,
country,
adx_id,
adx_score,
adx_reason,
adx_package
) FROM 's3://chongda-vg/adx/click/$path' GZIP IAM_ROLE 'arn:aws:iam::*********:role/redshift-role' FORMAT AS CSV DELIMITER '\t' QUOTE '\"' REGION AS 'us-east-1' FILLRECORD MAXERROR 10000"
测试加载300M数据需耗时22s
在有大量重复的查询操作的时候可以Materialized views
CREATE MATERIALIZED VIEW view_name
AUTO REFRESH YES AS select....
使用物化视图来存储预先计算的结果,以加速可预测和重复的查询