什么是 Amazon DynamoDB

Amazon DynamoDB 是一种完全托管的 NoSQL 数据库服务,提供快速而可预测的性能,能够实现无缝扩展。使用 DynamoDB,您可以免除操作和扩展分布式数据库的管理工作负担,因而无需担心硬件预置、设置和配置、复制、软件修补或集群扩展等问题。

使用 DynamoDB,您可以创建数据库表来存储和检索任意量级的数据,并提供任意级别的请求流量。您可以扩展或缩减您的表的吞吐容量,而不会导致停机或性能下降,还可以使用 AWS 管理控制台来监控资源使用情况和各种性能指标。

Amazon DynamoDB 特点

DynamoDB 会自动将数据和流量分散到足够数量的服务器上,以满足吞吐量和存储需求,同时保持始终如一的高性能。所有数据均存储在固态硬盘 (SSD) 中,并会自动复制到 AWS 区域中的多个可用区中,从而提供内置的高可用性和数据持久性。

DynamoDB 是 NoSQL 数据库并且无架构,这意味着,与主键属性不同,无需在创建表时定义任何属性或数据类型。与此相对,关系数据库要求在创建表时定义每个列的名称和数据类型。

Amazon DynamoDB 使用

AWS 配置

  1. 注册 Amazon Web Services 并创建访问密钥

  2. 创建 AWS 凭证文件

  3. 开启DynamoDB 服务

在计算机上运行 DynamoDB

除了 Amazon DynamoDB Web 服务之外,AWS 还提供可本地运行的可下载版本的 DynamoDB。 使用本地版本,在开发应用程序时无需 Internet 连接。

方法1 直接在计算机上安装

需要安装java环境

  1. 下载 DynamoDB

  2. 解压,并将解压后的目录复制到某个位置

  3. 打开命令提示符窗口,打开 DynamoDBLocal.jar 的目录,并输入以下命令:

java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb

现在就可以使用了

命令行选项

DynamoDB 接受以下命令参数:

  • -cors value - 启用适用于 JavaScript 的 CORS 支持(跨源资源共享)。您必须提供特定域的逗号分隔“允许”列表。-cors 的默认设置是星号 (*),这将允许公开访问。

  • -dbPath value - DynamoDB 将用于写入其数据库文件的目录。如果不指定此选项,则文件将写入当前目录。请注意,不能同时指定 -dbPath 和 -inMemory。

  • -delayTransientStatuses - 使 DynamoDB 为某些操作引入延迟。DynamoDB 几乎可以即时执行某些任务,例如,对表和索引执行创建/更新/删除操作;但是,实际 DynamoDB 服务需要更多时间才能完成这些任务。设置此参数有助于 DynamoDB 更逼真地模拟 Amazon DynamoDB Web 服务的行为。(目前,此参数仅为处于 CREATING 或 DELETING 状态的global secondary index引入延迟。)

  • -help – 打印使用摘要和选项。

  • -inMemory – DynamoDB 将在内存中运行,而不使用数据库文件。停止 DynamoDB 时,不会保存任何数据。请注意,不能同时指定 -dbPath 和 -inMemory。

  • -optimizeDbBeforeStartup – 在计算机上启动 DynamoDB 之前优化底层数据库表。使用此参数时,必须还要指定 -dbPath。

  • -port value - DynamoDB 将用于与应用程序通信的端口号。如果不指定此选项,则默认端口是 8000

  • -sharedDb - DynamoDB 将使用单个数据库文件,而不是针对每个证书和区域使用不同的文件。如果指定 -sharedDb,那么所有 DynamoDB 客户端都将与同一组表交互,无论其区域和证书配置如何。

详细配置可参考官方文档

方法2 使用docker安装

需要安装docker

方法一需要我们手动配置,操作也麻烦,如果喜欢docker,可以直接使用docker快速搭建本地环境

1. 下载镜像docker pull ryanratcliff/dynamodb2. 启动docker run -d -p 8000:8000 ryanratcliff/dynamodb

详细配置可参考

Python 使用 DynamoDB

我们可以使用适用于 Python (Boto 3) 的 AWS 开发工具包进行开发。

  1. 安装boto3

pip install boto3
  1. 使用 AWS CLI 配置秘钥

# 安装awscli
sudo pip install awscli
# 测试awscli 安装
aws help# 输入命令
aws configure
# 配置 Access Key ID 和 Secret Access KeyAWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEYDefault region name [None]: us-west-2Default output format [None]: ENTER
# 要更新任何设置,只需再次运行 aws configure 并根据需要输入新值。

CLI 将使用 aws configure 指定的证书存储在您主目录中名为 .aws 的文件夹中名为 credentials 的本地文件中 可以使用 以下命令列出 .aws 文件夹内容: Linux, OS X, or Unix

$ ls  ~/.aws

具体配置参考官方文档

  1. 使用以下代码测试 DynamoDB 是否可用

