SHOEISHA iD

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

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

オラクル技術エキスパートが紹介する 開発者のためのデータベース完全ガイド

データベースを止めずにリソースを変更するには? ストレージを動的に増減し性能を引き出す仕組み

オラクル技術エキスパートが紹介する 開発者のためのデータベース完全ガイド 第14回

  • X ポスト
  • このエントリーをはてなブックマークに追加

 この連載では、開発者の皆様がシステム・アーキテクチャやアプリケーション・コードをより洗練させるのに役立つデータベース・マネジメント・システム(DBMS)の基本を振り返り、実装に合った技術の組み合わせを解説します。前回より、ハードウェアリソースの追加と削減について焦点を当てていますが、今回はデータベースの重要な構成要素の1つである「ストレージ」の動的な増減について解説します。

  • X ポスト
  • このエントリーをはてなブックマークに追加

はじめに

 この連載は、第1回に紹介したDBMSの3階層構造における「アーキテクチャと実装」についての技術の紹介から始まり、第8回からはアプリケーションから見たデータ操作階層である「データ・モデルとデータ型」についてお伝えしてきました。

 データベースは巨大なデータ量を扱うため、ハードウェアのリソースも大量に必要になります。前回第13回からは、データベースの性能に大きな影響を持つハードウェア・リソースの追加と削減に焦点を当てています。前回は1つのOS上のデータベース・エンジンのCPUとメモリーのリソースを動的に増減させる実装について扱いました。今回はデータベースのもう1つの重要な構成要素であるストレージの動的な増減について見ていきます。

 ハードウェア・リソースを追加しただけでは性能は向上しません。性能が向上するには追加したハードウェアが適切に使用される必要があります。データのアクセス・パターンとアーキテクチャが適合していないとハードウェアの性能を引き出すことができません。

 なお、本連載で例として挙げるデータベースはオラクルが提供しているものが多いですが、オラクル製品を使っていない方にも参考にしていただけるように解説します。

対象読者

 この連載では以下の読者を想定しています。

  • データ資産を活用する、新しいアプリケーションの構想や設計を担われる方
  • データ基盤の運用を担われている方や、今後検討される方
  • 新たに開発するアプリケーションの、最適なデータベースをお探しの方
  • 目的別データベースから、価値ある情報を素早く引き出す検討をされている方

データベースのハードウェア・リソース

 まず、データベース・サーバーの構成要素を振り返ります。データベースは不揮発性のストレージに巨大な容量のデータを記録しており、多数のユーザーからの同時アクセスがあるという使われ方をします。第7回でも説明したように、データが格納されている大容量なハードディスクやフラッシュ・メモリーの不揮発性ストレージ・デバイスは比較的低速であるため、そのデータをデータベース・サーバー内の小容量であるが高速なメモリー(DRAM)に一旦移動させてCPUが処理するという構造になっています。

 前回で扱ったCPUとDRAMは、OSを再起動したり電源が途絶えると扱っていた情報が消失してしまうという性質を持っていました。CPUとDRAMをマザーボードに物理的に増設するには物理マシンの筐体のふたをあけて部品を追加/交換するという作業になるため、実質的には電源を停止して作業を行います。

 データベース本体のデータを格納するハードディスク・ドライブやフラッシュ・メモリーといったストレージ・デバイスをデータベース・サーバーの物理マシンに格納する場合もあります。ストレージ・デバイスは物理マシン筐体の前面に交換モジュール形式で配置されていることが多いので、物理マシンの電源を停止せずに増設や交換ができるようになっています。しかし、1台の物理マシン筐体に格納できるストレージ・デバイスの台数は限られているため、多くの場合はネットワーク接続のストレージを使用します。

 ネットワーク接続のストレージを使用すると、データベース・サーバーからストレージを認識できた時点で使用可能になるため、データベース・システムを稼働させたまま容量を追加することが極めて容易になります。

 しかし、ストレージ・デバイスの容量を追加しただけではストレージ・サブシステム全体の性能は向上しないというのが今回の本題です。

次のページ
ストレージ装置の追加

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

  • X ポスト
  • このエントリーをはてなブックマークに追加
オラクル技術エキスパートが紹介する 開発者のためのデータベース完全ガイド連載記事一覧

もっと読む

この記事の著者

日下部 明(日本オラクル株式会社)(クサカベ アキラ)

 日本オラクル株式会社でOracle Databaseを担当するエンジニア。主にOracle Real Application Clustersを中心とする高可用性構成や性能チューニングの問題解決およびコンサルティングに従事。著書に「これは使えるOracle新機能活用術」(翔泳社)。

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

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

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/20422 2024/11/12 12:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

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

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

メールバックナンバー

アクセスランキング

アクセスランキング