MOREパーティションを使って快適ログ集計2015.06.16CCSプログラマの吉村と申します。皆様はログの集計などを行われた事はありますでしょうか?今回はMySQLのパーティションの紹介を行いたいと思います。中でもログデータが100万件などを超えた場合は集計に時間が掛かってしまいます。そこで今回紹介するのが、MySQLのVer5.1から使用出来るようになったパーティションになります。振り分けて管理することができるというものです。全データから情報を取得するより、ずっと少ないデータから情報を取得出来る事になります。■パーティションの種類パーティションにはいくつか種類がありますので一部簡単に紹介します。今回使用するのはRANGEになります。ログデータや時系列データなど連続的にデータが存在する場合に有効です。説明より実際に見た方がわかりやすので見て行きましょう!1.テーブルを作成しましょう。今回は呼び出されたAPIを、日付毎に保存するようなDBを作成します。注意が必要な点としてパーティションのキーになるカラムは、プライマリーキーに含める必要があります。‘パーティションテスト’;テスト用のテーブルを用意しました。2.作成したテーブルにパーティションを作成しましょう。以下は、1日おきにパーティションを作成するSQLになります。MAXVALUE);これでパーティションの作成が行えました。3.実際に作成出来ているか確認して見ましょう。以下のSQLでパーティションを確認する事が出来ます。TABLE_NAME=’partition_test’;2.で指定した通り、1日おきにパーティションが作成されている事が確認出来ました。4.実際に値が入るかデータを入れて確認してみましょう。下記のようなテストデータを用意します。再度、パーティションの中身を確認してみましょう。実際に日付毎にデータが分けて入っているのが確認出来ましたね。5.最後にデータを取得してみましょう。上記のSQLでは、指定したパーティションからデータの取得を行います。指定したパーティションから、データを取得出来ている事が確認出来た事が分かります。これで作成からデータの取得までの一連の流れをおこないましたが、とても簡単に設定や削除などを行うことが出来ます。例では1日おきにパーティションを設定しました。これにより、本来全データから集計を行う所を、日毎にデータの取得を行う事が出来るようになるのです。いかがでしょうか?皆さんもパーティションをうまく使用して、快適なログ収集を行えるようになりましょう。採用情報クラウドクリエイティブスタジオではプログラマを募集しております。