SHOEISHA iD

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

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

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

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

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

お申し込み受付中!

oracletechアーカイブス!

「本当に効くデータベースチューニング ~索引よりもCPUとHDDのバランスを~」


大量データの処理にはパーティションも有効

 パーティションは、表や索引を内部的に分割する機能だ。分割しても1つの表として扱われるが、SQLなどが扱うデータ量を削減することができる。

 「パーティション大規模データベースを扱う際にはマストとなる機能だ。データウェアハウスでの多くの場合、索引は役に立たないと言い切ってよいだろう」(柴田氏)。

 例えばデータベース全体の1%未満がヒットする場合は索引が有効だが、データウェアハウスにあるような、過去1年間の売上データから1カ月分の売上合計を見るといったケースでは、索引ではデータベースの性能向上は望めない。このような場合では、売上年や月ごとにデータベースをパーティション化すれば、特定年月のデータを参照するだけでよくなるため、集計作業などの処理における性能向上が期待できるのだ。

 さらに、「索引スキャンは、1ブロックずつ読むので、どうしてもストレージの性能を出しづらいが、表スキャンは複数ブロックをまとめて読めるのでストレージの性能を最大限引き出せる。"同じブロック数を読むのであれば"、索引スキャンするよりも一部のパーティションだけを表スキャンするほうが速い」(柴田氏)。

 表スキャンは常に悪者というイメージがあるが、実はそうでないのだ。パーティションは、取り出す行数が非常に多い場合に大きな効果を発揮し、索引とは違った方法で読み取りブロック数を大幅に削減する機能だ。

 パーティションのメリットについて、さらにいくつか触れていこう。通常、表の一部をDelete文で削除すると時間がかかる。しかし、例えば売上データを月単位でパーティション表にしておけば、月単位でパーティションをドロップすることで、すぐにデータを削除できる。さらに、パーティション表はパーティション単位で圧縮することができるため、例えば過去の売上データは圧縮するとよい。古いデータに対してInsertやUpdateを行うことは少ないだろう。圧縮しておけばディスクの節約にもなるし、Selectが速くなるというメリットもある。

 Oracle Databaseのパーティションには、レンジ、リスト、ハッシュの3通りの分割方法があるが、それらを組み合わせることもできる。「例えば月単位、支店単位の2つのパーティションを組み合わせることで、月別支店別の売上データに瞬時にアクセスできる。ほかにもレンジ+レンジ、レンジ+ハッシュというように自在に使えるので、ぜひ使いこなしてほしい」と柴田氏は説明する。

 オラクルエンジニア通信:「Oracle Partitioning 技術資料

次のページ
大規模データベースのチューニングノウハウはExadataがお手本に

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

  • Facebook
  • Twitter
  • Pocket
  • note
oracletechアーカイブス!連載記事一覧

もっと読む

この記事の著者

oracletech.jp編集部(オラクルテックジェイピーヘンシュウブ)

oracletech.jpは、オラクル・データベースと関連製品をお使いいただいている皆様、開発に携わっているエンジニアの皆様、オラクル製品を販売いただいている皆様すべてにとって有益な情報源となることを目指しています。エンタープライズ系ITを中心に、製品情報や技術情報からテクノロジー・トレンド、キャンペーンやイベント/セミナー情報まで多岐にわたります。日本オラクルの社員だけでなく...

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

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

この記事をシェア

EnterpriseZine(エンタープライズジン)
https://enterprisezine.jp/article/detail/3422 2012/02/10 17:49

Job Board

AD

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング