Facebook インサイトやその他のソースから分析情報を収集するために、CouchDB の作業を開始しています。ドキュメントの適切な設計について確信が持てないので、より経験豊富な CouchDB ユーザーに見てもらい、大きな間違いを犯そうとしている場合は警告してもらいたいと思います。
{
"_id": "0b69a33807d4cb63680dbebc16000af5",
"_rev": "1-7c9916592c377e32cf83acf746a8647c",
//array of metrics, one element per facebook page, around 10 pages per document**
"metrics": [
{
"sourceId": "210627525692699", //facebook page ID
"source": "facebook",
"values": {
"page_likes": 53
//many more other metrics, around 100
}
},
{
"sourceId": "354413697924499", // //facebook page ID
"source": "facebook",
"values": {
"page_wall_posts_source_unique": {other: 0, composer: 1},
"page_likes": 12
//many more other metrics, around 100
}
}
],
"timestamp": [
2012,
10,
15,
10,
0,
0
],
"customerId": "71ff942f-9283-4916-ab84-4927bce09117"
}
予想されるドキュメント数: 毎時 +10 000、毎日 +240 000。
ドキュメントに対する予想される要求:
- 特定の期間における顧客ごと、sourceId ごと、メトリックごとの値の合計
- より複雑なメトリクスに特化したビュー
質問:
- いくつかの複雑なメトリクス (page_wall_posts_source_unique など) の分析を取得するには、特殊なビュー (おそらくその多く) を作成する必要がありますが、ビューの更新時間の問題が予想されるでしょうか?
- タイムスタンプに配列を使用するのは正しい決定ですか、それとも long を使用する方が良いですか?
- 1 つの設計ドキュメントを使用するべきですか、それともすべてのビューを新しいドキュメントに入れる必要がありますか?