Redshift是AWS提供的关系型数据库管理系统(RDBMS),基于PostgreSQL,但二者的差别非常大。可以通过自带的Redshift客户端连接Redshift数据仓库,也可以使用第三方的SQL WorkbenchJ来连接。

Redshift架构

Redshift集群由一个leader node和多个compute nodes构成,如下文中图所示。leader node负责多个compute nodes的协调及外部通信,compute nodes从外部无法访问,是典型的主从结构的分布式计算系统。leader node为执行计划的单个元素编译代码并将代码分配给各个compute nodes。compute nodes执行编译后的代码,并将中间结果发送回leader nodes以便最终聚合。

https://docs.aws.amazon.com/zh_cn/redshift/latest/dg/c_high_level_system_architecture.html

Redshift优化

Columnar storage

Using columnar storage, each data block stores values of a single column for multiple rows. As records enter the system, Amazon Redshift transparently converts the data to columnar storage for each of the columns.

注意这里是column storage,而不是column-family storage。

我们还可以对表中的每个字段指定使用不同的压缩编码,从而进一步压缩存储,提高查询效率。由于采用列式存储,压缩的效率很高。Typical database block sizes range from 2 KB to 32 KB. Amazon Redshift uses a block size of 1 MB。

workload management (WLM)

用户可以最多定义8个不同优先级别的队列。当一个query运行时,WLM通过预先设置的参数(如查询用户所在的组,查询相关的参数)将query放入不同的队列中,并由此对查询任务给与不同的优先级别。每个队列最大并发度为50,超过时query进入队列等待执行。

sort key

When you create a table, you can specify one or more columns as the sort key. Amazon Redshift stores your data on disk in sorted order according to the sort key.类似SQL server的聚集索引。

Redshift中可定义唯一key,主键和外键,但这些key仅仅为Redshift提供统计数据,不影响实际运行。

其他功能

Redshift支持user-defined functions and stored procedure。stored procedure可以包含DDL&DML,也可以没有返回值。和传统关系型数据库差不多。

Redshift Spectrum 支持直接查询存储在S3(Simple Storage Service)上的数据文件,如JSON等。需要通过定义external table来查询。这是个非常有用的功能:AWS对S3的支持非常好,很多AWS的服务都支持和S3的对接,例如DynamoDB可直接将数据写入S3。因此S3可以很容易实现不同AWS服务间的数据共享。

Redshift 简介相关推荐

  1. Redshift简介

    Amazon Redshift是一个快速.功能强大.完全托管的PB级别数据仓库服务.用户可以在刚开始使用几百GB的数据,然后在后期扩容到PB级别的数据容量. Redshift是一种联机分析处理OLAP ...

  2. AWS 云产品和云计算基础知识详解

    1. Amazon Web Services 云产品和云计算 1.1 Amazon EC2 简介 Amazon EC2,也被称为AmazonElastic Compute Cloud,用于在Amazo ...

  3. RedShift到MaxCompute迁移实践指导

    简介: 本文主要介绍Amazon Redshift如何迁移到MaxCompute,主要从语法对比和数据迁移两方面介绍,由于Amazon Redshift和MaxCompute存在语法差异,这篇文章讲解 ...

  4. Navicat Premium 简介、安装、使用

    Navicat 官网: http://www.navicat.com.cn/ 简介: Navicat Premium 是一套数据库开发工具,让你从单一应用程序中同时连接 MySQL.MariaDB.M ...

  5. 1. Navicat Premium 12 用户手册之简介

    1.Navicat Premium 12 用户手册之简介 第一章 - 简介 关于 Navicat 系统需求 支持的内部部署数据库 支持的云数据库 安装 安装下载版 迁移 Navicat 到新的电脑 升 ...

  6. 马哈鱼数据血缘分析工具简介

    1. 马哈鱼数据血缘分析工具简介 马哈鱼数据血缘分析工具(英文名称为 Gudu SQLFlow )是一款用于分析 SQL 语句,并发现其中数据血缘关系的分析软件,经常和元数据管理工具一起使用,是企业数 ...

  7. etcd 笔记(01)— etcd 简介、特点、应用场景、常用术语、分布式 CAP 理论、分布式原理

    1. etcd 简介 etcd 官网定义: A highly-available key value store for shared configuration and service discov ...

  8. Docker学习(一)-----Docker简介与安装

    一.Docker介绍 1.1什么是docker Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源 Docker可以让开发者打包他们的应用以及依赖包到一个轻量级,可移植 ...

  9. 【Spring】框架简介

    [Spring]框架简介 Spring是什么 Spring是分层的Java SE/EE应用full-stack轻量级开源框架,以IOC(Inverse Of Control:反转控制)和AOP(Asp ...

最新文章

  1. leangoo V5.4.2版上线
  2. Dataset之JFT:JFT/FastEval14k数据集的简介、下载、案例应用之详细攻略
  3. HDU 1561 The more, The Better (树形DP,常规)
  4. [SAP ABAP开发技术总结]动态语句、动态程序
  5. java 挥发注解_Java的挥发性修饰符
  6. Python2.7 logging.config logging.handlers
  7. c# uwp html源码,C#UWP使用Microsoft Edge打开Web URL
  8. bzoj1295 最长距离
  9. swift中Any,AnyObject,AnyClass的区别
  10. VS2013各版本密钥
  11. pythonocc_链轮
  12. 微信淘宝客实战经验分享
  13. java生成树型思维导图,Android树形控件绘制方法
  14. matlab教程 导入数据,MATLAB数据导入
  15. 23种设计模式-个人笔记(三)
  16. 安搭Share为您推荐学理财投资必读的书籍
  17. [转载]刘兴亮|给同一天发的这三款社交产品算算命
  18. MySQL数据库的锁 --- 六种分类 - 14种锁详细介绍
  19. 【高等数学】伽马函数与斯特林公式
  20. Python:缓存库mo-cache支持内存、文件、Redis

热门文章

  1. 2023年MathorCup数学建模B题思路 - 城市轨道交通列车时刻表优化问题
  2. C语言模拟实现memcpy函数
  3. 华为云能否复制华为手机崛起之路?
  4. 解读:直播星芯片被禁意在打击高仿机
  5. python if return语句_Python: return语句
  6. 文件删除不掉:0X80070570解决办法
  7. 还不会分布式事务?教你7种解决方案(强烈建议收藏)
  8. [SD心灵鸡汤]003.每月一则 - 2015.07
  9. 黑猴子的家:下载SVN服务端
  10. 解开锁屏_解开超级真理