AWS的大数据生态3

本文是AWS大数据生态的连载之3,重点介绍数据分析和安全。

Analysis

数据分析分析是生态中的关键环境 ,AWS离线数据数据主打Redshift和EMR,在线流式分析一般使用Kinesis Analysis, ElasticSearch,甚至CloudWath Logs也有简单的日志实时侦测功能。

Redshift是AWS的数据仓库服务,数据使用列式存储(Columnar),这种存储方式便于压缩和快速读取列数据,很适合于OLAP (Online Analytical Processing),但不适于按行读写的OLTP(Online Transactional Processing)操作。一个Redshift集群最多可以有128个节点,单个节点最大存储达16TB,集群最大存储达可2PB。数据表需要设置分布方式(Distribution Style)以提高分析的效率,选择的原则是避免节点间大量的数据交换,如果需要经常的Join操作,则使用Key分布,以便相同Key的数据被存放在相同的节点上;如果数据不经常变化,则使用ALL,即把数据在所有节点上都有一份拷贝;其它情况下使用Even,数据分均匀分布在所有节点。Redshift与S3,Kinesis FireHose, EMR和Data pipeline都有直接集成,向Redshift中迁移数据效率最高的则是使用COPY命令从S3的输入。Redshfit不支持UPSERT直接操作,需要使用staging表中转。

EMR是基于Hadoop的分布式系统运行框架,其上运行开源软件来实现具体的分析功能,EMR+Presto则是非常流行的组合。Presto 是 Facebook 推出的一个基于Java开发的大数据分布式 SQL 查询引擎,可对从GB到PB的大数据进行交互式的查询,查询的速度达到商业数据仓库的级别。Presto支持的数据源众多,可以是HDFS,S3,也可以是Cassandar, MongoDB, Hbase等NoSQL数据库,或者SQL数据库,如MySQL, PostgreSQL,Redshift, MS SQL等。Presto对用户提供统一的SQL查询引擎,用户使用SQL语言可以分析来自多种数据源的数据,非常方便。

Athena使用标准 SQL 分析 Amazon S3 中的数据。Athena 是serverless,因此无需管理任何基础设施,且只需为运行的查询付费。ELB/ALB的日志都是以文件的方式 存放在S3中,使用Athena就可以方便的分析这些日志,查看流量的来源、延迟等,类似Flowlog也可以使用Athena快速分析查看统计数据。Elasticsearch 使用流行的开源搜索和分析引擎,适用于日志分析、实时应用程序监控、点击流分析等使用案例,在ElasticSearch上可以直接由Kibana实现数据可视化。

Visualization

AWS的数据可视化主推QuickSight,EMR和Elastic Search也包括第三方的可以视化工具。QuickSight 是一项业务分析服务,可用于构建可视化内容,执行临时分析,以及从数据中获得业务见解。它可以自动发现 AWS 数据源,并且还可以使用您的数据源。Amazon QuickSight 使组织可以扩展到数十万个用户,并使用强大的内存中引擎 (SPICE) 提供快速的响应。Quick Sightf支持Story,有一个或多个可像幻灯片一样播放的场景 (捕获的视觉对象) 的组合。

亚马逊官方对其的总结和描述如下:QuickSight是一个高效的、易用的、低成本的和基于云的商业决策服务。它可以让毫无代码基础的用户方便的进行可视化和高效的Ad-hoc查询功能进行数据分析,从海量数据快速获取商业决策。QuickSigh完美整合了AWS的数据存储系统、单独的数据文件和第三方数据源,同时能够在海量数据,高并发查询的情况下快速的得出分析结果。

Security

数据安全包括数据加密和访问控制,加密又分为存储加密(at rest)和传输加密(in transit)。传输过程中一般使用HTTPS来保证数据安全,存储加密则可以使用AWS的KMS服务或者CloudHSM,或者用户先加密数据再输入。S3支持SSE-S3(Server Side encryption),SSE-KMS或者CSE(Client Side Encryption),其它服务一般都支持SSE-KMS,即使用KMS管理的密钥来进行服务端加密。

Kinesis stream和Firehose都支持SSE-KMS,如果Stream与FireHose对接,则FireHose不存储数据也不做SSE。Redshift的加密对已创建数据表进行,需要规划中断窗口,DynamoDB的则只能在创建表时使能加密。注意KMS只支持对称加密,而CloudHSM则可以支持不对称加密。CloudHSM是用户所有的加密硬件单元,单元置于AWS的数据中心,由AWS管理和维护硬件。CloudHSM价格昂贵,用户不光要为设备本身付费,而且还要为使用付费,如果要保证服务的高可靠性,还需要部署至少两台HSM.

数据的权限管理主打IAM,IAM跟AWS所有服务都有集成,可以管理至DynamoDB的表项或者S3中的单个object,Redshift的表权限由Redshift数据管理。IAM支持Federation,对于外部访问也可以用现成的验证系统难并从STS中拿Token再去访问AWS服务。

Machine Learning

AWS的Machine Learning服务支持回归(Regression),二分类或多类的识别模型,模型由AWS优化并给出模型的指标。AWS Sagemaker则集成的模型的训练和部署,也支持深度学习模型。AWS也提供预装TensorFlow,PyTorch等深度学习框架的AMI。在训练模型时可以使用AWS提供的显卡加速系列EC2——P2、P3和G3都配置有Nvidia的显卡。SageMaker的设计初衷让数据科学家把更多精力集中的建模和框架上面,而AWS承担了集群部署维护和调参这些繁杂的工作。

猜你喜欢

转载自blog.csdn.net/weixin_34245082/article/details/86936950