Amazon Redshift数据库
Amazon Redshift介绍
Amazon Redshift是一种可轻松扩展的完全托管型PB级数据仓库,它通过使用列存储技术和并行化多个节点的查询来提供快速的查询性能,使您能够更高效的分析现有数据。使用云端Amazon Redshift服务,您无需管理庞大的服务器集群,分析数据的成本不到传统解决方案的十分之一。
Amazon Redshift使用列存储技术改善I/O效率并跨过多个节点平行放置查询,从而提供快速的查询性能。Redshift使用标准的PostgreSQL JDBC和ODBC驱动程序,从而使您能够使用各种常见SQL客户端。数据加载速度与集群大小呈线性关系。
作为AWS的服务之一的Redshift有哪些优势呢?
1、完全托管,快速上手
使用Redshift云服务,您可以根据业务需要在几分钟内建立几个到几十个节点的数据仓库集群,立刻开始您的数据分析的任务,也能根据需求随时增加或减少集群资源。Redshift是完全托管平台,承担了大量的集群管理、数据库管理、监控、集群健康检查、备份、升级等工作,让您能专注业务分析,无需花大量时间在服务器管理,安全及数据备份等工作上。
2、为数据仓库而优化的架构
Amazon Redshift基于企业级PostgreSQL数据库,有大规模并行处理(MPP)结构,MPP可以通过将数据分布到各个计算节点来解决海量数据的处理难题。在Redshift中,每个集群有一个管理节点和多个计算节点。集群内部使用私有、高速、 低延时的网络连接。每个计算节点都有单独的CPU,内存和附加存储,并且每个计算节点有多个分区,您的数据被分布保存在计算节点的多个分区内,因此每个分区的数据量大大减少,您的查询会在多个分区并行执行,大大的增加了查询的效率。
注:MPP是将任务并行的分散到多个服务器和节点上,在每个节点上计算完成后,将各自部分的结果汇总在一起得到最终的结果(与Hadoop相似),详情点击;https://blog.csdn.net/qq_42189083/article/details/80610092
3、查询优化
Redshift提供了针对MPP架构的查询优化引擎,被编译后的SQL分布在多个计算节点的分区内并行执行,并且最大化的利用了列式存储的优势,因此在复杂的多表连接查询的情况下,查询优化器通常能有很大的性能提升。
4、高性能
很多用户使用Redshift获得了几十倍甚至上百倍的查询加速,Redshift为您提供非常搞笑的查询性能,除了上面讲的专为数据仓库而优化的架构外,还有以下优势:
4.1、列式存储
很多数据库使用行式存储,此时如果要基于某个列求和,需要加载整张表的数据,而Redshift列式存储只需要加载一列的数据,磁盘的IO以及内存的消耗都显著减少,增加了性能。由于数据仓库中的大部分查询只是扫描整张表中的部分字段,因此Redshift列式存储特别适合数据仓库查询,另外列式存储索引比传统索引能提供5倍以上的压缩效果和10倍以上的性能提升。
4.2、数据压缩
作为一个列式数据仓库,Redshift还支持列数据压缩,数据压缩减少了磁盘占用空间,减少了读写I/O、减少了内存占用空间,并提高了查询的性能。由于Redshift同列的数据类型相同,有些值也相同,因此Redshift的压缩率很高
5、成本低
使用Redshift无需昂贵的服务器及管理人员成本,仅按使用量付费,并且可以通过购买预留实例来进一步减少成本,实际成本只有传统数据仓库分析的十分之一。
6、安全
创建Redshift集群的时候,可以选择启用加密来保护数据仓库中的数据,启用加密后,所有的数据库、系统表及备份数据都会被加密,保障了数据的安全。连接Redshift的时候,您也可以使用SSL连接,保障网络传输安全。另外AWS也通过身份管理IAM,虚拟网络VPC,防火墙安全组等保护您数据的安全 。
7、负载性能监控
Redshift监控让您能了解集群运行的细节,比如您可以随时检查集群节点的CPU、内存、网络、存储的使用状况,了解节点当前负载,确保您使用合适的资源来满足当前的业务需求。Redshift和云监控CloudWatch服务高度集成,CloudWatch能够监测Redshift的各种指标,也可以设置警报,在集群出现故障时第一时间通知您。CloudWatch简单易用,是保障集群健康的重要环节。
8、数据迁移到Redshift
不管您的数据是否在云中,都能轻松的使用Redshift分析现有数据,对于传统的没有使用云的用户,只需要先将数据文件上传到AWS中。AWS提供了多种途径将云中的数据加载到Redshift中,下面介绍几种:
8.1、从S3中加载数据
传统的用户可以将数据文件通过上传到AWS的云存储S3上。对于敏感数据,可以在上传前加密数据或者使用S3云端加密功能,因此无需担心数据安全。Redshift提供了命令自动将S3中的数据并行加载到Redshift中。
8.2、从Dynamo DB中加载数据
您也可以将数据加载AWS的NoSQL数据库(Dynamo DB)中,Dynamo DB中的数据可以实时或者批量的导入到Redshift。
8.3、从EMR中加载数据
EMR是AWS基于hadoop框架的大数据处理服务,通过大数据处理平台加工后的数据,可以使用Redshift命令将HDFS中的数据加载到Redshift中。
8.4、通过SSH从远程服务器加载数据
Redshift也提供了命令从云中或您数据中心主机上通过SSH连接加载数据。
AWS提供了丰富的功能帮助您将数据中心或云中的数据加载到Redshift中,加载完成后您就可以在Redshift中建立模型,分析数据,使用AWS的QuickSight、Elasticsearch Service等服务显示报表,也可以在AWS的Market Place中寻找行业BI工具分析和显示数据。
Amazon Redshift数据库的更多相关文章
- POWER BI 基于 ODBC 数据源的配置刷新-以Amazon Redshift为例
POWER BI 基于 ODBC 数据源的配置刷新-以Amazon Redshift为例 Powerbi 有多种数据源连接,可以使用它们连接到不同数据源. 如果在 Power BI Desktop 的 ...
- amazon redshift 分析型数据库特点——本质还是列存储
Amazon Redshift 是一种快速且完全托管的 PB 级数据仓库,使您可以使用现有的商业智能工具经济高效地轻松分析您的所有数据.从最低 0.25 USD 每小时 (不承担任何义务) 直到每年每 ...
- Power BI连接至Amazon Redshift
一直在使用Power BI连接至MongoDB中,但效果一直不是太理想,今天使用另一种方法,将MongoDB中的数据通过Azure Data Factory转入Amazon Redshift中,而在P ...
- Amazon Redshift数据迁移到MaxCompute
Amazon Redshift数据迁移到MaxCompute Amazon Redshift 中的数据迁移到MaxCompute中经常需要先卸载到S3中,再到阿里云对象存储OSS中,大数据计算服务Ma ...
- Amazon Redshift and Massively Parellel Processing
Today, Yelp held a tech talk in Columbia University about the data warehouse adopted by Yelp. Yelp u ...
- 将sparkStreaming结果保存到Redshift数据库
1.保存到redshift数据库的代码 package test05 import org.apache.log4j.{Level, Logger}import org.apache.spark.rd ...
- Amazon Redshift and the Case for Simpler Data Warehouses
Redshift是Amazon一个商业产品上的进化 但并不是技术的进化,他使用的无非都是传统数仓领域的技术 如果说创新,就是大量使用Amazon本身的云服务的云原生架构,大大提升的产品的迭代速度,可维 ...
- Tapdata Cloud 2.1.5来啦:新增支持Amazon RDS数据库,错误日志查询更便捷,Agent部署细节再优化
需求持续更新,优化一刻不停--Tapdata Cloud 2.1.5 来啦! 最新发布的版本中,数据连接再上新,同时新增任务报错相关信息快速查询入口,开始支持 JVM 参数自定义设置. 更 ...
- Amazon RDS 上的 Microsoft SQL Server » 导入和导出 SQL Server 数据库
导入和导出 SQL Server 数据库 Amazon RDS 支持使用完整备份文件 (.bak 文件) 对 Microsoft SQL Server 数据库进行本机备份和还原.您可以在单个便携式文件 ...
随机推荐
- mysql cmd 启动服务
1.确定你的mysql 是否能正常工作登录数据库cmd--“命令提示字符”窗口录入,录入cd C:\mysql\bin 并按下回车键,将目录切换为 cd C:\mysql\bin再键入命令mysql ...
- 并发编程之 ConcurrentLinkedQueue 源码剖析
前言 今天我们继续分析 java 并发包的源码,今天的主角是谁呢?ConcurrentLinkedQueue,上次我们分析了并发下 ArrayList 的替代 CopyOnWriteArrayList ...
- ASP.NET开发,从二层至三层,至面向对象 (4)
继续上一篇<ASP.NET开发,从二层至三层,至面向对象 (3)>http://www.cnblogs.com/insus/p/3826706.html .我们更深层次学会了逻辑层对象,即 ...
- Redis——非阻塞IO和队列
Redis是个高并发的中间件,但是确实是单线程.而且,Nginx.Node.js等也是单线程的.Redis通过非阻塞IO(IO多路复用)处理那么多的并发客户端连接,并且,由于Redis所有的数据都在内 ...
- EF框架的三种模式
Database First就是先建数据库或使用已有的数据库.然后在vs中添加ADO.Net实体数据模型,设置连接并且选择需要的数据库和表.它是以数据库设计为基础的,并根据数据库自动生成实体数据模型, ...
- FZU1759(SummerTrainingDay04-B 欧拉降幂公式)
Problem 1759 Super A^B mod C Accept: 1056 Submit: 3444Time Limit: 1000 mSec Memory Limit : 327 ...
- JS UNIX 时间戳与时间格式转换
上代码,不多说了,这个没啥说的,记录一下: var date = new Date() // Date 2019-03-05T13:50:39.775Z // 获取1970 至今的毫秒数 var ti ...
- css 给inline和inline-block元素设置margin和padding
经过简单的测试,行内元素或者行内块元素的maring-left,margin-right,padding-left,padding-right都是可以正常表现的,下面来看一下剩下的margin-top ...
- SD从零开始41-44
[原创] SD从零开始41 科目确定(Account determination) 使用科目确定Using Account Determination 你将需要在几个不同的领域确定将要记账的科目: 用 ...
- CentOS7上Python3.5安装
CentOS7上Python3.5安装 1.下载 https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz 2.上传到服务器 3. yum in ...