当前位置: 首页 > news >正文

【Amazon】亚马逊云科技Amazon DynamoDB 实践Amazon DynamoDB

Amazon DynamoDB 是一种完全托管的 NoSQL 数据库服务,专为高性能和可扩展性设计,特别适合需要快速响应和高吞吐量的应用场景,如移动应用、游戏、物联网和实时分析等。

工作原理

Amazon DynamoDB 在任何规模下响应时间一律达毫秒级,使您能够开发并运行现代应用程序,同时只需为实际使用量付费。其核心工作原理包括以下几个方面:

1.  数据存储与管理:DynamoDB 支持 NoSQL Workbench,允许用户配置表和键值对。它具有静态加密、按需容量模式、多区域复制等特性,确保数据的安全和高可用性。

2.  全球表和恢复:通过全球表功能实现跨多个亚马逊云科技区域的同步,支持任意时刻恢复 (Point-in-time Recovery),确保数据完整性和恢复能力。

3.  PartiQL 支持:允许使用 SQL 类查询语法查询 DynamoDB 数据。

4.  集成与数据流导出:DynamoDB 支持与亚马逊云科技其他服务集成,如 Amazon S3、Amazon Glue、Kinesis 数据流等,实现数据导出、分析和监控,增强数据处理和安全性。

通过这些机制,DynamoDB 提供了一个高度可扩展、灵活的数据库解决方案,满足现代应用的需求,具体如下图所示:

免费额度

DynamoDB 的免费套餐提供 25GB 的存储空间,以及 25 个预置的写入容量单位和 25 个预置的读取容量单位 (WCU、RCU),足以处理每月 2 亿个请求。写入和读取容量单位可以通过表的其他设置选项卡中进行查看,注意不要超过免费额度,不然会产生费用。

注册账号

在使用 Amazon DynamoDB 之前,需要先注册亚马逊云科技官方账号。

重要说明:申请 AWS 必须持有一张信用,比如万事达、运通卡、VISA卡、银联信用卡

1、  登录亚马逊云科技官方网站,点击右上角的登录控制台。然后选择创建新 AWS账号

2、按照提示填写邮件地址与账户名称,然后点击验证电子邮件地址。

3、查看邮箱中的验证码

4、输入验证码,点击验证

5、验证通过后输入根用户密码两次后并点击继续。

6、按照提示输入联系人信息后并点击继续,所有信息不能用中文、拼音。

7、输入信用卡信息后点击继续,万事达、运通卡、VISA卡、银联信用卡都可以。

8、确认身份信息后点击继续,中国地区代码+86。

9、输入短信验证码后继续。

10、选择支持计划,选第一个基本支持 – 免费的即可。

登录控制台

账号注册完成之后,点击这里登录控制台,选择根用户,然后输入刚刚注册账号时用的邮箱。

点击下一步,输入密码,点击登录。

然后就到了亚马逊云科技的控制台主页,具体如下:

在搜索栏中输入 DynamoDB 并选择打开 DynamoDB 控制台。

创建NoSQL表

1、  创建表

在 DynamoDB 控制台上,点击 Create table(创建表)。

2、  添加表名

Table name(表名)文本框中,输入 Music

3、  设置Partition key

Partition key(分区键)文本框中,输入 Artist,其主要是用于跨分区分布数据以实现可扩展性

4、  设置 Sort key

Sort key(排序键)文本框中,输入 songTitle,用排序键轻松排序。

5、  启用 DynamoDB 自动扩缩。

选择 Customize settings(自定义设置),他会基于请求量改变表的读写能力自动扩缩

6、  点击Create table

点击 Create table(创建表)。当 Music 表可用时,它会出现在表列表中并带有一个复选框。

操作数据

对表中数据进行操作时,可以通过可视化页面进行操作,也可以通过下面的方式进行操作。

连接到DynamoDB

需要提供亚马逊云科技的访问秘钥凭证和地区,通过boto3.resource来创建一个DynamoDB客户端,注意需要安装boto3库。可以通过pip install boto3进行安装


# 指定亚马逊云科技访问密钥和凭证ACCESS_KEY = 'your-access-key'SECRET_KEY = 'your-secret-key'REGION = 'ap-east-1'# 创建DynamoDB客户端dynamodb = boto3.resource('dynamodb',region_name=REGION,aws_access_key_id=ACCESS_KEY,aws_secret_access_key=SECRET_KEY)

新增

Music就是我们的一开始创建的表名,Item里面的id就是我们的主键

