YCSB/dynamodb
Janani Narayanan 9fef32a19f gh-97 Bug fixes in dynamodb plugin
I have fixed a bug in insert() and delete() methods.There are also
some cosmetic changes to readme and properties files.
2012-10-22 15:41:43 -04:00
..
conf gh-97 Bug fixes in dynamodb plugin 2012-10-22 15:41:43 -04:00
src/main gh-97 Bug fixes in dynamodb plugin 2012-10-22 15:41:43 -04:00
README gh-97 Bug fixes in dynamodb plugin 2012-10-22 15:41:43 -04:00
pom.xml gh-88 YCSB client for Amazon DynamoDB 2012-08-14 14:18:39 -07:00

README

CONFIGURE

YCSB_HOME - YCSB home directory
DYNAMODB_HOME - Amazon DynamoDB package files

Please refer to https://github.com/brianfrankcooper/YCSB/wiki/Using-the-Database-Libraries
for more information on setup.

BENCHMARK

$YCSB_HOME/bin/ycsb load dynamodb -P workloads/workloada -P dynamodb.properties
$YCSB_HOME/bin/ycsb run dynamodb -P workloads/workloada -P dynamodb.properties

PROPERTIES

$DYNAMODB_HOME/conf/dynamodb.properties
$DYNAMODB_HOME/conf/AWSCredentials.properties

FAQs
* Why is the recommended workload distribution set to 'uniform'?
    This is to conform with the best practices for using DynamoDB - uniform,
evenly distributed workload is the recommended pattern for scaling and
getting predictable performance out of DynamoDB

For more information refer to
http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/BestPractices.html

* How does workload size affect provisioned throughput?
    The default payload size requires double the provisioned throughput to execute
the workload. This translates to double the provisioned throughput cost for testing. 
The default item size in YCSB are 1000 bytes plus metadata overhead, which makes the 
item exceed 1024 bytes. DynamoDB charges one capacity unit per 1024 bytes for read 
or writes. An item that is greater than 1024 bytes but less than or equal to 2048 bytes 
would cost 2 capacity units. With the change in payload size, each request would cost 
1 capacity unit as opposed to 2, saving the cost of running the benchmark. 

For more information refer to
http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/WorkingWithDDTables.html

* How do you know if DynamoDB throttling is affecting benchmarking?
    Monitor CloudWatch for ThrottledRequests and if ThrottledRequests is greater
than zero, either increase the DynamoDB table provisioned throughput or reduce
YCSB throughput by reducing YCSB target throughput, adjusting the number of YCSB
client threads, or combination of both.

For more information please refer to 
https://github.com/brianfrankcooper/YCSB/blob/master/doc/tipsfaq.html

When requests are throttled, latency measurements by YCSB can increase.

Please refer to http://aws.amazon.com/dynamodb/faqs/ for more information.

Please refer to Amazon DynamoDB docs here:
http://aws.amazon.com/documentation/dynamodb/