ブロックストレージとは?DBに最適な高速ストレージの仕組みを解説

システム開発・テクノロジー
ブロックストレージとは?ざっくりと3行で
  • データを固定長のブロックという単位に分割して保存するストレージ形態。物理ディスクに直接マウントされる形でOSからは通常のHDD・SSDと同じように見える
  • 読み書きの遅延が最も低く、データベースや仮想マシンのOSディスクなど高I/O要件のシステムに最適
  • AWS EBS・Azure Managed Disk・Google Persistent Diskが代表例。クラウドのブロックストレージはSANの役割をクラウドで提供する形態と理解すると分かりやすい

【深掘り】これだけ知ってればOK!

ブロックストレージを「データの引き出し」に例えると分かりやすい。データを均一なサイズの引き出しに分割して収納し、番号で直接取り出せる仕組みだ。必要な引き出しに直接アクセスできるため、データ全体を検索する必要がなく低遅延で高速な読み書きが可能になる。

ブロックストレージがデータベースに向いている理由はランダムアクセスの速さだ。RDBMSはデータの更新・検索を頻繁に行うが、このとき必要なのはディスク上の特定の場所(ブロック)への直接アクセスだ。ブロックストレージはアドレスを指定して直接ブロックを読み書きできるため、この用途で最高性能を発揮する。

クラウドのブロックストレージではボリュームタイプによって性能とコストが異なる。AWS EBSの場合、汎用SSD(gp3)はコスト効率が良くWebサーバーやDBに広く使われる。プロビジョンドIOPS SSD(io2)はミッションクリティカルなDBに使う最高性能タイプだ。スループット最適化HDD(st1)はビッグデータ処理など大量シーケンシャルアクセスに向いている。

ブロックストレージのスナップショット機能はバックアップとDRの基本手段だ。EBSのスナップショットはS3に差分で保存されるため、初回以降は変更分のみで完了する。本番環境のDBスナップショットを定期取得し、DRサイトで復元可能なことを確認しておくことが運用の必須事項だ。

コストはオブジェクトストレージの数倍から数十倍になるが、それに見合う性能を提供する。EBS gp3は1GBあたり月額約12円(東京リージョン)。100GBのデータベース用ボリュームで月額1,200円程度だ。不要なボリュームが残ったままになるコスト無駄はクラウドコスト最適化でよく見つかる案件のひとつなので、定期的な棚卸しが重要だ。

よくある誤解

ブロックストレージはファイルシステムをOS側で用意する必要がある

ブロックストレージが提供するのはRAWなブロックデバイスだ。ext4やNTFSなどのファイルシステムをフォーマットして初めて使える。クラウドのEBSをアタッチしただけでは使えず、マウント作業が別途必要だ。

クラウドのブロックストレージは必ず1台のサーバーにしかアタッチできない

通常のEBS(Single Attach)は1台のEC2にしかアタッチできないが、EBS Multi-Attach機能を使うと複数のEC2インスタンスに同時アタッチできる。ただしio1/io2タイプのみ対応で、クラスタ構成での利用に限られる。

会話での使われ方

ITKAGYO運営者のアイコン画像

DBサーバーのストレージはEBS gp3にしてます。旧gp2より20%性能アップして値段は下がりました。

AWSインフラのコスト最適化レビューでエンジニアが改善事例を報告している場面。

ITKAGYO運営者のアイコン画像

本番DBのEBSスナップショット取得、毎日自動実行してますか?有事の際に前日の状態に戻せることを確認しておいてください。

インフラレビューで上長がスナップショット取得状況を確認している場面。

ITKAGYO運営者のアイコン画像

ブロックストレージってNASと何が違うんですか?

ブロックストレージはサーバーに直接マウントしてOSがディスクとして認識する形態、NASはネットワーク経由でファイル共有する装置という違いがあります。

【まとめ】3つのポイント

  • 「DBが直接操作する高速・低遅延のブロックデバイス」:ブロックストレージはデータをブロック単位で管理し直接アクセスできるため、データベースや仮想マシンのOSディスクに最適だ
  • ボリュームタイプを用途に合わせて選ぶことでコストを最適化できる:汎用SSD・プロビジョンドIOPS・スループット最適化HDDを性能要件に合わせて使い分けることが重要だ
  • スナップショットをDR計画の基本に組み込む:定期的なスナップショット取得と復元テストをセットで行うことが、障害時のデータ保護の基礎になる

よくある質問

Q
AWS EBSとは何ですか?
A

Amazon Elastic Block Storeの略で、EC2インスタンス向けのクラウドブロックストレージです。SSD・HDD等の複数ボリュームタイプがあり、EC2に仮想ハードディスクとしてアタッチして使います。スナップショットでS3にバックアップできます。

Q
ブロックストレージとSSDは同じですか?
A

異なります。SSDはフラッシュメモリを使った物理デバイスです。ブロックストレージはデータのアクセス方式(ブロック単位)を表すアーキテクチャです。クラウドのブロックストレージサービスは内部的にSSDを使っているものが多いですが、概念としては別です。

Q
ブロックストレージとNASどちらがいいですか?
A

用途で使い分けます。データベースや仮想マシンのディスクにはブロックストレージが適しています。オフィスのファイル共有・複数PCからのアクセスにはNASが向いています。両方必要な環境では共存させます。

Q
ブロックストレージとオブジェクトストレージの違いは何ですか?
A

ブロックストレージはサーバーに直接マウントしてOSレベルで使う高速・低レイテンシのストレージです。オブジェクトストレージはHTTP経由でアクセスする大容量・低コストの保管庫です。DBにはブロックストレージ、画像・動画・バックアップにはオブジェクトストレージという使い分けが一般的です。

この用語と一緒に知っておきたい用語

用語この記事との関連
ストレージストレージとの関係を知ると全体像がつかみやすくなります。データを永続的に保存・記憶するための装置や仕組みの総称。記憶媒体・記憶装置とも呼ばれ、電源を切ってもデータが消えない永続的な記憶領域を指す
データ本記事のテーマと実務上セットで使われることが多い用語です。コンピュータが処理する数値や文字、画像といった事実や資料そのもの、それがデータだ
スナップショットスナップショットを押さえると本記事の理解がさらに深まります。パソコンやサーバーなどの「ある瞬間の状態」を丸ごと写真のように保存したデータのことだよ!
データベースデータベースは関連分野でよく登場する重要キーワードです。データを効率よく蓄積・検索・更新・削除できるよう構造化して管理する仕組みの総称。専用エンジンを持ち大量データを高速操作できる
サーバーサーバーを押さえると本記事の理解がさらに深まります。ネットワークを通じて情報やサービスを提供する側のコンピューターのこと。レストランで料理を運んでくれる給仕係(server)をイメージするとわかりやすいよ

【出典】参考URL

https://aws.amazon.com/jp/compare/the-difference-between-block-file-object-storage/ :3種類のストレージ比較
https://www.softbank.jp/biz/blog/business/articles/202007/storage-difference/ :ブロックストレージの詳細

コメント

「IT用語、難しすぎて心が折れそう……」という方のための、ハードル低めな用語辞典です。

情報レベルは「基礎中の基礎」。会話を止めないためのエッセンスだけを抽出しています。分かりやすさを追求するあまり、時々例え話が暴走しているかもしれませんが、そこは「ほどよく」聞き流していただけると幸いです。
ほどよくIT用語辞典システム開発・テクノロジー
デプロイ太郎のSNSを見てみる!!