96SEO 2026-02-20 07:56 0
。

DynamoDB能在任何规模下实现不到10毫秒级的一致响应#xff0c;并且它的存储空间无限#xff0c;可在任何规模提供可靠的性能。
DynamoDB
键值数据库旨在运行任何规模的高性能应用程序。
DynamoDB能在任何规模下实现不到10毫秒级的一致响应并且它的存储空间无限可在任何规模提供可靠的性能。
DynamoDB
提供内置安全性、连续备份、自动多区域复制、内存缓存和数据导出工具。
Redshift是一个快速、功能强大、完全托管的PB级别数据仓库服务。
用户可以在刚开始使用几百GB的数据然后在后期扩容到PB级别的数据容量。
Redshift是一种联机分析处理OLAPOnline
Processing的类型支持复杂的分析操作侧重决策支持并且能提供直观易懂的查询结果。
internet-gateway-id(允许与外界进行通信)destination10.10.0.0/16
允许任意ip对443端口进行访问允许自己的ipdui22端口进行访问以便ssh到服务器上向数据库插入数据glue
允许vpc内部10.10.0.0/24对5439端口进行访问允许glue
允许vpc内部10.10.0.0/24对5439端口进行访问允许kenisis
dynamodb-to-redshift-vpccustom:bucketNamePrefix:
${self:service}deploymentBucket:name:
com.${self:custom.bucketNamePrefix}.deploy-bucketserverSideEncryption:
AES256resources:Parameters:VpcName:Type:
AWS::EC2::VPCProperties:CidrBlock:
AWS::EC2::InternetGatewayProperties:Tags:-
VPC_${VpcName}_InternetGatewayVPCGatewayAttachment:Type:
AWS::EC2::VPCGatewayAttachmentProperties:VpcId:
groupWebServerSecurityGroup:Type:
AWS::EC2::SecurityGroupProperties:GroupDescription:
VPC_${VpcName}_WebServerSecurityGroup#
AWS::EC2::RouteTableProperties:VpcId:
VPC_${VpcName}_RouteTablePublicRouteTablePublicInternetRoute:Type:
VPCGatewayAttachmentProperties:RouteTableId:
RouteTablePublicDestinationCidrBlock:
AWS::EC2::SubnetProperties:AvailabilityZone:
10.10.0.0/24MapPublicIpOnLaunch:
VPC_${VpcName}_SubnetAPublicRouteTableAssociationAPublic:Type:
AWS::EC2::SubnetRouteTableAssociationProperties:SubnetId:
RouteTablePublicSubnetBPublic:Type:
AWS::EC2::SubnetProperties:AvailabilityZone:
10.10.32.0/24MapPublicIpOnLaunch:
VPC_${VpcName}_SubnetBPublicRouteTableAssociationBPublic:Type:
AWS::EC2::SubnetRouteTableAssociationProperties:SubnetId:
RouteTablePublicSubnetCPublic:Type:
AWS::EC2::SubnetProperties:AvailabilityZone:
10.10.64.0/24MapPublicIpOnLaunch:
VPC_${VpcName}_SubnetCPublicRouteTableAssociationCPublic:Type:
AWS::EC2::SubnetRouteTableAssociationProperties:SubnetId:
groupPrivateRedshiftSecurityGroup:Type:
AWS::EC2::SecurityGroupProperties:GroupDescription:
GlueRedshiftConnectionSecurityGroup.GroupIdTags:-
VPC_${VpcName}_PrivateRedshiftSecurityGroup#
groupPublicRedshiftSecurityGroup:Type:
AWS::EC2::SecurityGroupProperties:GroupDescription:
VPC_${VpcName}_PublicRedshiftSecurityGroupGlueRedshiftConnectionSecurityGroup:Type:
AWS::EC2::SecurityGroupProperties:GroupDescription:
VPC_${VpcName}_GlueRedshiftConnectionSecurityGroupGlueRedshiftConnectionSecurityGroupSelfReferringInboundRule:Type:
AWS::EC2::SecurityGroupIngressProperties:GroupId:
GlueRedshiftConnectionSecurityGroup.GroupIdIpProtocol:
GlueRedshiftConnectionSecurityGroup.GroupIdSourceSecurityGroupOwnerId:
AWS::EC2::EIPProperties:Domain:
AWS::EC2::NatGatewayProperties:AllocationId:
AWS::EC2::RouteTableProperties:VpcId:
VPC_${VpcName}_RouteTablePrivateRouteTablePrivateRoute:Type:
AWS::EC2::RouteProperties:RouteTableId:
RouteTablePrivateDestinationCidrBlock:
AWS::EC2::SubnetProperties:AvailabilityZone:
VPC_${VpcName}_SubnetAPrivateRouteTableAssociationAPrivate:Type:
AWS::EC2::SubnetRouteTableAssociationProperties:SubnetId:
RouteTablePrivateSubnetBPrivate:Type:
AWS::EC2::SubnetProperties:AvailabilityZone:
VPC_${VpcName}_SubnetBPrivateRouteTableAssociationBPrivate:Type:
AWS::EC2::SubnetRouteTableAssociationProperties:SubnetId:
RouteTablePrivateSubnetCPrivate:Type:
AWS::EC2::SubnetProperties:AvailabilityZone:
VPC_${VpcName}_SubnetCPrivateRouteTableAssociationCPrivate:Type:
AWS::EC2::SubnetRouteTableAssociationProperties:SubnetId:
RouteTablePrivateOutputs:VPC:Description:
${self:provider.stackName}SubnetsPublic:Description:
${self:provider.stackName}-PublicSubnetsSubnetsPrivate:Description:
${self:provider.stackName}-PrivateSubnetsDefaultSecurityGroup:Description:
VPC.DefaultSecurityGroupExport:Name:
${self:provider.stackName}-DefaultSecurityGroupWebServerSecurityGroup:Description:
WebServerSecurityGroupExport:Name:
${self:provider.stackName}-WebServerSecurityGroupPrivateRedshiftSecurityGroup:Description:
PrivateRedshiftSecurityGroupExport:Name:
${self:provider.stackName}-PrivateRedshiftSecurityGroupPublicRedshiftSecurityGroup:Description:
PublicRedshiftSecurityGroupExport:Name:
${self:provider.stackName}-PublicRedshiftSecurityGroupGlueRedshiftConnectionSecurityGroup:Description:
GlueRedshiftConnectionSecurityGroupExport:Name:
${self:provider.stackName}-GlueSelfRefringSecurityGroupRedshift
job同步数据到redshiftPubliclyAccessible必须设为false否则glue
job同步数据到redshiftPubliclyAccessible必须设为true且security
ip对5439端口进行访问否则firehose无法连接到redshift
dynamodb-to-redshift-redshiftcustom:bucketNamePrefix:
${self:service}deploymentBucket:name:
com.${self:custom.bucketNamePrefix}.deploy-bucketserverSideEncryption:
AES256resources:Parameters:ServiceName:Type:
dynamodb-to-redshiftResources:PrivateClusterSubnetGroup:Type:
AWS::Redshift::ClusterSubnetGroupProperties:Description:
${ServiceName}-vpc-PrivateSubnetsTags:-
private-subnetPrivateCluster:Type:
AWS::Redshift::ClusterProperties:ClusterIdentifier:
test-data-sync-redshiftClusterSubnetGroupName:
ClusterSubnetGroupVpcSecurityGroupIds:-
${ServiceName}-vpc-PrivateRedshiftSecurityGroupDBName:
falsePublicClusterSubnetGroup:Type:
AWS::Redshift::ClusterSubnetGroupProperties:Description:
${ServiceName}-vpc-PublicSubnetsTags:-
public-subnetPublicCluster:Type:
AWS::Redshift::ClusterProperties:ClusterIdentifier:
test-data-sync-redshift-publicClusterSubnetGroupName:
PublicClusterSubnetGroupVpcSecurityGroupIds:-
${ServiceName}-vpc-PublicRedshiftSecurityGroupDBName:
trueOutputs:PrivateRedshiftEndpoint:Description:
Cluster.Endpoint.AddressExport:Name:
${self:provider.stackName}-PrivateRedshiftEndpointPrivateRedshiftPort:Description:
Cluster.Endpoint.PortExport:Name:
${self:provider.stackName}-PrivateRedshiftPortPublicRedshiftEndpoint:Description:
PublicCluster.Endpoint.AddressExport:Name:
${self:provider.stackName}-PublicRedshiftEndpointPublicRedshiftPort:Description:
PublicCluster.Endpoint.PortExport:Name:
${self:provider.stackName}-PublicRedshiftPort使用AWS
一次性整表同步对于典型的时间序列数据当前的数据写入和读取频率高越老的数据读写频率越低通常会采用为每个时间段每天创建一张表的方式来合理的分配WCU和RCU。
如果在当时时间段结束之后需要对该时间段内的所有数据进行复杂的分析操作则需要将dynamodb的整表同步到redshift
Crawler可以自动管理源表和目标表的scheme在Glue
crawlercrawler需要连接dynamodb和redshift的权限以读取表的schemeDynamodb
crawler用于读取dynamodb表生成对应的dynamodb
crawler:用于读取redshift表生成对应的redshift
job连接redshift需要用到的connectionIAM
s3://com.${bucketNamePrefix}.glue-temp-bucket/script/
dynamodb-to-redshift-glue-etlcustom:bucketNamePrefix:
${self:service}deploymentBucket:name:
com.${self:custom.bucketNamePrefix}.deploy-bucketserverSideEncryption:
AES256resources:Parameters:DynamodbTableName:Type:
TestSyncToRedshiftServiceName:Type:
dynamodb-to-redshiftGlueBucketName:Type:
com.${self:custom.bucketNamePrefix}.glue-etl-temp-bucketResources:TestTable:Type:
AWS::DynamoDB::TableProperties:TableName:
${DynamodbTableName}BillingMode:
PAY_PER_REQUESTAttributeDefinitions:-
AWS::IAM::RoleProperties:RoleName:
CrawlerRoleAssumeRolePolicyDocument:Version:
sts:AssumeRoleManagedPolicyArns:-
arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole-
arn:aws:iam::aws:policy/AmazonDynamoDBFullAccess-
arn:aws:iam::aws:policy/AmazonRedshiftFullAccess-
arn:aws:iam::aws:policy/AmazonS3FullAccessDynamodbDatabase:Type:
AWS::Glue::DatabaseProperties:CatalogId:
AWS::AccountIdDatabaseInput:Name:
dynamodb-databaseDynamodbCrawler:Type:
AWS::Glue::CrawlerProperties:Name:
dynamodb-crawlerConfiguration:Role:
DynamodbDatabaseTargets:DynamoDBTargets:-
${DynamodbTableName}SchemaChangePolicy:UpdateBehavior:
UPDATE_IN_DATABASEDeleteBehavior:
LOGSchedule:ScheduleExpression:
minutesGlueRedshiftConnection:Type:
AWS::Glue::ConnectionProperties:CatalogId:
${aws:accountId}ConnectionInput:Name:
${self:service}-redshift-connectionConnectionType:
[]PhysicalConnectionRequirements:SecurityGroupIdList:-
${ServiceName}-vpc-GlueSelfRefringSecurityGroupSubnetId:Fn::Select:-
${ServiceName}-vpc-PrivateSubnetsConnectionProperties:JDBC_CONNECTION_URL:Fn::Join:-
${ServiceName}-redshift-PrivateRedshiftEndpoint-
${ServiceName}-redshift-PrivateRedshiftPort-
Redshift_admin_2022RedshiftDatabase:Type:
AWS::Glue::DatabaseProperties:CatalogId:
AWS::AccountIdDatabaseInput:Name:
redshift-databaseRedshiftCrawler:Type:
AWS::Glue::CrawlerProperties:Name:
redshift-crawlerConfiguration:Role:
RedshiftDatabaseTargets:JdbcTargets:-
dev/public/test_sync_to_redshiftSchemaChangePolicy:UpdateBehavior:
UPDATE_IN_DATABASEDeleteBehavior:
AWS::IAM::RoleProperties:RoleName:
RedshiftGlueJobRoleAssumeRolePolicyDocument:Version:
sts:AssumeRoleManagedPolicyArns:-
arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole-
arn:aws:iam::aws:policy/AmazonDynamoDBFullAccess-
arn:aws:iam::aws:policy/AmazonRedshiftFullAccess-
arn:aws:iam::aws:policy/AmazonS3FullAccess-
arn:aws:iam::aws:policy/CloudWatchLogsFullAccessGlueTempBucket:Type:
AWS::S3::BucketProperties:BucketName:
dynamodb-to-redshift-glue-etl-jobRole:
RedshiftGlueJobRole.ArnCommand:Name:
s3://${GlueBucketName}/script/dynamodb-to-redshift.pyPythonVersion:
s3://${GlueBucketName}/tmp/dynamodb-to-redshift/WorkerType:
glueContext.create_dynamic_frame.from_catalog(databasedynamodb-database,table_nametestsynctoredshift,transformation_ctxDynamoDBtable_node1,
glueContext.write_dynamic_frame.from_catalog(frameDynamoDBtable_node1,databaseredshift-database,table_namedev_public_test_sync_to_redshift,redshift_tmp_dirargs[TempDir],transformation_ctxRedshiftCluster_node2,
console](https://ap-southeast-1.console.aws.amazon.com/glue/home?regionap-southeast-1#catalog:tabtables)
v2](https://ap-southeast-1.console.aws.amazon.com/sqlworkbench/home?regionap-southeast-1#/client)
public.test_sync_to_redshift(pk
console](https://ap-southeast-1.console.aws.amazon.com/glue/home?regionap-southeast-1#catalog:tabtables)
v2](https://ap-southeast-1.console.aws.amazon.com/sqlworkbench/home?regionap-southeast-1#/client).
Redshift](https://docs.aws.amazon.com/redshift/latest/dg/t_Defining_constraints.html),
持续增量同步表的操作只支持插入部分支持更新不支持删除比如记录传感器每秒收集的数据记录网站用户的行为事件
COPY命令与redshift进行集成的而redshift是不保证primary
key的唯一性如果在COPY命令的源数据中包含多条primary
key相同的数据比如对一条数据进行多次修改则会导致redshift表出现多条primary
key相同的数据。
部分支持更新的意思就是如果多条primary
COPY命令与redshift进行集成的COPY命令是不支持删除的
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback