当前位置: 首页 > 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&…...

如何快速解放双手:MaaYuan游戏日常任务自动化完整指南

如何快速解放双手&#xff1a;MaaYuan游戏日常任务自动化完整指南 【免费下载链接】MaaYuan 代号鸢 / 如鸢 一键长草小助手 项目地址: https://gitcode.com/gh_mirrors/ma/MaaYuan 厌倦了每天花费大量时间在重复的游戏日常任务上吗&#xff1f;MaaYuan作为一款免费开源的…...

OpenClaw语音交互方案:nanobot镜像对接语音输入输出

OpenClaw语音交互方案&#xff1a;nanobot镜像对接语音输入输出 1. 为什么需要语音交互能力 作为一个长期使用OpenClaw的技术爱好者&#xff0c;我一直在思考如何让这个强大的自动化工具更加"人性化"。传统的命令行和文本交互方式虽然高效&#xff0c;但对于不擅长…...

3个关键技巧彻底解决Photoshop WebP格式兼容性问题

3个关键技巧彻底解决Photoshop WebP格式兼容性问题 【免费下载链接】WebPShop Photoshop plug-in for opening and saving WebP images 项目地址: https://gitcode.com/gh_mirrors/we/WebPShop 在当今Web开发与设计领域&#xff0c;WebP格式已成为图像优化的黄金标准&am…...

LFM2.5-1.2B-Thinking-GGUF多轮对话效果展示:复杂任务规划与分解

LFM2.5-1.2B-Thinking-GGUF多轮对话效果展示&#xff1a;复杂任务规划与分解 1. 开场亮点 当被问到"帮我策划一次团队建设活动"时&#xff0c;LFM2.5-1.2B-Thinking-GGUF模型展现出了令人惊喜的"思考"能力。不同于简单的一问一答&#xff0c;这个模型能够…...

导师推荐!盘点2026年最受欢迎的AI论文工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年AI论文工具全面升级&#xff0c;实测提速超50%&#xff0c;覆盖选题、文献分析、内容生成、降重润色、格式排版等全流程场景&#xff0c;真正帮你高效搞定论文。 一、全流程王者&#xff1a;一站式搞定论文全链路&#xff08;…...

LrcHelper:网易云音乐双语歌词下载与设备适配完整指南

LrcHelper&#xff1a;网易云音乐双语歌词下载与设备适配完整指南 【免费下载链接】LrcHelper 从网易云音乐下载带翻译的歌词 Walkman 适配 项目地址: https://gitcode.com/gh_mirrors/lr/LrcHelper 你是否经常遇到喜欢的歌曲没有歌词&#xff0c;或者歌词与音乐不同步的…...

突破局限:开源微信插件WeChatExtension-ForMac革新体验全解析

突破局限&#xff1a;开源微信插件WeChatExtension-ForMac革新体验全解析 【免费下载链接】WeChatExtension-ForMac Mac微信功能拓展/微信插件/微信小助手(A plugin for Mac WeChat) 项目地址: https://gitcode.com/gh_mirrors/we/WeChatExtension-ForMac 作为Mac用户&a…...

门户网站被入侵了怎么办?从紧急止损到重建免疫的完整作战手册

当监控警报响起&#xff0c;发现服务器存在异常进程、网站首页或核心栏目内容被恶意篡改、或数据库出现不明查询时&#xff0c;一个可怕的现实摆在眼前&#xff1a;您的门户网站已经被入侵了。门户网站作为企业或机构的官方形象窗口&#xff0c;一旦被入侵&#xff0c;不仅直接…...

VibeVoice语音合成快速入门:Web应用搭建,支持音频文件保存

VibeVoice语音合成快速入门&#xff1a;Web应用搭建&#xff0c;支持音频文件保存 1. 引言&#xff1a;为什么选择VibeVoice&#xff1f; 想象一下&#xff0c;你正在开发一个需要语音交互的应用&#xff0c;或者需要为大量文本内容生成有声版本。传统语音合成方案要么延迟高…...

别再死记硬背了!用ChatGPT/Claude帮你理解AIGC面试题(附Prompt)

用AI对话引擎拆解AIGC面试核心&#xff1a;从死记硬背到深度理解的范式转移 在准备AIGC算法面试时&#xff0c;大多数候选人都会陷入"八股文"的泥潭——机械记忆概念定义却难以理解技术本质。这种学习方式不仅效率低下&#xff0c;更无法应对面试官深入的技术追问。本…...