私の会社ではそのようなデザインを見てきました。
大きなmysqlテーブルは、同じデータベース内の同じサーバー上の同じスキーマの数十の小さなテーブルに分割されます。物理的な分散、innodb_file_per_table、パーティション化などはありません。データは均等に分散され、読み取り/書き込みアクセスパターンは、すべてのテーブルで均一です。
パフォーマンス面でそうすることの利点は何ですか?
読み取り/書き込みが均等に分散されている場合、パフォーマンス上の利点はないと思います。たとえば、大量の書き込みを行っていて、たとえば2〜3個のテーブルに書き込みを行っている場合は、メリットがあります( this プレゼンテーションのスライド28〜34を参照)。
運用上の利点に関するいくつかのアイデア:
編集:もう1つの考え:クエリが並行して実行される場合、パフォーマンス上の利点がある可能性があります-RAIDからより多くのIOPSを取得し、ローカリゼーションを改善できますワーキングセットがメモリに収まる場合は、マルチコアシステムの.