私は現在、ユーザーのゲーム プロファイルに関する多くのデータを保持する Web サイトを持っています。私が達成したいのは、LIKEを使用してテキストのインデックスなしのvarcharフィールドをスキャンする簡単な方法です。現在、この 1 つのテーブルで 17,000,000 行を超えています。理想的には、ライブデータベースからそれを行う方法です。
これには 30 秒かかり、サイトがロックされます。頻繁に行うことはありませんが、削除する必要がある裸のアバターがあり、複数の人の同じパスが含まれている場合があるため、一度に多数の人を無効にできます。できます。フィールドにインデックスを付けても、大きな影響はありません。SQL は、6 コア、2 GB の専用 RAM、および 100 GB のメカニカル ディスクを備えた vps を実行している共有サーバー上にあります。SSD の速度は、この特定の検索に大きな影響を与えませんでした。そこで、もう一度レプリケーションを行うことを考えました: (7mb/s ダウン、350kb/s アップ ホーム接続)
オプション 1: VPS から自宅のマシンへのマスターからマスターへ。私のホーム マシンは 3770k で、16 GB の RAM と SSD を搭載しています。これにより、迅速な検索が返され、多くの時間オンラインのままになると確信しています。このマシンで処理側を実行してから、Web 側に中継することができました。
オプション 2: マスターからスレーブへ。ローカル マシンでスレーブを使用して変更が必要なフィールドを生成し、これをメイン サーバーに送り返してそこで更新するコードを書くことができますが、少し面倒です。
オプション 3 : ネットワークで予備のクアッド コアのセットアップを取得し、ここで 24 時間年中無休の専用スレーブとして使用します。Q6600 @ 3.5ghz、4 GB RAM およびメカニカル ディスク。電力使用量が多く、騒音がうるさいですが、夫人はあまり幸せではありません。
オプション 4:コストを抑えたいが、別の vps を取得する。
誰かが何が最善かを明らかにすることができますか? 私はこの種のオフについてはあまり経験がありません。私は過去にデータ複製をセットアップしましたが、これを読んでいる人は、パフォーマンスへの影響とすべきこととすべきでないことについてより多くの知識を持っていると確信しています.