How Amazon bills SimpleDB is a bit of a mystery.
Billing for usage of a database server which is shared between many customers is hard. You can’t just measure the size of databases, since a heavily used 1 GB database is far more resource-intensive than a lightly used 100 GB database; you can’t just count queries, since some queries require far more CPU time – or disk accesses – than others; and you can’t even time how long queries take, since modern databases can handle several queries in parallel, overlapping one query’s CPU time with another query’s disk time. When Amazon launched their SimpleDB service, it looked like they had found a solution in BoxUsage: As the website states, Amazon SimpleDB measures the machine utilization of each request and charges based on the amount of machine capacity used to complete the particular request […] and reports back a BoxUsage value in every response returned by SimpleDB. Sadly, this “measurement” is fictitious: With the possible exception of Query requests, BoxUsage values returned by SimpleDB are entirely synthetic.