# 获取DynamoDB表table = dynamodb.Table('Music')# 将文本内容插入到DynamoDB表中table.put_item(Item={'id': '1','text': "青花瓷"})

查询

这里我们查整个表

table = dynamodb.Table('Music')response = table.scan()items = response['Items']print(items)

结果如下

[{'id': '1', 'text': '青花瓷'}]

修改

# 定义要更新的项的主键key = {'id': '1'}# 更新数组,追加一个新的整数table.update_item(Key=key,UpdateExpression='SET #attrName = :attrValue',ExpressionAttributeNames={'#attrName': 'text'},ExpressionAttributeValues={':attrValue': '这就是爱'})

删除


# 定义需要删除的数据的主键item_key = {'id': '1'}# 删除数据response = table.delete_item(Key=item_key)

总结

Amazon DynamoDB 提供了一个灵活、可靠且高扩展性的数据库解决方案,用户可以轻松创建表、管理数据,并与亚马逊云科技生态系统无缝集成,为开发现代应用程序提供了极大便利。

相关文章:

【Amazon】亚马逊云科技Amazon DynamoDB 实践Amazon DynamoDB

Amazon DynamoDB 是一种完全托管的 NoSQL 数据库服务,专为高性能和可扩展性设计,特别适合需要快速响应和高吞吐量的应用场景,如移动应用、游戏、物联网和实时分析等。 工作原理 Amazon DynamoDB 在任何规模下响应时间一律达毫秒级&#xff…...

Qt-常用的显示类控件

QLabel QLabel有如下核心属性&#xff1a; 关于文本格式的验证&#xff1a; 其中<b>xxx<b>&#xff0c;就是加粗的意思。 效果&#xff1a; 或者再把它改为markdown形式的&#xff1a; 在markd中&#xff0c;#就是表示一级标题&#xff0c;我们在加上##后&#x…...

LabVIEW内燃机缸压采集与分析

基于LabVIEW开发的内燃机缸压采集与分析系统结合高性能压力传感器和NI数据采集设备&#xff0c;实现了内燃机工作过程中缸压的实时监测与分析&#xff0c;支持性能优化与设计改进。文中详细介绍了系统的开发背景、硬件组成、软件设计及其工作原理&#xff0c;展现了完整的开发流…...

【Linux学习】【Ubuntu入门】1-7 ubuntu下磁盘管理

1.准备一个U盘或者SD卡&#xff08;插上读卡器&#xff09;&#xff0c;将U盘插入主机电脑&#xff0c;右键点击属性&#xff0c;查看U盘的文件系统确保是FAT32格式 2.右键单击ubuntu右下角图标&#xff0c;将U盘与虚拟机连接 参考链接 3. Ubuntu磁盘文件&#xff1a;/dev/s…...

VScode clangd插件安装

前提 在VScode中写C代码时&#xff0c;总会用到 C/C 这个插件&#xff0c;也就自然而然地使用了这个插件带来的代码跳转和代码提示功能。但是当代码变地很多时&#xff0c;就会变得非常慢。所以经过调查后弃用C/C 插件的这个功能&#xff0c;使用 clangd 这个插件来提示C代码和…...

【机器学习】- L1L2 正则化操作

目录 0.引言1.正则化的基本思想2.L1 正则化3.L2 正则化4.L1 与 L2 正则化的比较5.应用&#xff1a;控制模型复杂度6.超参数 λ \lambda λ 的选择7.总结 0.引言 在机器学习中&#xff0c;正则化是一种通过约束模型参数来控制模型复杂度的技术。它可以有效减少过拟合&#xff…...

Logback实战指南:基础知识、实战应用及最佳实践全攻略

背景 在Java系统实现过程中&#xff0c;我们不可避免地会借助大量开源功能组件。然而&#xff0c;这些组件往往功能丰富且体系庞大&#xff0c;官方文档常常详尽至数百页。而在实际项目中&#xff0c;我们可能仅需使用其中的一小部分功能&#xff0c;这就造成了一个挑战&#…...

基于python的机器学习(三)—— 关联规则与推荐算法

目录 一、关联规则挖掘 1.1 基本概念 1.2 Apriori算法 1.2.1 Apriori算法的原理 1.2.2 Apriori算法的实例 1.2.3 Apriori算法的程序实现&#xff08;efficient-apriori模块&#xff09; 1.3 FP-Growth算法 1.3.1 FP-Growth算法的原理 1.3.2 FP-Growth算法的实例 二、…...

【大模型】LLaMA: Open and Efficient Foundation Language Models

