AWS Kinesis是AWS提供的一种托管式流处理服务。它旨在帮助用户收集、分析和处理实时数据流,以便用于实时应用程序、实时分析和大数据处理。类似于GCP中的pub/sub+Dataflow。AWS Kinesis的的服务主要包括以下四种:Video Stream、Data Stream、Data Firehose、Data Analytics。
Kinesis Video Streams是AWS提供的一项服务,用于流式传输、存储和处理实时视频数据。它专门设计用于处理大规模的视频流,并提供了一系列功能来管理和处理实时视频数据。下面是Video Stream的工作流程。
Kinesis Data Streams是AWS提供的一项托管式流处理服务,用于收集、存储和处理实时数据流。它专注于高可扩展性和低延迟,适用于需要处理大量实时数据的应用程序和系统。
Kinesis Data Stream中数据默认保存24小时,最多保存7天。
Kinesis Data Firehose是AWS提供的一项托管式流式数据传输服务(ETL),用于将实时数据加载到各种目标存储和分析服务。它旨在简化数据传输和导入的复杂性,提供一种简便的方式来处理实时数据流。
Kinesis Data Analytics是AWS提供的一项托管式流数据分析服务,用于实时处理和分析流式数据。它提供了一种简单且可扩展的方式来处理实时数据流,并支持使用标准的SQL查询语言进行实时的转换、分析和聚合操作。
Kinesis Data Analytics主要有以下特点和功能:
Kinesis Agent是AWS提供的一种本地数据收集工具,用于将日志数据和其他文件数据流式传输到AWS服务,例如Kinesis Data Streams、Kinesis Data Firehose和CloudWatch Logs。它简化了数据收集和传输的过程,可轻松地将本地文件数据发送到AWS云中进行进一步的处理和分析。
AWS SQS (Simple Queue Service) 是亚马逊网络服务(AWS)提供的一项完全托管的消息队列服务。它允许不同的组件和应用程序之间通过异步消息传递来实现解耦和可靠性。
AWS SQS 的主要特点和功能:
AWS SQS和Kinesis Data Streams在功能和使用场景上有一些区别:
AWS IoT(Internet of Things)是AWS提供的一套全面的云端解决方案,用于构建、部署和管理物联网(IoT)应用程序。AWS IoT提供了一系列服务和功能,用于连接、管理和分析大规模的物联网设备和数据。
AWS MSK(Managed Streaming for Kafka)是亚马逊网络服务(AWS)提供的一项托管式Apache Kafka服务,用于构建和运行可扩展、可靠的实时数据流应用程序。
AWS MSK 提供以下主要功能和特点:
AWS MSK(Managed Streaming for Kafka)和 AWS Kinesis 的区别:
AWS MSK 的适用场景:
AWS Kinesis 的适用场景:
S3存储类型:
AWS S3中的加密选项:
Bucket Version:对象版本控制功能,允许在存储桶中保留和管理对象的多个版本。当版本控制启用后,每次对同一键(Key)的对象进行更新或删除操作时,都会创建一个新的版本,并将之前的版本保留在存储桶中,需要注意的是,版本控制会增加存储成本。S3版本控制的主要特点和使用方式如下:
Lifetime:在S3中,对象的生命周期可以通过配置进行管理。对象的生命周期指定了对象在存储桶中的不同阶段的行为,包括存储、转换存储类别、过期和删除等。通过配置生命周期规则,可以根据业务需求自动管理对象的存储类别和生命周期。这有助于优化存储成本,并确保不再需要的对象被及时删除。我们可以定义对象的以下两个关键方面:
Cross-Region Replication:跨区域复制是一项功能,允许将一个存储桶中的对象通过异步复制的方法复制到另一个AWS区域的存储桶中。这提供了数据冗余和灾难恢复的能力,以确保数据在多个区域之间的复制和可用性。同时支持跨账户复制、版本控制复制。
ETag(Entity Tag):是一个用于标识对象的特殊标识符。它通常是一个由双引号括起来的字符串,可以用于验证对象在传输或存储过程中是否完整和一致。
S3 CORS(Cross-Origin Resource Sharing):S3 CORS,可以控制允许从其他域访问S3存储桶中的对象的规则。
S3监控
DynamoDB是亚马逊网络服务(AWS)提供的一种全托管、高可扩展的NoSQL数据库服务。它旨在提供低延迟和高吞吐量的性能,以满足各种规模和负载的应用程序需求。
以下是DynamoDB的主要特点和功能:
自动扩展,支持数据在多个AWS区域之间的自动复制和同步。数据会在多个可用区中进行复制,以实现高可用性和灾难恢复。
DynamoDB是一种键值存储数据库,每个项目都由主键唯一标识。除了主键之外,DynamoDB还支持范围键和全局二级索引,以提供更灵活的数据访问模式。
常用操作:读、写、更新、删除item,批量写入、读取item,查询数据、扫描全表。
Primary Key:用于唯一标识表中的每个项目(item)的关键属性,用于索引和检索数据。DynamoDB的主键可以分为两种类型:
Consistent Read:一致性读取是指读取操作返回最新写入数据的能力。
RCU(Read Capacity Units)和 WCU(Write Capacity Units):用于衡量读取和写入操作的计量单位,可以根据应用程序的需求和负载模式来调整RCU和WCU的配置。
分区(Partitions)是用于存储和分布数据的逻辑单元。每个DynamoDB表都由一个或多个分区组成,分区用于将数据分布在不同的物理存储节点上,以实现高吞吐量和可扩展性。通过合理设计分区键和合理规划表的吞吐量,可以实现在DynamoDB中高度可扩展和高吞吐量的数据存储和访问。
DynamoDB Accelerator (DAX) : DynamoDB 的全管理缓存服务。它可以显著提高 DynamoDB 数据库的读取性能,通过减少与 DynamoDB 的网络通信以及读取数据的负载。
DynamoDB Streams: DynamoDB提供的一个实时流服务,用于捕获和跟踪对DynamoDB表的数据修改事件。它允许应用程序实时处理和响应这些数据变更事件,可以使用Lambda函数获取Streams。
TTL(Time to Live):是一项功能,允许为表中的项目设置过期时间。一旦项目到达其过期时间,DynamoDB会自动将其标记为过期并删除。
DynamoDB的anti pattern:
AWS Redshift是一种完全托管的数据仓库解决方案,适用于需要高性能、可扩展和可靠的大规模数据分析工作负载。它使用列式存储和并行处理的架构,能够高效地处理大量结构化数据。
以下是一些关键特点和功能:
Redshift的架构
Redshift的基本组织单位是集群,由一个或多个节点(Nodes)组成。节点分为两种类型:Leader Node(主节点)和Compute Nodes(计算节点)。
Redshift的工作负载管理(Workload Management):通过工作负载管理,可以管理并发查询,设置优先级和资源限制,以确保关键业务查询的性能,并避免对系统的过度负载。以下是Amazon Redshift中工作负载管理的一些关键概念和功能:
AWS RDS(Amazon Relational Database Service)是亚马逊云服务(AWS)中的一项托管数据库服务,用于轻松部署、管理和扩展关系型数据库。AWS RDS支持多种数据库引擎,包括MySQL、PostgreSQL、Oracle、Microsoft SQL Server和Amazon Aurora。支持ACID事务。
主要特点和用途:
Amazon Aurora是亚马逊云服务(AWS)中的一种托管关系型数据库服务,是一种高性能、高可用性的数据库引擎。它兼容MySQL和PostgreSQL,并提供了许多增强功能,使其成为一种强大的关系型数据库解决方案。
主要特点和用途:
Aurora和RDS的一些区别:
支持的数据库引擎:
性能和可用性:
数据库兼容性:
成本:Amazon Aurora通常相对于AWS RDS的其他数据库引擎而言,具有更高的价格。它提供了更强大的性能和功能,但在一些特定的应用场景下,AWS RDS的其他数据库引擎可能更为经济实惠。
AWS Database Migration Service(DMS)是亚马逊网络服务(AWS)提供的一项数据库迁移服务,旨在帮助用户轻松、快速地将现有数据库迁移到AWS云中的各种数据库解决方案。
AWS Database Migration Service 提供了以下主要功能和特点:
AWS Schema Conversion Tool:SCT是亚马逊网络服务(AWS)提供的一款用于帮助用户在迁移到AWS云数据库时进行数据库模式转换的工具。它可以自动分析和转换关系型数据库(如Oracle、SQL Server、MySQL等)的模式和存储过程,以适应AWS云中的目标数据库。
AWS Direct Connect是亚马逊网络服务(AWS)提供的一项网络服务,它允许用户通过专用网络连接(Direct Connect连接)将本地数据中心或私有网络与AWS云进行直接连接。
AWS Direct Connect 提供以下主要功能和特点:
AWS Snowball是亚马逊网络服务(AWS)提供的一项数据迁移和传输服务,旨在帮助用户将大规模数据安全地从本地环境迁移到AWS云中,或从AWS云中迁移到本地环境。
AWS Snowball的主要特点和功能如下:
AWS Glue是AWS提供的一项完全托管的ETL(Extract, Transform, Load)服务。它旨在帮助用户轻松地准备和转换来自于多个数据源的大型数据集,以供数据分析、数据仓库和机器学习等用途使用。AWS glue的整体架构如下图
Amazon EMR(Elastic MapReduce)是亚马逊网络服务(AWS)提供的一种全托管的大数据处理服务。它基于Apache Hadoop和Apache Spark等开源框架,旨在简化和加速大数据处理的部署和管理。
以下是AWS EMR的一些关键特点和功能:
AWS EMR的架构
EMR中的组件:
Spark集成:
AWS Elasticsearch是亚马逊云服务(AWS)中的一项托管服务,它基于开源的Elasticsearch引擎构建。AWS Elasticsearch为用户提供了一个简单、可扩展和可管理的Elasticsearch集群,用于进行搜索和分析大规模数据。
AWS Elasticsearch主要特点和用途:
Amazon Athena是AWS提供的一种交互式查询服务,用于分析存储在Amazon S3中的数据。它允许用户使用标准的SQL语言查询和分析大规模的结构化、半结构化和非结构化数据,而无需事先定义模式或进行数据加载。
主要特点和用途:
Amazon Athena、AWS EMR、AWS Redshift和Elasticsearch是AWS云服务中用于数据处理和分析的不同类型的服务,它们之间有一些区别:
Amazon QuickSight是AWS提供的一种全托管的商业智能(BI)工具和服务。它允许用户从各种数据源中创建、可视化和分享交互式的数据仪表板和报告。
以下是一些关键特点和功能:
AWS QuickSight SPICE(Super-fast, Parallel, In-memory Calculation Engine)是Amazon QuickSight的数据处理和查询引擎。SPICE是一种高性能、并行处理的内存计算引擎,用于加速数据查询和分析,提供快速的数据可视化和报表生成功能。
AWS Batch是亚马逊网络服务(AWS)提供的一项托管式、可扩展的计算服务,用于在云环境中运行大规模批处理作业。它使您能够高效地调度、管理和执行计算密集型工作负载,如批处理处理、数据处理、模拟和分析等。
以下是AWS Batch的一些主要特点和功能:
AWS batch和AWS Lambda
AWS Step Functions是亚马逊网络服务(AWS)提供的一项有状态的无服务器工作流服务。它允许您协调和编排多个AWS服务和Lambda函数,以构建灵活、可靠和可扩展的应用程序和工作流,例如任务的顺序、条件分支、循环、并行处理和错误处理等。
AWS Step Functions支持两种类型的工作流:标准工作流和Express工作流。
AWS Encryption是指在亚马逊云服务(AWS)中对数据进行加密,以确保数据在存储、传输和处理过程中的安全性和保密性。AWS提供了多种加密选项,可以用于保护数据在各种服务和存储中的安全性。
以下是AWS中常见的加密选项:
AWS Key Management Service(KMS)为AWS云中的各种服务和应用程序提供了安全的密钥管理功能,帮助用户保护数据的机密性,并确保数据在存储和传输过程中的安全性。
AWS CloudHSM(Cloud Hardware Security Module)是亚马逊云服务(AWS)中的一项安全服务,它为客户提供了一个硬件安全模块(HSM)来保护密钥和执行加密操作。HSM是一种专用硬件设备,用于生成、存储和管理加密密钥,并在安全的环境中执行加密和解密操作。
CloudHSM和 KMS在设计和用途上有一些区别:
AWS STS(Security Token Service)是亚马逊云服务(AWS)中的一项服务,它允许用户获取临时安全凭证,用于访问AWS资源和执行操作。STS提供了一种安全的方式,让用户获得有限的权限来访问特定的AWS资源,而不需要共享长期的AWS访问凭证。
主要特点和用途:
AWS Federation是指在亚马逊云服务(AWS)中使用身份联合(Federation)来实现跨域访问和身份验证。它允许用户在一个AWS账户中获取临时安全凭证,并将这些凭证用于访问另一个AWS账户的资源。通过AWS Federation,用户可以使用单一身份进行跨AWS账户的访问,而无需共享长期的AWS凭证。
主要特点和用途:
AWS联合相关的一些关键服务:
AWS CloudTrail是亚马逊云服务(AWS)中的一项服务,用于跟踪和记录AWS账户中的API活动和资源操作。CloudTrail可以帮助用户实现对AWS环境中的安全性、合规性和操作可视化的监控。
主要特点和用途: