title: AWS之Qwiklab

subtitle: 4. Qwiklab'实验-Amazon DynamoDB, Amazon Redshift, Elasticsearch Service'

date: 2018-09-22 12:29:20

Introduction to Amazon DynamoDB

Amazon DynamoDB简介

知识梳理

1. 定义与作用

首先,Amazon DynamoDB是非关系型数据库(NoSQL),NoSQL 是一个术语,用于描述高度可用的、可扩展的并且已针对高性能进行优化的非关系数据库系统。有别于关系模型,NoSQL 数据库 (如 DynamoDB) 使用替代模型进行数据管理,例如键-值对或文档存储。

2. 工作原理

https://docs.aws.amazon.com/zh_cn/amazondynamodb/latest/developerguide/HowItWorks.html

3. Python和Amazon DynamoDB

https://docs.aws.amazon.com/zh_cn/amazondynamodb/latest/developerguide/GettingStarted.Python.html

创建表Movies
from __future__ import print_function # Python 2/3 compatibility
import boto3 dynamodb = boto3.resource('dynamodb', region_name='us-west-2', endpoint_url="http://localhost:8000") table = dynamodb.create_table(
TableName='Movies',
KeySchema=[
{
'AttributeName': 'year',
'KeyType': 'HASH' #Partition key
},
{
'AttributeName': 'title',
'KeyType': 'RANGE' #Sort key
}
],
AttributeDefinitions=[
{
'AttributeName': 'year',
'AttributeType': 'N'
},
{
'AttributeName': 'title',
'AttributeType': 'S'
}, ],
ProvisionedThroughput={
'ReadCapacityUnits': 10,
'WriteCapacityUnits': 10
}
) print("Table status:", table.table_status)

Introduction to Amazon Redshift

Amazon Redshift简介

Users表
CREATE TABLE users (
userid INTEGER NOT NULL,
username CHAR(8),
firstname VARCHAR(30),
lastname VARCHAR(30),
city VARCHAR(30),
state CHAR(2),
email VARCHAR(100),
phone CHAR(14),
likesports BOOLEAN,
liketheatre BOOLEAN,
likeconcerts BOOLEAN,
likejazz BOOLEAN,
likeclassical BOOLEAN,
likeopera BOOLEAN,
likerock BOOLEAN,
likevegas BOOLEAN,
likebroadway BOOLEAN,
likemusicals BOOLEAN
);
数据查询
查询表的行数
SELECT COUNT(*) FROM users;
查询俄亥俄州(OH)的用户喜欢体育不喜欢歌剧的情况,列表按其名字排序
SELECT userid, firstname, lastname, city, state
FROM users
WHERE likesports AND NOT likeopera AND state = 'OH'
ORDER BY firstname;
查询显示热爱Jazz的用户所居住的十大城市
SELECT
city,
COUNT(*) AS count
FROM users
WHERE likejazz
GROUP BY city
ORDER BY count DESC
LIMIT 10;

Introduction to Amazon Elasticsearch Service

Amazon Elasticsearch Service简介

知识梳理

1. 定义与作用

Amazon Elasticsearch Service (Amazon ES) 是一种托管服务, 可以轻松地在AWS云中部署,操作和扩展Elasticsearch。Elasticsearch是一种流行的开源搜索和分析引擎,用于日志分析,实时应用程序监控,点击流分析和文本搜索等用例。

您可以在几分钟内从AWS管理控制台设置和配置AmazonElasticsearchService

Cluster.

Amazon ES为您的群集配置了所有资源并启动它。AmazonES自动检测并替换故障节点,从而减少与自我管理基础架构相关的开销。设置AmazonES群集没有前期成本,您只需为您使用的服务资源付费。

AmazonES提供托管服务的以下好处:

  • 通过API进行简单的集群扩展
  • 自愈簇
  • 按需提供高可用性
  • 用于数据持久性的自动集群快照
  • 安全
  • 集群监控

AmazonES包含与Kibana的内置集成,并支持与Logstash的集成。Logstash是一个开源数据管道,可帮助您处理日志和其他事件数据,并将其加载到Elasticsearch中。Kibana是一个开源分析和可视化平台,可帮助您更好地了解Elasticsearch中的数据。

2. Amazon Elasticsearch Service 的组件

AmazonES包含以下组件:

域:AmazonES域包含Elasticsearch Service Cluster(硬件和软件)以及提供负载平衡,安全性,监控等的其他硬件和软件。该域由AmazonES的服务说点公开,其名称必须符合以下条件:

  • 唯一标识AWS账户中的域
  • 以字母或数字开头
  • 包含至少三个字符,但不超过28个字符
  • 仅包含小写字符az,数字0-9和连字符(-)

群集:运行Elasticsearch Service所需的一个或多个数据节点,可选的专用主节占和存储的集合。

节点:Elasticsearch Service集群中的单个实例,能够识别和处理或转发消息到其他节点。

存储:AmazonES支持两种不同的存储类型:实例存储或弹性块存储(EBS),可以是通用(SSD),配置IOPS(SSD)或磁性。

3. 相关服务

Amazon ES通常与以下服务起使用:

AWS Cloud Trail

使用AWS CloudTrail求取您帐户的Amazon ES API调用和相关事件的历史记录。CloudTrail是一种Web服务,可记录来自您帐户的API调用,并将生成的日志文件传递到您的Amazon S3存储桶。您还可以使用CloudTrail限踪对AWS资源所做的更改。

Amazon CloudWatch

Elasticsearch Service域会自动将指标发送到Amazon CloudWatch,以便您可以收集和分析性能统计信息。您可以使用AWS CLL或AWS开发工具向监控这些指标。您还可以轻松地将CloudWatchLogs日志组订阅到Amazon ES域,以将该日志组中的数据加载到AmazonES中。