链接&#xff1a;https://arxiv.org/pdf/2302.13971 论文&#xff1a;LLaMA: Open and Efficient Foundation Language Models Introduction 规模和效果 7B to 65B&#xff0c;LLaMA-13B 超过 GPT-3 (175B)Motivation 如何最好地缩放特定训练计算预算的数据集和模型大小&…...

模拟器多开限制ip,如何设置单窗口单ip,每个窗口ip不同

很多手游多开玩家都是利用安卓模拟器实现手游多开&#xff0c;但是很多手游会限制ip&#xff0c;导致多开之后封号等问题&#xff0c;模拟器本身没有更换IP的功能&#xff0c;就需要通过第三方软件来实现 安卓模拟器概述 雷电模拟器、夜神模拟器、mum模拟器等都是目前市场上比较…...

hive的存储格式

1&#xff09; 四种存储格式 hive的存储格式分为两大类&#xff1a;一类纯文本文件&#xff0c;一类是二进制文件存储。 Hive支持的存储数据的格式主要有&#xff1a;TEXTFILE、SEQUENCEFILE、ORC、PARQUET 第一类&#xff1a;纯文本文件存储 textfile: 纯文本文件存储格式…...

鸿蒙学习高效开发与测试-应用程序框架(3)

文章目录 1、应用程序框架1、规范化后台进程管理2、原生支持分布式3、支持多设备的统一窗口管理4、 组件共享及面向对象5、逻辑与界面解耦6、灵活扩展机制2、HarmonyOS SDK1、 开放能力 Kit2、开放能力的检索和使用3、 方舟工具链4、前端编译器架构1、应用程序框架 应 用 程 序…...

什么命令可以查看数据库中表的结构

1. MySQL 查看表结构 sql 复制代码 DESCRIBE 表名; 或者&#xff1a; sql 复制代码 SHOW COLUMNS FROM 表名; 更详细的表信息 sql 复制代码 SHOW CREATE TABLE 表名; 2. PostgreSQL 查看表结构 sql 复制代码 \d 表名 列出表的字段及类型 sql 复制代码 SELECT column_name, da…...

django基于python 语言的酒店推荐系统

摘 要 酒店推荐系统旨在提供一个全面酒店推荐在线平台&#xff0c;该系统允许用户浏览不同的客房类型&#xff0c;并根据个人偏好和需求推荐合适的酒店客房。用户可以便捷地进行客房预订&#xff0c;并在抵达后简化入住登记流程。为了确保连续的住宿体验&#xff0c;系统还提供…...

【深度学习|onnx】往onnx中写入训练的超参或者类别等信息,并在推理时读取

1、往onnx中写入 在训练完毕之后&#xff0c;我们先使用torch.onnx.export() 导出onnx模型&#xff0c;然后我们再使用以下代码来往metadata中写入信息&#xff1a; # Metadatad {# stride: int(max(model.stride)),names: model.names,mean : [0,0,0],std : [1,1,1],normali…...

WebSocket详解、WebSocket入门案例

目录 1.1 WebSocket介绍 http协议&#xff1a; webSocket协议&#xff1a; 1.2WebSocket协议&#xff1a; 1.3客户端&#xff08;浏览器&#xff09;实现 1.3.2 WebSocket对象的相关事宜&#xff1a; 1.3.3 WebSOcket方法 1.4 服务端实现 服务端如何接收客户端发送的请…...

05_Spring JdbcTemplate

在继续了解Spring的核心知识前,我们先看看Spring的一个模板类JdbcTemplate,它是一个JDBC的模板类,用来简化JDBC的操作。 接下来以实际来进行说明 一、实例环境准备 数据库及表准备 我们在本地mysql中新增一个数据库test,并新增一张数据表:user create database if not…...

Bug:引入Feign后触发了2次、4次ContextRefreshedEvent

Bug&#xff1a;引入Feign后发现监控onApplication中ContextRefreshedEvent事件触发了2次或者4次。 【原理】在Spring的文档注释中提示到&#xff1a; Event raised when an {code ApplicationContext} gets initialized or refreshed.即当 ApplicationContext 进行初始化或者刷…...

最新‌VSCode保姆级安装教程(附安装包)

文章目录 一、VSCode介绍 二、VSCode下载 下载链接&#xff1a;https://pan.quark.cn/s/19a303ff81fc 三、VSCode安装 1.解压安装文件&#xff1a;双击打开并安装VSCode 2.勾选我同意协议&#xff1a;然后点击下一步 3.选择目标位置&#xff1a;点击浏览 4.选择D盘安装&…...

layui 表格点击编辑感觉很好用,实现方法如下

