前言
1、AWS一站式大数据分析平台
Amazon Web Services 提供了一套全面且完全集成的云计算服务产品组合,可帮助您构建、保护和部署大数据应用程序。借助 AWS,您无需购买硬件,也无需维护和扩展基础架构,因此可以将您的资源集中用于发掘新的洞察。
借助AWS的大数据服务能够构建几乎任何大数据应用程序,方便帮助您收集、存储、处理、分析和可视化云中的大数据,包括数据仓库、点击流分析、欺诈侦测、推荐引擎、事件驱动 ETL、无服务器计算和物联网处理等多种典型应用。详情可参考官方介绍。
亚马逊云科技提供了100余种产品免费套餐。其中,计算资源Amazon EC2首年12个月免费,750小时/月;存储资源 Amazon S3 首年12个月免费,5GB标准存储容量。
2、让人不得不喜欢的AWS
优点:
1、可扩展的数据湖(AWS 支持的数据湖在 Amazon S3 的非凡可用性的辅助下,可以处理组合不同数据和分析方法所需的规模、敏捷性和灵活性。在 AWS 上构建和存储您的数据湖以获得比使用传统数据孤岛和数据仓库更深入的洞察力。)
2、专为满足性能和成本需求构建(AWS 分析服务专门用来帮助您快速地提取数据洞察力,使用最适合任务的工具,经过优化后针对您的需求实现最佳性能、规模和成本。)
3、无服务器且易于使用(AWS 拥有云数据分析中最多的无服务器选项,包括数据仓库、大数据分析、实时数据、数据集成等选项。我们管理底层基础设施,以便您就可以专注于您的应用程序。)
4、数据访问、数据安全和数据管控一统云端(您可以通过 AWS 定义和管理安全、治理和审计策略,以满足行业和地域特定的法规要求。通过 AWS,您可以访问位于世界各地的数据,并且无论您在哪里存储数据,我们都倾心保护它的安全。)
5、机器学习(ML)集成(AWS 提供内置的 ML 集成,随专门构建的分析服务一起提供。您可以使用熟悉的 SQL 命令创建、训练和部署机器学习模型,而无需任何机器学习经验。)
6、再来看一组数据,哈哈哈,妥妥的“别人家的孩子”。
缺点:
唯一的缺点就是官方的一些视频和文档是英文的,但是对有一定英文基础的同学来说这都不是事,哈哈哈,实在不行咱还有翻译器。
3、个人建议
当企业中出现如下问题或场景时,选择AWS,它会给一个满意的全套解决方案。
1、 当前企业面临着严重的基础设施老旧、自动化程度低、专用工具缺乏和繁重的资本支出的问题。
2、 企业被传统商业数据库束缚,而难以开展创新, 但仍需要商用数据库的性能。
3、 运维耗时但价值输出较低,但企业又不得不在这方面耗费精力和成本。
4、企业拥有TB 级、PB 级的结构化数据和数倍于此的非结构化数据,分布在全球的用户,并以极低的延迟每秒处理数百万个请求。
4、文章说明
本文主要针对AWS大数据一站式全家桶,结合不同企业现状和应用需求提出对应三种AWS解决方案,并展示部分实际应用场景,并对比踩坑,提出中肯建议。
一、AWS大数据平台全家桶简介
整个AWS我们分三部分介绍,即一首一尾+中间AWS大数据体系组件。
1、一首(数据源)
如图所示AWS可以处理的数据源,包括结构化的数据如:ERP/CRM等系统的业务数据,也可以处理非结构化的数据如图像/视频/音频和物联网设备的数据,等等。
2、一尾(数据应用)
即我们将数据源获取到的数据进行数据分析和形成API的形式对接其他业务场景。这里包括了AWS常用的可视化组件Amazon Quicksight。
3、中间(大数据体系)
3.1导入组件
AWS Direct Connect是一个采用专用带宽来直连数据的组件; AWS Database migration 专业迁移关系型数据库数据的组件,如获取ERP/CRM系统中数据,数据库类型如 oracle、mysql等,主要用于处理历史数据和大批量数据;Amazon Kinesis 用于处理实时数据,做实时数据分析,相当于kafka+flink;Internet of Things(lot) 接入物联网的数据和搭建物联网模型的组件。
3.2数据处理组件
S3用于数据存储的组件;Glue简单数据处理组件,用于数据简单的聚合、过滤、清洗等;EMR处理个性化、高阶数据分析需求,属于Hadoop生态体系,性能更佳。数据处理,包括批处理和流处理,即批量处理离线数据,一般是数据量大、处理时间长的场景。流处理属于处理实时数据做实时分析和消息推送,比如查看实时双十一的销售额。机器学习与人工智能组件主要是通过大数据提供的模型进行机器学习,同时也可以进行图像识别、语音处理如聊天机器人。
3.3服务组件
Athena可以直接访问S3的数据,提供SQ查询的功能,属于SQ工具类;ES与开源的ES一致,AWS将其集成在全家桶内;EMR 用于大数据处理组件,是hive类组件集合;RedShift 是一个大型的数仓,在底层做了较多性能优化,可以处理PB级数据量。RDS 属于AWS托管的关系型数据库;DynamoDB是AWS自研的关系型数据库。这些组件都可以对外提供JDBC的数据服务。
二、三种经典玩法的对比
1、全部采用AWS的组件
优点:集成度高、可共用元数据、组件之间集成快、使用流畅性好、开发效率高。
缺点:需要部署到AWS的云平台,不能部署到其他国内的商业云,如阿里云、腾讯云等。
2、AWS组件+EMR(深度分析)
优点:支持复杂分析场景+可兼容开源。
缺点:暂未发现其缺点,兼容了第一种玩法AWS的优势又支持复杂的应用场景,也兼容了开源的语法,目前认为最佳的组合拳。
3、全部采用开源EMR+AWS环境托管
优点:AWS托管不需要考虑太多底层的东西,自主研发,灵活度高,支持目前的各大厂商。
缺点:集成度不高,需要强大懂开源的开发团队,研发周期长。
4、总结
具体采用哪种玩法,需结合公司具体的业务场景来选择,如果公司有一定的研发力量又想自定义部署,建议采用第二种玩法。