在做教程时,我将数据批量加载到我的 dynamoDBJobsApplication
表中,其中包含大约 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);
我的表当前分配了 5 个 RCU 和 WCU。扫描操作在不到 2 秒的时间内给出了结果,除了结果显示以下信息:
"Count": 7,
"ScannedCount": 100,
"ConsumedCapacity": {
"TableName": "GMJS.Job",
"CapacityUnits": 89.5
}
}
Size of data: 50.8 KB
我已经关闭了自动缩放。那么RCUs
当我只给RCUs
桌子分配 5 个时,它是如何在 2 秒内消耗 89.5 的呢?如果它必须消耗 89.5 RCUs
,它可能RCUs
每秒使用 5 个 17.9 秒,然后返回结果,或者它可能会说该表需要更多RCUs
用于如此昂贵的扫描操作等。
RCUs
那么,当我只分配 5 个时,它是如何使用 89.5进行扫描的,这RCUs
是我的主要问题。