私の問題はRDBMSモデルによって解決されるようです。しかし、私は実際にMongoDBを使って展開したいと思います。なぜなら、将来的に各レコードに追加する不規則なフィールドがあり、NoSQLデータベーススキルを練習したいからです。あるベンダーによって提供クロスベンダーの時系列データのMongoDBモデル
PE比及びPB比データ:
| Vendor5_ID| PE| PB|date |
|----------:|----:|-----:|:----------|
| 210| 3.90| 2.620|2017-08-22 |
| 210| 3.90| 2.875|2017-08-22 |
| 228| 3.85| 2.320|2017-08-22 |
| 214| 3.08| 3.215|2017-08-22 |
| 187| 3.15| 3.440|2017-08-22 |
| 181| 2.76| 3.460|2017-08-22 |
価格データ及びアナリストは、他のベンダー
|Symbol | Price| Analyst|date |
|:------|-----:|-------:|:----------|
|AAPL | 160| 6|2017-08-22 |
|MSFT | 160| 6|2017-08-22 |
|GOOG | 108| 4|2017-08-22 |
によって提供覆い、私は鍵変換データを有する:
| uniqueID|Symbol |from |to |
|--------:|:------|:----------|:----------|
| 1|AAPL |2016-01-10 |2017-08-22 |
| 2|MSFT |2016-01-10 |2017-08-22 |
| 3|GOOG |2016-01-10 |2017-08-22 |
| uniqueID| Vendor5_ID|from |to |
|--------:|----------:|:----------|:----------|
| 1| 210|2016-01-10 |2017-08-22 |
| 2| 228|2016-01-10 |2017-08-22 |
| 3| 214|2016-01-10 |2017-08-22 |
を
時間範囲クエリを高速に実行したい。
db.PE:
{
_id,
uniqueID,
Vendor5_ID,
value,
date
}
db.PB:
{
_id,
uniqueID,
Vendor5_ID,
value,
date
}
db.Price:
{
_id,
uniqueID,
Symbol,
value,
date
}
db.Analyst:
{
_id,
uniqueID,
Symbol,
value,
date
}
これは良い解決策ですか。私は、各列をコレクションとして保存するアイディアを思いついています。別のベンダーによって追加するデータがはるかに多い場合、どのモデルがベストだと思いますか?
次に、クロスストッククエリ(例:2016年9月の株式リストのPE) –