Qwiklab'实验-DynamoDB, Redshift, Elasticsearch'
title: AWS之Qwiklab
subtitle: 4. Qwiklab'实验-Amazon DynamoDB, Amazon Redshift, Elasticsearch Service'
date: 2018-09-22 12:29:20
Introduction to 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
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'的更多相关文章
- Qwiklab'实验-Hadoop, IoT, IAM, Key Management'
title: AWS之Qwiklab subtitle: 1. Qwiklab'实验-Hadoop, IoT, IAM, Key Management Service' date: 2018-09-1 ...
- Qwiklab'实验-CloudFront, EFS, S3'
title: AWS之Qwiklab subtitle: 3. Qwiklab'实验-CloudFront, EFS, S3' date: 2018-09-21 17:29:20 --- Introd ...
- Qwiklab'实验-API Gateway, AWS Lambda'
title: AWS之Qwiklab subtitle: 2. Qwiklab'实验-API Gateway, AWS Lambda' date: 2018-09-20 17:29:20 --- In ...
- ELK学习实验004:Elasticsearch的简单介绍和操作
一 集群节点 Elstaicsearch的集群是由多个节点组成都,通过cluster.name设置集权名称,比能切用与区分其他的集群,每个节点通过node.name指定节点 在Elasticsearc ...
- ELK学习实验003:Elasticsearch 集群安装
前面已经介绍了Elasticsearch这个工具,并对单机安装做了简单介绍,现在使用三台机器做一个elasticsearch集群 一 环境准备 1.1 机器准备 1.2 同步时间 [root@node ...
- ELK学习实验002:Elasticsearch介绍及单机安装
一 简介 ElasticSearch是一个基于Luncene的搜索服务器.它提供了一个分布式多用户能力全文搜索引擎,基于RESTful web接口,ElsticSearch使用Java开发的,并作为A ...
- ASP.NET Core开发者成长路线图
目录 ASP.NET Core开发者路线图RoadMap 免责声明 请给一个星星! ⭐ 路线图 资源 总结 贡献 许可协议 ASP.NET Core开发者路线图RoadMap 来源: MoienTaj ...
- ASP.NET Core开发者指南
ASP.NET Core开发者指南 2019年ASP.NET Core开发者指南: 你可以在下面找到一张图,该图展示了你可以选取的路径及你想学习的库,从而成为一名 ASP.NET Core 开发者.“ ...
- 记录一次mysql使用load into命令导入csv格式数据的过程
今天从qwiklab实验获取一组数据,大概有5万条,在qwiklab实验室使用的是pgsql数据库,但是今天想把他插入本地的mysql数据库中. 1.首先是查看一下数据内容: 数据中有的是空值,有的是 ...
随机推荐
- javascript (BOM DOM)
BOM对象 window对象 所有浏览器都支持 window 对象.概念上讲.一个html文档对应一个window对象.功能上讲: 控制浏览器窗口的.使用上讲: window对象不需要创建对象,直接使 ...
- JS 20180416考试
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Git 常用命令速查(转载)
git branch 查看本地所有分支git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支git branch -r 查看远程所有分支git co ...
- [luogu4310] 绝世好题 (递推)
传送门 题目描述 给定一个长度为n的数列ai,求ai的子序列bi的最长长度,满足bi&bi-1!=0(2<=i<=len). 输入输出格式 输入格式: 输入文件共2行. 第一行包括 ...
- leetCode笔记--binary tree
993. Cousins in Binary Tree In a binary tree, the root node is at depth 0, and children of each dept ...
- nmcli connection modify eth1 ipv4.addr "192.168.31.23" ipv4.method manual
nmcli connection modify eth1 ipv4.addr "192.168.31.23/24" ipv4.method manual 修改IP地址
- Python面向对象之静态方法、静态方法与类方法
静态属性: 类调用函数属性时,需要先将类实例化,再将实例作为函数属性传入:类的实例调用函数属性时需要在后面加括号. class Building: def __init__(self, name, o ...
- ASP.NET--Razor-model-compare属性用法
学习使用model中的compare属性来判断两个密码之间是否相同 [Required] [StringLength(100, ErrorMessage = "The {0} must be ...
- windows、linux劫持技术
windows系统以下能够利用detours劫持 realse 模式劫持,调试的程序不能够 函数劫持能够实现的效果. 函数的劫持原理 我们怎样实现-detours detours是微软亚洲研究院出品 ...
- servletConfig和ServletContext 以及servletContextListener介绍
<servlet> <servlet-name>BeerParamTests</servlet-name> <servlet-class> ...