0

Web ショップをクロールして商品を検索する Web クローラーを開発しています。現在、最近見つかった単一の価格のみを保存していますが、履歴も保存したいと考えています。メインデータベースの InnoDB テーブルで MariaDB (5.3.8) を使用しています。

ただし、MariaDB/MySQL が価格履歴の最適なデータベースであるかどうかはわかりません。

データ保持期間は約 2 ~ 4 年で、製品ごとに 1 日あたり最大で 1 つの価格を節約できます。私の製品テーブルには約 200 万行が含まれ、年間の価格履歴の行数は最大で約 7 億 3000 万になります。

これはかなり多いと思います。

このデータには、すぐにアクセスできる必要があります (数値 ID (製品 ID) または SHA1 ハッシュ値など、より優れた/簡単な方法で識別できます)。

保存する必要があるデータは次のとおりです。

product_id、価格、日付 (時間がありません!)

INSERT がかなり頻繁に発生し、SELECT が同じ頻度で発生するため、それを処理するデータベース ソフトウェアに大きな負荷がかかります。SELECT クエリを最小限に抑える目的で、時々別のデータベースにデータを集約することは可能ですが、「ヘルパー スクリプト」の別のレイヤーを追加しないように、それは避けたいと思います。

DELETE はまったく実行されません。

何を提案しますか?

4

1 に答える 1

0

これは、どの RDBMS でも簡単なシナリオです。この狭いテーブルに 1 ~ 2 個のインデックスを挿入するだけで、まったく問題ありません。年間 7 億 3000 万行でもまったく問題ありません (データが GB 単位でどれくらいの大きさになるかを知りたいです - おそらく 10 ~ 20GB ですか?)。

戦略的な懸念に基づいて選択する必要があります。すでに所有して使用している RDBMS はどれですか? あなたは何に精通していますか?バックアップ、高可用性についてはどうですか?

于 2013-02-14T11:52:02.583 に答える