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.首先是查看一下数据内容: 数据中有的是空值,有的是 ...
随机推荐
- MyBatis 基础入门
MyBatis 是一个半自动化的持久层的框架,能让开发者专注SQL本身 JDBC 连接数据库的硬编码问题,通过config,mapper配置文件解决 Mybatis开发需要关注的文件 l POJO类( ...
- PHP SplObjectStorage使用实例
SplObjectStorage是SPL标准库中的数据结构对象容器,用来存储一组对象,特别是当你需要唯一标识对象的时候,需要的朋友可以参考下: PHP SPL SplObjectStorage类实现了 ...
- WEBGL学习【十三】鼠标点击立方体改变颜色的原理与实现
// PickFace.js (c) 2012 matsuda and kanda // Vertex shader program var VSHADER_SOURCE = 'attribute v ...
- 通过js 实现 向页面插入js代码并生效,和页面postMessage通讯
此文章针对已经搭建好jenkins和会使用iconfont图标库而写. 主要目标就是在不通过更改html文件,完成页面交互图标信息,因为美工最多可以上传代码并且自动发布,并不会在Html中加入我 ...
- locate-updatedb命令检索不全
locate-updatedb命令检索不全 执行updatedb命令,用于立刻更新locate命令所必需的数据库文件,但有些文件可能会在检索过程中被过滤掉. 有时候明明存在的文件,用find命令都能搜 ...
- Python Django log日志
log日志 log开发日志 一.创建项目 1.python -m venv ll_env # 创建虚拟环境 2.source ll_env/bin/activate # 激活虚拟环境 3.pip in ...
- 【CodeForces 271D】Good Substrings
[链接] 我是链接,点我呀:) [题意] [题解] 字典树 我们可以两重循环(i,j) 来枚举所有的子串 即i=1,j=1,2,3... i=2,j = 2,3,4,.. 于是我们在i变化的时候(就是 ...
- OpenFace Docker 使用简介
在Docker中使用openface最大的问题是数据与主机的交互,下面我介绍几种方法来实现主机与Docker容器的数据交互. 1.第一种也是最方便的一种方法是在进入容器时使用-v参数将主机的目录挂载到 ...
- HDU 4133
注意题目中的一句话:If a number m has bigger evaluating value than all the numbers smaller than it... 这让我重新想过反 ...
- 分享:Android系统的经常使用权限整理
1.ACCES_NETWORK_STATE 同意应用程序获取网络状态信息的权限 2.ACCESS_WIFI_STATE 同意应用程序获取Wi-Fi网络状态的权限 3.BAT ...