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 数据库进行本机备份和还原.您可以在单个便携式文件 ...
随机推荐
- JS pop push unshift shift的作用与区别
白话JS中数组方法pop push unshift shift的作用与区别,通过本文,你大概能知道这四种数组方法的基本使用与大致区别. 首先,这四种方法会直接修改数组,请先记住这一点. 我们先把pop ...
- 纯css竟可以做出边框这样长宽度的过渡效果
边框效果如下:鼠标移到下面方形,就有效果 要是没有效果,点这个:https://murenziwei.github.io/testGit/Untitled1.html 正如你所看到的,这边框颜色只 ...
- Quart2D文字图像绘制
上一个是绘制简单图形,这一篇学习绘制文字.图像 //获取画布 CGContextRef context=UIGraphicsGetCurrentContext(); //设置边框颜色 CGContex ...
- django2.1---admin 修改模块的名字为中文显示
只需要写两个地方 1.应用下的__init__.py default_app_config = 'user.apps.UserConfig' 2.应用下apps.py from django.apps ...
- 微信开发(一)基于Wx-java的微信分享功能
最近在做微信服务号开发,简单总结一下,便于自己学习积累和分享给大家: 环境介绍: Spring+ Spring MVC +Mybatis 开发语言: JAVA 微信公众平台的开发中,微信只公布了一个基 ...
- RadioButtonList根据值触发OnSelectedIndexChanged事件
Insus.NET有使用Iframe来处理另外一个站点的enter form,由于需要自动循环填入数据,免去人手操作.但是原来的Enter from有RadioButtonList控件以及OnSele ...
- 4.3.6 对象的界定通过编写接口来访问带这类命名结构的表会出问题。如前所述,SQL Server的灵活性不应用作编写错误代码或创建问题对象的借口。 注意在使用Management Studio的脚本工具时,SQL Server会界定所有的对象。这不是因为这么做是必须的,也不是编写代码的最佳方式,而是因为在界定符中封装所有的对象,比编写脚本引擎来查找需要界定的对象更容易。
如前所述,在创建对象时,最好避免使用内嵌的空格或保留字作为对象名,但设计人员可能并没有遵守这个最佳实践原则.例如,我当前使用的数据库中有一个审核表名为Transaction,但是Transaction ...
- Spring基础(9) : 自动扫描
一 配置xml方式:扫描com包下的bean <?xml version="1.0" encoding="UTF-8" ?> <beans ...
- [日常] Go语言圣经--Channel习题
练习 8.3: 在netcat3例子中,conn虽然是一个interface类型的值,但是其底层真实类型是*net.TCPConn,代表一个TCP连接.一个TCP连接有读和写两个部分,可以使用Clos ...
- Spring Boot学习笔记(七)多数据源下的事务管理
DataBaseConfig中加入事务管理器 DataBaseConfig的详解以及多数据源的配置参见我的上一篇文章 @Configuration @MapperScan(basePackages={ ...