これを行う最良の方法は、実際にはデータとクエリの品質と性質に依存します。まず、製品の単一のテーブルにある180MBのデータは、どのように見ても問題ありません。また、1日あたり3万回のクエリでも問題は少なくなります。データベースが適切に構成されていれば、古いデスクトップはこの負荷を処理できます。
MySQLまたはnoSQLデータベースという2つの主要なオプションをすでに指摘している人もいます。
すべての単一の製品に存在する特定の数の属性(製造元、価格、倉庫番号など)がある場合、これらの属性の列を用意し、キーと値のペアをフラットテーブル形式に変換することをお勧めします。そのテーブルの主キーとして製品IDを使用します。一部の列が行の半分でのみ使用されている場合でも、これは非常にうまく機能します。ほとんどの製品では、1つのクエリを実行するだけですべての属性を取得する必要があるためです。これは製品に関するデータですが、これはあなたのデータの構造である可能性が非常に高いと思います。
属性の存在とデータ型が大きく異なる場合は、このシナリオを従来のSQLデータベースよりも効率的に処理するnoSQLデータベースを使用することをお勧めします。
パフォーマンスについて:私は以前、eコマース企業で働いていました。長い間、WebサイトにはMySQLサーバーからのデータが提供されていました。このサーバーには2GBのRAMがあり、データベースの合計は約でした。サイズが5GBで負荷が高い状態で、サーバーは1秒あたり数千のクエリを処理しました。はい、多くのクエリ最適化を行いましたが、これは間違いなく実行可能です。