[解決済み] 73億行のマーケットデータ(読み出しに最適化)を格納する方法とは?
質問
1998年以降の1000銘柄の1分足のデータセットを持っています。
(2012-1998)*(365*24*60)*1000 = 7.3 Billion
の行になります。
ほとんど(99.9%)の時間は、私が実行する唯一の を読む のリクエストしか行いません。
このデータをdbに保存するのに最適な方法は何ですか?
- 7.3B行の1つの大きなテーブル?
- 各7.3M行の1000テーブル(各株式記号に1つ)?
- データベースエンジンの任意の勧告?(私はAmazon RDSのMySQLを使用することを計画している)。
私はこのような大きなデータセットを扱うのに慣れていないので、これは私が学ぶための素晴らしい機会です。私はあなたの助けと助言に大いに感謝します。
編集する。
これはサンプル行です。
'xx', 20041208, 938, 43.7444, 43.7541, 43.735, 43.7444, 35116.7, 1, 0, 0
1列目は銘柄記号、2列目は日付、3列目は分、残りは始値-高値-終値、出来高、3列目は整数です。
ほとんどのクエリは、2012年4月12日12:15と2012年4月13日12:52の間のAAPLの価格を教えてください、のようになります。
ハードウェアについて:Amazon RDSを使用する予定なので、それについては柔軟に対応します。
解決方法は?
クエリの内容、ハードウェア環境について教えてください。
私は非常に非常に行きたくなる NoSQL を使って Hadoop などで、並列処理を利用することができます。
アップデート
なるほど、なぜ?
まず第一に、私がクエリについて質問したことに注目してください。 ワークロードがどのようなものかを知らずに、この質問に答えることはできませんし、私たちもそうです。 (偶然にも、この件に関する記事が近々掲載される予定ですが、今日はリンクできません)。 しかし スケール この問題のために、私は Big Old Database からの移行を考えています。
-
類似のシステムでの私の経験から、アクセスは大きなシーケンシャル (ある種の時系列分析の計算) か、非常に非常に柔軟なデータ マイニング (OLAP) のどちらかになることが予想されます。 シーケンシャル データは、より良く、より速くシーケンシャルに処理できます。OLAP は、たくさんのインデックスを計算することを意味し、それにはたくさんの時間またはスペースが必要になります。
-
しかし、OLAP の世界で多くのデータに対して効果的に大きな実行を行っている場合、列指向のアプローチが最適かもしれません。
-
ランダムなクエリを行いたい場合、特に相互比較を行う場合は、Hadoopシステムが効果的かもしれません。 なぜでしょうか?なぜなら
- 比較的小さなコモディティハードウェアで並列性をよりよく利用できる。
- 高い信頼性と冗長性を実現することができます。
- これらの問題の多くは、MapReduceのパラダイムに自然に適しています。
しかし、実際のところ、あなたの仕事量について知るまでは、決定的なことは何も言えません。
関連
-
[解決済み】SQLでランダムに行を選択する方法は?
-
[解決済み] データベースにはすでにオブジェクト名が存在する
-
[解決済み] マスター・マスターとマスター・スレーブ、どちらのデータベース・アーキテクチャが良いのか?
-
[解決済み] SQLite UPSERT / UPDATE OR INSERT
-
[解決済み] SQLITE SQLダンプファイルをPOSTGRESQLに変換する
-
[解決済み] DB2とOracleから見たCLOBとBLOBの違いとは?
-
[解決済み] scale horizontallyとscale verticallyの意味を教えてください。重複
-
[解決済み] テーブルのネーミング。アンダースコアとキャメルケース、名前空間?単数形と複数形?
-
[解決済み] データベースにおけるカーディナリティとは?
-
[解決済み] なぜデータベースは常に円柱で表現されるのですか?[クローズド]
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] リレーショナル・データベースにおけるカタログとスキーマの違いは何ですか?
-
[解決済み] SQLITE SQLダンプファイルをPOSTGRESQLに変換する
-
[解決済み] DB2とOracleから見たCLOBとBLOBの違いとは?
-
[解決済み] 非リレーショナルデータベース設計【終了しました
-
[解決済み] 1対1の関係はどのようなときに使うべきですか?
-
[解決済み] なぜ、いつ、Liquibaseなのか?
-
[解決済み] テーブルのネーミング。アンダースコアとキャメルケース、名前空間?単数形と複数形?
-
[解決済み] 正規化された電話番号をデータベースに格納するための規格はありますか?
-
[解決済み] データベースからdjangoのモデルを生成することは可能か?
-
[解決済み] 営業時間のデータベースへの格納