SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

直近開催のイベントはこちら!

EnterpriseZine編集部ではイベントを随時開催しております

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けの講座「EnterpriseZine Academy」や、すべてのITパーソンに向けた「新エバンジェリスト養成講座」などの講座を企画しています。EnterpriseZine編集部ならではの切り口・企画・講師セレクトで、明日を担うIT人材の育成をミッションに展開しております。

お申し込み受付中!

規子と哲樹の、おしえて!ミッションクリティカル

パーティショニング技術―上手に分割していただきたく

 前回は「うどん店を繁盛させるため、いかに厨房を効率よく回せばいいか」について、うどん店の経営に詳しい日立の長江さんにテーテーしてもらいました…じゃなくて、ミッションクリティカルなデータベースシステムにおける並列処理「パラレルサーバ」について、うどん店のたとえを挙げながら紹介いたしました。「うどん屋のたとえ、思った以上に使える…!」との手ごたえを得た我々は、今回も前回に引き続き、ミッションクリティカルなうどん店におけるデータベースのゆで方やパーティショニングなどについてテーテーしてもらったのであります。もはやデータベースの話をしているのか、うどん店の話をしているのか、あいまいになってきて……。

DBオンラインリアルイベント開催!

3月13日開催 DB Online Day―ニッポンを強くする!データ活用の未来!
ニッポンのデータ活用を徹底討論!情シスの理想と現実とは?
後援:日本データベース学会/協賛:日立製作所、ウィングアーク1st、富士通
→詳細、お申込みは
こちら

ミッションクリティカルに欠かせないデータベース技術「パーティショニング」

吉村 さて、今月も始まりました、「規子のうどんでGO!」

長江 そんな連載ではありません。

吉村 えっ、じゃあ、今まで一体何の話をしてきたんですか……。

長江 今までもこれからも、ミッションクリティカルなデータベースについて話しています。

吉村 拝承。

長江 ちなみに今回のテーマは「パーティショニング」です。

吉村 うどんのたとえで説明していただきたく。あと、そろそろ新しい日立用語をテーテーしていただきたく。

長江 それはもうちょっと待っていただきたく。パーティショニング、何となく分かりますよね?

吉村 テーブルを分割するってやつですよね。何となくは知ってるつもりなんですけど、実は詳しくは知らなかったりします。

長江 大規模システムやミッションクリティカルなシステムの設計・開発に携わったことがない方だと、パーティショニングという言葉自体は聞いたことがあっても、実際に触る機会はあまりないかもしれません。実際、一般的なリレーショナルデータベース製品では、パーティショニングの機能はオプション扱いになっていることが多いですしね。

吉村 確かに、パーティショニングの機能を上手に扱えるデータベース技術者は「上級者」というイメージがあります。

長江 そうですよね。でもHiRDBのように、そもそもミッションクリティカル用途を前提に作られているデータベース製品では、パーティショニングって割と普通に使われているんですよね。

吉村 そもそも、なぜパーティショニングはミッションクリティカルなシステムで多く使われているんでしょう?

長江 第1回でも説明したように、ミッションクリティカルなシステムで使われるデータベースは、高負荷トランザクションに耐えられなくてはいけません。パーティショニングもそのための機能の1つなんです。具体的には、表を複数に分割することで、ある特定のエリアのデータに対するアクセスが集中してボトルネックになるような事態を未然に防いだり、ある特定のエリアの障害やメンテナンスがシステム全体に及ぼす影響を最小化するための技術です。

吉村 ちなみにパーティションって、パーティ・ションっていう人が発明したって知ってました? 嘘ですけど。

長江 ……前回、データの処理を複数のサーバに分割して並列処理させることで、高負荷トランザクションに対応できることを説明しましたよね。でも、サーバをいくらたくさん並べて並列処理しても、それらが皆同じ巨大なテーブルにアクセスするのでは、アクセス競合が頻発してボトルネックになってしまいます。これを回避するには、テーブルを複数のパーティションに分割して、それぞれでアクセスを均等化してやればいいわけです。

吉村 なるほど。うどん店のたとえで言うなら、うどんの長さをぴったり同じにそろえれば商売繁盛間違いなしということですね!

長江 全然違います。強いて言えば、うどんを茹でる鍋を複数用意するというイメージでしょうか。厨房でうどんを茹でる料理人をいくらたくさんそろえても、鍋が大鍋1個だけだと明らかに非効率ですよね? 

吉村 確かに。注文はばらばらに入ってきますし、茹でる人も複数いるので、大鍋1個だけだと茹でる量の調整が難しそうですし、作業の待ち時間も発生して無駄が多そうです。

長江 その点、小さめの鍋を複数並べて同時並行で茹でた場合は、複数いる調理人が常に無駄なく稼働できますし、ランダムに入ってくる注文にも柔軟に対応できます。それに、もし何らかの事情で鍋を交換しなくてはいけなくなった場合でも、大鍋を丸ごと交換となるとその間オーダーを完全にストップしなくてはいけませんが、小鍋に分けていればほかの鍋で茹でてる間にさっと交換できます。空の鍋を常に用意しておけば、鍋に問題が起きたときや、茹汁を交換したいときなどにすぐ交換できますし、何なら予備の鍋を常に火にかけて準備しておけば、ほぼ時間のロスなく交換できます。

吉村 それって、まさに「コールドスタンバイ」と「ホットスタンバイ」ですね!

長江 その通りです。パーティショニングは、大規模データベースの運用性や可用性を担保する上でもとても有効な技術なんです。

うどんのたとえ
うどん屋でいうと…

次のページ
パーティショニングの効果は「データの分け方」によって大きく左右される

この記事は参考になりましたか?

  • Facebook
  • Twitter
  • Pocket
  • note
規子と哲樹の、おしえて!ミッションクリティカル連載記事一覧

もっと読む

この記事の著者

吉村 哲樹(ヨシムラ テツキ)

早稲田大学政治経済学部卒業後、メーカー系システムインテグレーターにてソフトウェア開発に従事。その後、外資系ソフトウェアベンダーでコンサルタント、IT系Webメディアで編集者を務めた後、現在はフリーライターとして活動中。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

EnterpriseZine(エンタープライズジン)
https://enterprisezine.jp/article/detail/6543 2015/02/10 00:00

Job Board

AD

おすすめ

アクセスランキング

アクセスランキング

イベント

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング