Asa*_*Ali 2 amazon-dynamodb aws-sdk-nodejs
在做一个教程时,我将数据批量加载到我的dynamoDB JobsApplication表中,大约有400个随机作业帖子.
使用Node.js和aws-sdk我执行扫描操作.
var AWS = require('aws-sdk');
AWS.config.update({
region: 'us-east-1'
});
var print = require('./../lib/helpers').printPretty;
var dynamodb = new AWS.DynamoDB();
var epochNow = 1506043477;
var params = {
"TableName": "GMJS.Job",
"FilterExpression": "CountryId = :country AND ClosingTime > :time",
"ExpressionAttributeValues": {
":country": {
"S": "18"
},
":time": {
"N": epochNow.toString()
}
},
"ReturnConsumedCapacity": "TOTAL"
};
dynamodb.scan(params).promise()
.then(print)
.catch(print);Run Code Online (Sandbox Code Playgroud)
我的表目前有5个RCU和WCU分配给它.扫描操作在不到2秒的时间内得出结果,除了结果显示此信息:
"Count": 7,
"ScannedCount": 100,
"ConsumedCapacity": {
"TableName": "GMJS.Job",
"CapacityUnits": 89.5
}
}
Size of data: 50.8 KBRun Code Online (Sandbox Code Playgroud)
我关掉了自动缩放功能.那么RCUs当我只给RCUs桌子分配5个时,它是如何在2秒内消耗89.5 的?如果它必须消耗89.5 RCUs它可以RCUs每秒使用5 次,持续17.9秒,然后返回结果,或者它可能表示该表需要更多RCUs用于如此昂贵的扫描操作等.
那么RCUs当我只分配5 RCUs是我的主要问题时,它是如何使用89.5 扫描的.
DynamoDB具有一定的突发功能,可在需要时使用:
DynamoDB在每分区吞吐量配置方面提供了一些灵活性.当您未充分利用分区的吞吐量时,DynamoDB会保留一部分未使用的容量,以便以后突发吞吐量使用.DynamoDB目前保留最多五分钟(300秒)的未使用读写容量.在偶尔的读取或写入活动突发期间,这些额外的容量单位可以非常快速地消耗 - 甚至比您为表定义的每秒预配置吞吐量容量更快.但是,不要设计您的应用程序,以便它依赖于始终可用的突发容量:DynamoDB可以并且确实使用突发容量进行后台维护和其他任务,恕不另行通知.
注意
将来,突发容量的这些细节可能会发生变化.
| 归档时间: |
|
| 查看次数: |
150 次 |
| 最近记录: |