认识 Redshift:列式数据库

Redshift 入门

Jason Myers

Principal Architect

Redshift 概览

  • 分布式
  • 列式数据库
  • 使用 PostgreSQL 9 语法并有所增强
  • 支持无服务器与预置集群

Redshift 标志

Redshift 入门

列存 vs 行存数据库

行存

行式数据库示例

列存

列式数据库示例

Redshift 入门

Redshift 在 AWS 生态中的位置

  • 主要的 SQL 数据仓库
  • 可作为 AWS 环境的数据湖仓中心
  • 支持外部模式于
    • AWS RDS for PostreSQL
    • AWS Aurora PostgreSQL-compatible edition
    • Amazon EMR(支持 Hive)
    • Amazon Kinesis(支持流数据)
Redshift 入门

Redshift 在 AWS 生态中的位置

  • 与其他 AWS RDS 数据库等进行联邦查询
  • 通过 Redshift ML 集成 Amazon SageMaker,助力数据科学家
Redshift 入门

竞品

  • Snowflake、BigQuery、Databricks Lakehouse、Azure Synapse Analytics

优势

  • 与 AWS 深度集成:与其他服务免拷贝数据共享
  • 共享无架构
  • 重复查询性能优化
  • 预留实例(RI)定价

劣势

  • 仅限 AWS
  • 查询性能未完全优化
  • 支持外部文件的灵活性需额外付费
Redshift 入门

查看数据库与模式

  • 使用 SVV_REDSHIFT_SCHEMAS(内部)或 SVV_ALL_SCHEMAS(内部与外部)
-- 查看数据库名、模式名及类型
SELECT database_name, 
       schema_name, 
       schema_type 
  -- 来自内部模式视图
  FROM SVV_REDSHIFT_SCHEMAS;
database_name        | schema_name         | schema_type
=====================|=====================| ===========
datacamp_course_prod | information_schema  | local
datacamp_course_prod | pg_catalog          | local
datacamp_course_prod | public              | local
dev                  | information_schema  | local
dev                  | pg_catalog          | local
dev                  | public              | local
Redshift 入门

查看某模式下的表

  • 使用 SVV_REDSHIFT_TABLES(内部)或 SVV_ALL_TABLES(内部与外部)
-- 查看表名
SELECT table_name 
  -- 使用包含内部与外部表的视图
  FROM SVV_ALL_TABLES
 -- 在 external 的 spectrumdb 模式中
 WHERE schema_name = 'spectrumdb';
table_name            
======================
ecommerce_sales
global_power_plant_db
coffee_county_weather
idaho_site_id         
idaho_samples
Redshift 入门

Passons à la pratique !

Redshift 入门

Preparing Video For Download...