📅  最后修改于: 2023-12-03 15:00:33.593000             🧑  作者: Mango
DynamoDB是由亚马逊提供的一种面向文档和键值存储的全托管、高可扩展性的NoSQL数据库服务。它支持丰富的数据模型和功能,包括基于文档的数据模型、一致性和原子性操作、局部和全局辅助索引、自动缩放等特性。在高度可扩展和高可用的环境下,DynamoDB可以处理数千万个请求,支持超过100万个并发连接,从而满足大多数应用程序的需求。
DynamoDB由三个基本组件组成:存储集群、管理服务和客户端库。存储集群负责存储数据,管理服务负责监控和扩展集群,并提供便捷的管理工具和API;客户端库用于与DynamoDB进行通信。
以下是DynamoDB的典型架构图:
如图所示,一个DynamoDB表由分片和项目组成。一个分片包含多个项目,每个项目包含主键和任意数量的非键属性。每个分片在集群中的不同节点上存储。
亚马逊提供了DynamoDB的云服务,可以在AWS上使用DynamoDB。此外,您还可以在本地环境中使用DynamoDB,以建立具有测试性能的开发环境。开发人员可以使用DynamoDB本地版本创建测试表,模拟分区和数据持久性等特性,并使用CLI或API进行访问。 这是一个方便的开发工具,可在本地开发环境中快速进行测试和本地开发。
以下是在本地Windows环境中使用DynamoDB的概述:
DynamoDB需要Java 6.x(或更高版本)运行时环境。您可以通过此链接下载和安装Java SE运行时环境。
DynamoDB本地版本是在Windows上运行的,模拟了亚马逊云中的DynamoDB服务。你可以在此链接上下载DynamoDB本地版本。下载完成后,解压文件,并将文件夹重命名为“dynamodb”。
启动本地版本时,您需要指定DynamoDB将使用的端口。在下载的文件夹中打开命令提示符,运行以下命令:
cd C:\path\to\dynamodb
java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb -port 8000
请确保替换路径"C:\path\to\dynamodb"为您的DynamoDB本地版本的文件夹路径。以上命令将启动DynamoDB,使用8000端口,并指定共享数据库的位置。
您可以使用CLI或API访问本地版本的DynamoDB,并执行以下任务:
使用CLI访问的示例命令如下:
aws dynamodb list-tables --endpoint-url http://localhost:8000
使用API访问DynamoDB的示例代码如下:
import boto3
dynamodb = boto3.resource('dynamodb', endpoint_url='http://localhost:8000')
table = dynamodb.create_table(
TableName='users',
KeySchema=[
{
'AttributeName': 'username',
'KeyType': 'HASH'
},
{
'AttributeName': 'last_name',
'KeyType': 'RANGE'
}
],
AttributeDefinitions=[
{
'AttributeName': 'username',
'AttributeType': 'S'
},
{
'AttributeName': 'last_name',
'AttributeType': 'S'
}
],
ProvisionedThroughput={
'ReadCapacityUnits': 5,
'WriteCapacityUnits': 5
}
)
print("Table status:", table.table_status)
在上述示例中,我们使用Python Boto3库来创建一个名为"users"的表,该表有一个哈希键"username"、一个范围键"last_name",以及一个5个读、写容量单元的预留吞吐量。
本文介绍了DynamoDB的架构和环境搭建。DynamoDB是一种强大的全托管NoSQL数据库服务,可支持高度可扩展和高可用的应用程序。您可以使用本地版本的DynamoDB来创建测试表,并使用CLI或API访问它。