MySQLをバックエンドとして使用してデータウェアハウスを作成しています。2つの整数IDと名前文字列に基づいてテーブルを分割する必要があります。
より具体的な例は、私が学校に関するデータを保存していると仮定することです。以下に基づいて、COMPOSITE'Key'に基づいてschool_dataテーブルを分割したいと思います。
school id (integer)
course_id (integer)
student_surname (string)
学生の名前の場合、データをどの「パーティションテーブル」に入れるかを決定するのは、名前の最初の文字にすぎません。
InnoDbテーブルでMySQL(5.1)を使用してこの要件を実装するにはどうすればよいですか?
また、私はWindowsボックスで開発を行っていますが、本番用に*nixボックスにデプロイします。さらに2つの質問があります。
- WindowsからLinuxに移行するときは、データをダンプして復元する必要があると思います。データベースにパーティション化されたテーブルが含まれている場合、これで問題ないかどうかはわかりません(ドキュメントでこれが記載されている場所へのポインターは、私の心を休ませます-パーティション化されたテーブルに関するダンプ/復元についての具体的な言及は見つかりませんでした。
- また、データベースを変更する必要があるかもしれません(OracleがMySQLユーザーに意外な動きをした場合)。その場合、データを別のデータベースにエクスポートする必要があります。この場合(おそらくありそうもないシナリオ)-パーティション化されたテーブルを念頭に置いて、MySQLから(おそらくテキストなどに)データをダンプするための最良の方法は何でしょうか?