SlideShare ist ein Scribd-Unternehmen logo
1 von 7
カジュアルに
パーティショニング
MySQL Casual Talks @gumi福岡


                      @akimicyu
パーティショニング

•   設定したルールに従っ
    て、データをパーティ
    ション分割する仕組み

•   MySQL では5.1から利
    用可能              http://blogs.ricollab.jp/webtech/2009/10/mysql_partitioning_1/ より
パーティショニング
•   メリット

    •   大量データによる性能劣化を防止できる

    •   アプリ側で設定ルールを意識する必要がない

        •   (テーブルの水平分割・shardingに対する優位性)

•   デメリット

    •   パーティショニングされたテーブルでは、外部キー
        が使用不可(参照する側・される側)
使いどころ
•   こんなテーブルに効果的

    •   ユーザの行動ログ: データ量がN(ユーザ数)×T (リリース後の経過時間) に比例

        •   (特に)ユーザ間相互作用 → N2×T に比例

    •   時系列に沿って大量データが作成されるもの

    •   古いデータを選択的に削除したいもの(DROP PARTITION)

•   具体例(ゲーム): 戦闘履歴、挨拶、チャットログ
実演
その他

•   shardingとも併用可

    •   ユーザIDでsharingしつつ、時系列パーティショニング とか

•   運用中のテーブルをパーティショニングするのは結構大変

    •   設計時に考慮しておいた方が吉

    •   (とはいえ、運用中のDBをshardingするよりは楽)
まとめ


•   パーティショニングはshardingよりカジュアルに導入できるよ

Weitere ähnliche Inhalte

Mehr von akimichi Yamada

情報処理技術者の倫理とWell being
情報処理技術者の倫理とWell being情報処理技術者の倫理とWell being
情報処理技術者の倫理とWell beingakimichi Yamada
 
情報処理技術者のための技術士受験のすすめ
情報処理技術者のための技術士受験のすすめ情報処理技術者のための技術士受験のすすめ
情報処理技術者のための技術士受験のすすめakimichi Yamada
 
NASのHDDが死にかけた話
NASのHDDが死にかけた話NASのHDDが死にかけた話
NASのHDDが死にかけた話akimichi Yamada
 
職業プログラマに必要な意識について
職業プログラマに必要な意識について職業プログラマに必要な意識について
職業プログラマに必要な意識についてakimichi Yamada
 
20141114 ddd13章 より深い洞察へと向かうリファクタリング
20141114 ddd13章 より深い洞察へと向かうリファクタリング20141114 ddd13章 より深い洞察へと向かうリファクタリング
20141114 ddd13章 より深い洞察へと向かうリファクタリングakimichi Yamada
 
エリック・エヴァンスのドメイン駆動設計 第3部〜8章まで
エリック・エヴァンスのドメイン駆動設計 第3部〜8章までエリック・エヴァンスのドメイン駆動設計 第3部〜8章まで
エリック・エヴァンスのドメイン駆動設計 第3部〜8章までakimichi Yamada
 
DDD7章 言語を利用する:応用例
DDD7章 言語を利用する:応用例DDD7章 言語を利用する:応用例
DDD7章 言語を利用する:応用例akimichi Yamada
 
Fiddlerで通信のデバッグを効率化する
Fiddlerで通信のデバッグを効率化するFiddlerで通信のデバッグを効率化する
Fiddlerで通信のデバッグを効率化するakimichi Yamada
 
Androidでテストってどないすんねん!
Androidでテストってどないすんねん!Androidでテストってどないすんねん!
Androidでテストってどないすんねん!akimichi Yamada
 

Mehr von akimichi Yamada (10)

情報処理技術者の倫理とWell being
情報処理技術者の倫理とWell being情報処理技術者の倫理とWell being
情報処理技術者の倫理とWell being
 
情報処理技術者のための技術士受験のすすめ
情報処理技術者のための技術士受験のすすめ情報処理技術者のための技術士受験のすすめ
情報処理技術者のための技術士受験のすすめ
 
NASのHDDが死にかけた話
NASのHDDが死にかけた話NASのHDDが死にかけた話
NASのHDDが死にかけた話
 
職業プログラマに必要な意識について
職業プログラマに必要な意識について職業プログラマに必要な意識について
職業プログラマに必要な意識について
 
20141114 ddd13章 より深い洞察へと向かうリファクタリング
20141114 ddd13章 より深い洞察へと向かうリファクタリング20141114 ddd13章 より深い洞察へと向かうリファクタリング
20141114 ddd13章 より深い洞察へと向かうリファクタリング
 
エリック・エヴァンスのドメイン駆動設計 第3部〜8章まで
エリック・エヴァンスのドメイン駆動設計 第3部〜8章までエリック・エヴァンスのドメイン駆動設計 第3部〜8章まで
エリック・エヴァンスのドメイン駆動設計 第3部〜8章まで
 
DDD7章 言語を利用する:応用例
DDD7章 言語を利用する:応用例DDD7章 言語を利用する:応用例
DDD7章 言語を利用する:応用例
 
Fiddlerで通信のデバッグを効率化する
Fiddlerで通信のデバッグを効率化するFiddlerで通信のデバッグを効率化する
Fiddlerで通信のデバッグを効率化する
 
Phone gap + monaca
Phone gap + monacaPhone gap + monaca
Phone gap + monaca
 
Androidでテストってどないすんねん!
Androidでテストってどないすんねん!Androidでテストってどないすんねん!
Androidでテストってどないすんねん!
 

My sqlカジュアル パーティショニング

  • 2. パーティショニング • 設定したルールに従っ て、データをパーティ ション分割する仕組み • MySQL では5.1から利 用可能 http://blogs.ricollab.jp/webtech/2009/10/mysql_partitioning_1/ より
  • 3. パーティショニング • メリット • 大量データによる性能劣化を防止できる • アプリ側で設定ルールを意識する必要がない • (テーブルの水平分割・shardingに対する優位性) • デメリット • パーティショニングされたテーブルでは、外部キー が使用不可(参照する側・される側)
  • 4. 使いどころ • こんなテーブルに効果的 • ユーザの行動ログ: データ量がN(ユーザ数)×T (リリース後の経過時間) に比例 • (特に)ユーザ間相互作用 → N2×T に比例 • 時系列に沿って大量データが作成されるもの • 古いデータを選択的に削除したいもの(DROP PARTITION) • 具体例(ゲーム): 戦闘履歴、挨拶、チャットログ
  • 6. その他 • shardingとも併用可 • ユーザIDでsharingしつつ、時系列パーティショニング とか • 運用中のテーブルをパーティショニングするのは結構大変 • 設計時に考慮しておいた方が吉 • (とはいえ、運用中のDBをshardingするよりは楽)
  • 7. まとめ • パーティショニングはshardingよりカジュアルに導入できるよ

Hinweis der Redaktion

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n