At http://www.rethinkdb.com/docs/data-modeling/ it says:
Due to the previous limitation, it is better to keep the size of the columns no more than a few hundred .
If I intend to store 90 days (3 months) of statistics, and probably each date has a built-in array of about 10 regions. This means that 90 * 10 = 900. 900 is not quite a few hundred .
However, a related question in the MongoDB relationship: embed or link? suggests that MongoDB has a 16 MB limit, which means that it can host 30 million tweets or about 250,000 typical Stackoverflow questions as embedded documents. It's a lot!
However, this is MongoDB. RethinkDB has a limit of 10 MB per document. Which should still be significantly high. The RethinkDB documentation may be erroneous. Or there is another specific reason (not explained) why Rethinkdb only offers to store it up to several hundred built-in arrays, although 10mb may explicitly contain a lot more.
The complex idea of the circuit I had in mind:
DailyStat::Campaign
[
{
id: '32141241dkfjhjksdlf',
days_remaining: 26,
status: 'running',
dates: [
{
date: 20130926,
delivered: 1,
failed: 1,
clicked: 1,
top_regions: [
{ region_name: 'Asia', views: 10 },
{ region_name: 'America', views: 10 },
{ region_name: 'Europe', views: 10 },
{ region_name: 'Africa', views: 10 },
{ region_name: 'South East Asia', views: 10 },
{ region_name: 'South America', views: 10 },
{ region_name: 'Northern Europe', views: 10 },
{ region_name: 'Middle East', views: 10 }
]
},
{
date: 20130927,
delivered: 1,
failed: 1,
clicked: 1,
top_regions: [
{ region_name: 'Asia', views: 10 },
{ region_name: 'America', views: 10 },
{ region_name: 'Europe', views: 10 },
{ region_name: 'Africa', views: 10 },
{ region_name: 'South East Asia', views: 10 },
{ region_name: 'South America', views: 10 },
{ region_name: 'Northern Europe', views: 10 },
{ region_name: 'Middle East', views: 10 }
]
},
...
]
}
]