データを 13 個のテーブルに分割したのは、これらすべてのテーブルが個別のデータ ファイルを使用し、それらのデータ ファイルが 13 台の物理ハード ドライブに書き込まれているという事実によるものだと説明されました。各テーブルには専用のハード ドライブがあり、
そのための声明が 1 つあります。IDIOTS AT WORK です。
テーブルはディスクではなく、複数のデータ ファイルにまたがるファイル スペースに保存されます。これに注意してください...つまり、13 ディスクに 12 個のデータ ファイルを持つ 1 つのファイル スペースを持つことができ、テーブルは 13 個のテーブルすべてに分散されます。負荷を分散するためにばかげた愚かなゲームをプレイする必要はありません。ドキュメントを読むだけですでに可能です。
それでも、13 枚のディスクが速いとは思えません。本当。私は個人的に小さなデータベース (わずか 800 GB) を実行しており、データだけで 6 つのディスクがあり、現在の仕事の割り当ては 3 桁のディスク (つまり 100 以上) です。13 枚のディスクを大規模なデータベースと呼ばないでください。
とにかく、UNIONではなくパーティション化されたテーブル(エンタープライズ版の機能ではありますが、標準のSQLサーバー)がデータを分散する必要があるべきです。
データベースは約 300 ~ 400 GB で、1 日あたり 1.5 ~ 2 GB ずつ増加していることに注意してください。
まともなサーバーを入手してください。
私は、このアプローチが本当に最善のアプローチなのだろうかと思っていました。
ああ、ハードウェア。高さ 2 ~ 4 ラック ユニット、SAS バックプレーン、ディスク用 24 ~ 72 スロットのデータベース用の SuperMicro ボックスの 1 つを入手してください。はい、1 台 1 台のコンピューターです。
明らかにデータベースを扱うべきではない誰かが思いついた、毎月の blabla テーブルのがらくたを廃棄します。すべてが 1 つのテーブルに。ファイルスペースと複数のデータ ファイルを使用して、すべてのテーブルの負荷分散をさまざまなディスクに処理します。そうでもなければ...
...あなたは実際に、そのようなディスクの実行が重大な怠慢であることを認識しています. RAID 5またはRAID 6またはRAID 10が適切です。そうしないと、ディスクに障害が発生したときにサーバーがダウンする可能性があり、600GBデータベースの再設定には時間がかかります. 私は自分のデータ ディスクに RAID 10 を実行していますが、個人的には約 10 億行のテーブルを持っています (そして、仕事で 1 日に約 10 億行を追加しています)。データベースのサイズが小さいことを考えると、SSD のカップルも役立ちます....それらの IOPS バジェットは、おそらく 2 ~ 3 個のディスクに移動して、より多くの速度を得ることができることを意味します。それが不可能な場合、私の賭けは、それらのディスクが 7200 RPM の低速の 3.5 インチ ディスクであるということです... エンタープライズ レベルのディスクへのアップグレードが役立つでしょう。 )
とにかく、これは本当にひどく設定されているように聞こえます。残念ながら、私の研修生がそのような賢いものを思いついたことを嬉しく思います (それは間違いなく研修生の頭を超えているでしょう) か、私の開発者は私がそれを見つけた瞬間に私のために働くのをやめるでしょう (ひどい無能さに基づいて、感じます)法廷で自由に争うことができます)
再編成します。また、バッチ処理にも注意してください。バックアップと重複しないように、時間をずらして処理する必要があります。単なる単純な低速ディスクで提供できる IO は非常に限られています。