私は現在、自分が取り組んでいるプロジェクトにどのデータベースを使用するかを調査しています。うまくいけば、皆さんは私にいくつかのヒントを与えることができます。
このプロジェクトは、ユーザーの要求に応じてWebサイトをチェックし、特定の状況下でデータを取得し、実行されたことのログファイルを作成する自動化されたWebクローラーです。
要件:
- 列が少ないテーブルはごくわずかです。列の事前定義は問題ありません
- モデル間に過度に複雑な関連付けはありません
- 膨大な量の日時ベースのクエリ
- ロギングにより、データベースは急速に増大し、多くのスペースを消費します
- 複数のサーバーに拡張できる必要があります
- フィールドには、主にID(int)、文字列(最大約200〜500文字)、およびUNIXタイムスタンプが含まれます
- 2つの異なるタイプのサーバーが同時にデータを直接読み書きします。
- ユーザー入力を受け取り、リクエストに応じて結果を表示する1つ(/後で)Railsアプリ
- 実行中のクローラー/スクレーパーとして機能する1つ(/後でそれ以上)のNode.jsサーバー。継続的に実行し、毎秒数十のデータベースクエリを実行するのに十分な負荷があります。
グラフデータベース(複雑な関連付けなし)でも、メモリベースのキー/値ストア(キャッシュに保持するにはデータが多すぎる)でもないと思います。私は、見つけることができる他のすべてのタイプのデータベースの危機に瀕しています。それぞれにメリットがあるようです。
それで、私がどのように決定すべきかプロからのアドバイスはありますか?
ありがとう。