1. 在 HTML 页面中引入 layui 的相关资源文件&#xff1a;html <link rel"stylesheet" href"https://cdn.staticfile.org/layui/2.5.6/css/layui.css"> <script src"https://cdn.staticfile.org/layui/2.5.6/layui.js"></script&…...

async-http-client原生镜像大小优化:GraalVM裁剪终极指南 [特殊字符]

async-http-client原生镜像大小优化&#xff1a;GraalVM裁剪终极指南 &#x1f680; 【免费下载链接】async-http-client Asynchronous Http and WebSocket Client library for Java 项目地址: https://gitcode.com/gh_mirrors/as/async-http-client 在当今云原生和微服…...

小米Pad 5变身Windows生产力工具:完整驱动配置实战指南

小米Pad 5变身Windows生产力工具&#xff1a;完整驱动配置实战指南 【免费下载链接】MiPad5-Drivers Based on Surface Duo Drivers. 项目地址: https://gitcode.com/gh_mirrors/mi/MiPad5-Drivers 你是否想过将手中的小米Pad 5从娱乐平板转变为真正的生产力工具&#x…...

毕业季、返修季、投稿季:SCI论文润色,到底能不能提高接收率?

“SCI论文如果先润色&#xff0c;再投稿&#xff0c;是不是更容易被接收&#xff1f;”这个问题&#xff0c;真的每年到了这个时间点都会高频出现。尤其是3月底到4月初&#xff0c;很多同学刚从基金申请、毕业论文、返修修改的高压节奏里缓过来&#xff0c;马上又进入下一轮“赶…...

深度解析跨平台音频驱动:FlexASIO实战配置指南

深度解析跨平台音频驱动&#xff1a;FlexASIO实战配置指南 【免费下载链接】FlexASIO A flexible universal ASIO driver that uses the PortAudio sound I/O library. Supports WASAPI (shared and exclusive), KS, DirectSound and MME. 项目地址: https://gitcode.com/gh_…...

3分钟快速上手:DouYinBot抖音无水印视频下载终极指南 [特殊字符]

3分钟快速上手&#xff1a;DouYinBot抖音无水印视频下载终极指南 &#x1f680; 【免费下载链接】DouYinBot 抖音无水印下载 项目地址: https://gitcode.com/gh_mirrors/do/DouYinBot 在短视频内容创作和分享的时代&#xff0c;如何快速获取无水印的抖音视频成为创作者和…...

别再拍脑袋立项了!手把手教你用华为IPD的Charter任务书,搞定产品从0到1的商业论证

从直觉到论证&#xff1a;中小企业如何用轻量级Charter打造产品商业闭环 深夜的创业咖啡馆里&#xff0c;几个技术出身的创始人正为下一个产品方向争论不休。"这个功能绝对能引爆市场&#xff01;"CTO激动地敲着桌子&#xff0c;"我见过三家竞品都没做好这个点。…...

笔记工具模板系统实用指南:从效率提升到知识管理进阶

笔记工具模板系统实用指南&#xff1a;从效率提升到知识管理进阶 【免费下载链接】OB_Template OB_Templates is a Obsidian reference for note templates focused on new users of the application using only core plugins. 项目地址: https://gitcode.com/gh_mirrors/ob/…...

Harmonyos应用实例193:圆与方程探索

5. 圆与方程探索 功能简介:输入圆心坐标和半径,绘制圆并显示标准方程,探索圆与直线的位置关系。这是一个功能强大的圆方程计算器,支持通过滑块交互式调整圆心坐标和半径,实时绘制圆形并显示标准方程。用户可选择显示直线,通过调整斜率和截距探索圆与直线的位置关系,系统…...

Excel动态甘特图制作指南:利用条件格式实现进度可视化

1. 为什么需要动态甘特图 项目管理中最让人头疼的就是进度跟踪。传统的静态表格需要手动更新颜色标注&#xff0c;每次进度变化都得重新调整&#xff0c;费时费力还容易出错。我在带团队做软件版本迭代时&#xff0c;就经常遇到这样的困扰&#xff1a;明明任务进度已经更新了&a…...

实现网页动态交互:Live2D模型嵌入与换装功能详解

1. Live2D技术入门&#xff1a;从零开始认识动态模型 第一次接触Live2D时&#xff0c;我被它流畅的动画效果惊艳到了。这种技术能在二维平面上呈现出近乎三维的立体感&#xff0c;让静态角色"活"起来。Live2D最初确实是为游戏开发的&#xff0c;但现在越来越多地被用…...