私は現在、急速に巨大化する可能性のある Web アプリケーションを設計および開発しています。いくつかの一般的な情報を提供し、私の質問に移ります。私は中級レベルの Web プログラマーだと思います。
ここにいくつかの仕様があります: MySQL - データベース バックエンド PHP - フロント/バックエンドで使用されます。SOAP クライアントの HTML、CSS、JS、jQuery にも使用 - フロントエンド ウィジェット (ハイチャート、データテーブル、jquery-ui など)
これは会社のプロジェクトであるため、詳細については詳しく説明できませんが、主な目的は、何千ものユーザーがさまざまなデバイスからアクセスするダッシュボードを構築することです。
このプロジェクトのデータは、年間 50,000 アイテム (1 週間あたり ~1000 アイテム) 増加すると予測されています。
1 アイテム = データベースの 1 行
アイテムは、挿入された日から始まる毎日の履歴も記録します。
アイテムごとに 1 日の履歴 = 1 レコード
デバイスごとに 1 年あたり 365 レコード
365 * 50,000 = ~18,500,000 [初年度]
毎年、〜18,500,000レコードにxを掛けます。
(アイテムはその年を通して定期的に追加されるため、私のフォーラムは少しずれています)
すべてのアイテムと履歴は、API サービスに接続する SOAP クライアントを介してアクセスされ、レコードがデータベースに書き込まれます。
このデータの大部分は読み取られ、静的なままになります (読み取り専用)。ただし、一部の項目データは更新または変更される場合があります。データも毎日更新され、さらに x 量の履歴を書き込む必要があります。
質問:
1) MySQL はこれらのデータ要件を処理するための優れたソリューションですか? ある時点で最大 1 億レコード。
2) PHP Soap Client との同期呼び出しに制限されています (私の知る限り)。より多くのアイテムが抽出されるため、これには時間がかかります。応答を待たずに非同期要求を送信できるように、SOAP クライアントを作成するためのより良いオプションはありますか?
3) 他に考慮すべき要件はありますか?