I'm finding this confusing too! The
CloudKit page seems to split the usage quota into whether you are using the private or public database. Here's where I've got to.
As far as I can tell, this is all billed/calculated on a per user basis. As a developer, you will never be billed for usage of a user's
private database. Also, If there is a group of users with crazy usage patterns, they shouldn't affect any of your other users quotas – just their own.
10GB Asset Storage (Photos, Videos, etc.)
100MB Data storage (Structured data in the CloudKit key-value store)
2GB Data Transfer (This is unclear, but I'm assuming it's calculated per month.)
40 Requests per second (I'm assuming a user will get throttled if they perform more than 3 requests in a 2 second period.)
Whilst Apple does provide an average 'per user' calculation in their calculator on their CloudKit page, I think this actually confuses matters.
This is because the 'per user' quota on the public database is an average based on Apple's definition of an active user – someone who has accessed your public database container within the last 16 months – rather than your typical Monthly Active Users (MAUs). This is actually a good thing, as those users that aren't retained bump up the shared allocation for your remaining users – for 16 months after they last used the app!
However, now when you create a 'per user' average of the quotas – they look more conservative than they actually are.
The truth is that for most apps usage patterns are going to vary wildly between super-engaged contributing users, casual users, and users that have churned never to return again.
With this in mind the quotas look pretty good:
1PB (1000TB) Asset Storage (Photos, Videos, etc.)
10TB Database Storage (Structured data in the CloudKit key-value store)
200TB data transfer
400 requests per second.
So, to summarise, I'd
ignore the per-user average figures for the public database – they're a red herring. Do some calculations for your own app's usage patterns based on Apple's
16-month Active Users definition from the
overall quota.