Redshift 简介
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 简介相关推荐
- Redshift简介
Amazon Redshift是一个快速.功能强大.完全托管的PB级别数据仓库服务.用户可以在刚开始使用几百GB的数据,然后在后期扩容到PB级别的数据容量. Redshift是一种联机分析处理OLAP ...
- AWS 云产品和云计算基础知识详解
1. Amazon Web Services 云产品和云计算 1.1 Amazon EC2 简介 Amazon EC2,也被称为AmazonElastic Compute Cloud,用于在Amazo ...
- RedShift到MaxCompute迁移实践指导
简介: 本文主要介绍Amazon Redshift如何迁移到MaxCompute,主要从语法对比和数据迁移两方面介绍,由于Amazon Redshift和MaxCompute存在语法差异,这篇文章讲解 ...
- Navicat Premium 简介、安装、使用
Navicat 官网: http://www.navicat.com.cn/ 简介: Navicat Premium 是一套数据库开发工具,让你从单一应用程序中同时连接 MySQL.MariaDB.M ...
- 1. Navicat Premium 12 用户手册之简介
1.Navicat Premium 12 用户手册之简介 第一章 - 简介 关于 Navicat 系统需求 支持的内部部署数据库 支持的云数据库 安装 安装下载版 迁移 Navicat 到新的电脑 升 ...
- 马哈鱼数据血缘分析工具简介
1. 马哈鱼数据血缘分析工具简介 马哈鱼数据血缘分析工具(英文名称为 Gudu SQLFlow )是一款用于分析 SQL 语句,并发现其中数据血缘关系的分析软件,经常和元数据管理工具一起使用,是企业数 ...
- etcd 笔记(01)— etcd 简介、特点、应用场景、常用术语、分布式 CAP 理论、分布式原理
1. etcd 简介 etcd 官网定义: A highly-available key value store for shared configuration and service discov ...
- Docker学习(一)-----Docker简介与安装
一.Docker介绍 1.1什么是docker Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源 Docker可以让开发者打包他们的应用以及依赖包到一个轻量级,可移植 ...
- 【Spring】框架简介
[Spring]框架简介 Spring是什么 Spring是分层的Java SE/EE应用full-stack轻量级开源框架,以IOC(Inverse Of Control:反转控制)和AOP(Asp ...
最新文章
- leangoo V5.4.2版上线
- Dataset之JFT:JFT/FastEval14k数据集的简介、下载、案例应用之详细攻略
- HDU 1561 The more, The Better (树形DP,常规)
- [SAP ABAP开发技术总结]动态语句、动态程序
- java 挥发注解_Java的挥发性修饰符
- Python2.7 logging.config logging.handlers
- c# uwp html源码,C#UWP使用Microsoft Edge打开Web URL
- bzoj1295 最长距离
- swift中Any,AnyObject,AnyClass的区别
- VS2013各版本密钥
- pythonocc_链轮
- 微信淘宝客实战经验分享
- java生成树型思维导图,Android树形控件绘制方法
- matlab教程 导入数据,MATLAB数据导入
- 23种设计模式-个人笔记(三)
- 安搭Share为您推荐学理财投资必读的书籍
- [转载]刘兴亮|给同一天发的这三款社交产品算算命
- MySQL数据库的锁 --- 六种分类 - 14种锁详细介绍
- 【高等数学】伽马函数与斯特林公式
- Python:缓存库mo-cache支持内存、文件、Redis