import boto3
db3 = boto3.resource('dynamodb', endpoint_url='http://localhost:8000', aws_secret_access_key='ticTacToeSampleApp', aws_access_key_id='ticTacToeSampleApp', region_name='us-west-2')db3.meta.client.list_tables()# output{'ResponseMetadata': {'HTTPHeaders': {'content-length': '32',   'content-type': 'application/x-amz-json-1.0',   'server': 'Jetty(8.1.12.v20130726)',   'x-amz-crc32': '2024476575',   'x-amzn-requestid': '5f0a974a-8900-470d-8b28-a4207247c65e'},  'HTTPStatusCode': 200,  'RequestId': '5f0a974a-8900-470d-8b28-a4207247c65e',  'RetryAttempts': 0}, u'TableNames': []}

如果输出以上内容,则说明DynamoDB 正常。

DynamoDB安装及配置相关推荐

  1. Maven安装与配置(最实用!!!)eclipse中配置maven

    Maven安装与配置 一.需要准备的东西 JDK Eclipse(本章主要是在eclipse中进行配置maven) Maven程序包 二.下载与安装 1. 前往maven下载最新版的Maven程序: ...

  2. Portainer 安装与配置

    文章目录 Portainer 安装与配置 一.介绍 二.安装使用 1.单机运行 2.基于swarm集群方式运行 Portainer 安装与配置 一.介绍 ​ Portainer 是一个开源.轻量级Do ...

  3. Myeclipse安装、配置、测试

    Myeclipse安装.配置.测试(win7_64bit) 目录 1.概述 2.本文用到的工具 3.安装与激活 4.JavaSE开发测试(确保JDK已正确安装) 5.JavaEE开发测试(确保服务器和 ...

  4. [网摘学习]在Ubuntu上安装和配置OpenStack Nova之二

    再收藏一份Openstack的文章,这两天的操作与此相同.但其中出现的问题还需要查找原因.待个人继续学习研究. 原文参考:http://www.linuxde.net/2011/11/1599.htm ...

  5. centos6.5 php5.2,Linux中PHP安装与配置(CentOS-6.5:php-5.2.13)

    1 PHP简介     PHP(PHP: Hypertext Preprocessor的缩写,中文名:"超文本预处理器")是一种通用开源脚本语言.语法吸收了C语言.Java和Per ...

  6. java jdk 1.8 安装_下载、安装、配置 java jdk1.8

    近期配置react native的开发环境,所以就从配置环境开始.rn的环境配置有那么几项,其中重要的一个就是java jdk(Java Development Kit 的缩写),那么以下就是下载.安 ...

  7. mysql安装好需要优化配置一下_Mysql的安装、配置、优化

    Mysql的安装.配置.优化 安装步骤 1.先单击中的安装文件,如果是win7系统,请选择以管理员的方式运行. 2.大概需要30秒的时间,开始进入安装界面.请先把标红的打勾,好进行下一步的动作. 3. ...

  8. windows下opencv安装及配置(vs2010环境)

    opecv下载 前往官方下载地址 https://opencv.org/releases/ opencv安装及配置 解压,会得到一个opencv文件夹,可将提取出的文件移动到任意位置,我将其放在F盘. ...

  9. Elasticsearch 6.3.1、Head插件 安装及配置

    安装Elasticsearch Elasticsearch下载地址:https://www.elastic.co/cn/downloads/elasticsearch 也可以直接使用wget下载到某目 ...

最新文章

  1. 由于找不到PBSYS90.dll,无法继续执行代码。重新安装程序可能会解决此问题!
  2. 网络:.cookie和session原理及区别
  3. unity android ndk的作用,Unity中编写Android下使用的so插件
  4. 《结对-结对编项目作业名称-测试过程》
  5. [学习笔记] 乱世之神杀疯了 —— K-D tree
  6. 本地文件上传至docker容器
  7. BP神经网络原理简介
  8. 第43条:掌握GCD及操作队列的使用时机
  9. SPSS方差分析应该如何进行
  10. Not enough information to list image symbols. Not enough information to list load addresses in ...
  11. CGB2202语言基础第1天
  12. Exchange会议室邮箱4种常见会议预定场景的介绍和设置
  13. 传奇服务器运行内存占用很高,电脑内存占用一直很高,怎么回事? 电脑内存占用率过高的原因和解决方法...
  14. 再来学习一下“八荣八耻”
  15. 台式电脑增加算数计算机,台式电脑如何增加硬盘数量
  16. 我分析了b站10万条弹幕,发现了歪嘴战神的终极奥义!(文末重磅福利)
  17. 爱普生荣膺第十届制博会机器人类唯一奖项
  18. Oracle sql脚本中注释
  19. 常见计算机系统哪些为GUI,GUI 是什么
  20. 网站被黑后处理方法及删除批量恶意代码的方法步骤

热门文章

  1. 【实战篇】39 # 如何实现世界地图的新冠肺炎疫情可视化?
  2. vue读取json文件
  3. Oracle中创建用户和授权
  4. java 获取本周第一天
  5. 人工智能知识全面讲解:特征工程
  6. You can't specify target table 'sys_user_function' for update in FROM clause
  7. 使用python(pydicom)读取Dicom文件并且转换成png
  8. 状态栏QStatusBar
  9. 图像处理之Matlab图像读取
  10. 企二代继承者们如何再续辉煌