Amazon Kinesis

Amazon Kinesis是一种托管服务,可以弹性扩展,实现大规模流数据的实时处理。AmazonES提供Lambda示例代码以与Kinesis集成。

Amazon S3

Amazon Simple Storage Service (Amazon S3) 是Internet的存储. 您可以随时使用AmazonS3在Web上的任何位置存储和检索任意数量的数据。

Amazon ES提供Lambda示例代码以与S3集成。

AWS身份和访问管理(IAM)

AWS身份和访问管理(IAM)是一种Web服务,可用于管理AWS中的用户和用户权限。使用IAM为您的Amazon ES域创建基于用户或基于IP的访问策略。

域访问策略-允许对域进行公开访问:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": [
"*"
]
},
"Action": [
"es:*"
],
"Resource": "arn:aws:es:us-west-2:563924657756:domain/mydomain/*"
}
]
}

Qwiklab'实验-DynamoDB, Redshift, Elasticsearch'的更多相关文章

  1. Qwiklab'实验-Hadoop, IoT, IAM, Key Management'

    title: AWS之Qwiklab subtitle: 1. Qwiklab'实验-Hadoop, IoT, IAM, Key Management Service' date: 2018-09-1 ...

  2. Qwiklab'实验-CloudFront, EFS, S3'

    title: AWS之Qwiklab subtitle: 3. Qwiklab'实验-CloudFront, EFS, S3' date: 2018-09-21 17:29:20 --- Introd ...

  3. Qwiklab'实验-API Gateway, AWS Lambda'

    title: AWS之Qwiklab subtitle: 2. Qwiklab'实验-API Gateway, AWS Lambda' date: 2018-09-20 17:29:20 --- In ...

  4. ELK学习实验004:Elasticsearch的简单介绍和操作

    一 集群节点 Elstaicsearch的集群是由多个节点组成都,通过cluster.name设置集权名称,比能切用与区分其他的集群,每个节点通过node.name指定节点 在Elasticsearc ...

  5. ELK学习实验003:Elasticsearch 集群安装

    前面已经介绍了Elasticsearch这个工具,并对单机安装做了简单介绍,现在使用三台机器做一个elasticsearch集群 一 环境准备 1.1 机器准备 1.2 同步时间 [root@node ...

  6. ELK学习实验002:Elasticsearch介绍及单机安装

    一 简介 ElasticSearch是一个基于Luncene的搜索服务器.它提供了一个分布式多用户能力全文搜索引擎,基于RESTful web接口,ElsticSearch使用Java开发的,并作为A ...

  7. ASP.NET Core开发者成长路线图

    目录 ASP.NET Core开发者路线图RoadMap 免责声明 请给一个星星! ⭐ 路线图 资源 总结 贡献 许可协议 ASP.NET Core开发者路线图RoadMap 来源: MoienTaj ...

  8. ASP.NET Core开发者指南

    ASP.NET Core开发者指南 2019年ASP.NET Core开发者指南: 你可以在下面找到一张图,该图展示了你可以选取的路径及你想学习的库,从而成为一名 ASP.NET Core 开发者.“ ...

  9. 记录一次mysql使用load into命令导入csv格式数据的过程

    今天从qwiklab实验获取一组数据,大概有5万条,在qwiklab实验室使用的是pgsql数据库,但是今天想把他插入本地的mysql数据库中. 1.首先是查看一下数据内容: 数据中有的是空值,有的是 ...

随机推荐

  1. Java中数组的定义方式

    数组定义方式一 动态方式(指定数组的长度) 格式: 数组存储的数据类型[]数组名字 = new 数组存储的数据类型[长度]; [] : 表示数组. 数组名字:为定义的数组起个变量名,满足标识符规范,可 ...

  2. javase 异常处理

    1.简述什么是异常.异常的继承体系?  异常就是java代码块在运行时出现的错误,有编译错误和运行错误,  Throwable是所有异常的父类它包含了error和Exception两个子类.  其中e ...

  3. JS 封装一个对数组去重的函数

    var zz = [1,2,3,5,5,7,8,6,6]; var se = []; d(se); function d(attr){ for(var i = 1;i<zz.length;i++ ...

  4. USACO 2008 Mar Silver 3.River Crossing 动态规划水题

    Code: #include<cstring> #include<algorithm> #include<cstdio> using namespace std; ...

  5. keepalived实现IP地址高可用

    yum -y install keepalived vim /etc/keepalived/keepalived.conf global_defs { router_id LVS_DEVEL_ngin ...

  6. J2EE提高之知识清单

    Oracle数据库 JDBC事务 Spring事务 SOA XML/JSON redis/memcached 反射,类加载,JVM 工具类:UML, Maven, 性能类:CPU监控,memary监控 ...

  7. 监控Oracle计数器

  8. CountDownLatch使用方法

    CountDownLatch是一个同步辅助类,在完毕一组正在其它线程中运行的操作之前.它同意一个或多个线程一直等待. 如果我们周末要去旅游.出游前须要提前订好机票.巴士和酒店,都订好后就能够出发了.这 ...

  9. hdu 1166 敌兵布阵——(区间和)树状数组/线段树

    pid=1166">here:http://acm.hdu.edu.cn/showproblem.php?pid=1166 Input 第一行一个整数T.表示有T组数据. 每组数据第一 ...

  10. do while 循环和while循环的差别

    do while 循环和while循环的差别 1.do while循环是先运行循环体,然后推断循环条件,假设为真,则运行下一步循环,否则终止循环.    while循环是先推断循环条件,假设条件为真则 ...