IT用語帳
PD-Dデータベース · データベース応用

シャーディング

Sharding

しゃーでぃんぐ

1つのデータベースのデータを、シャードキー(顧客IDなど)の値の範囲やハッシュ値で複数のサーバ(シャード)に水平分割して格納すること。書込みも含めて処理をサーバ間に分散でき、サーバを増やして性能と容量を伸ばせる。複数のシャードにまたがる結合やトランザクションは難しくなり、データの偏り(ホットスポット)やシャードの追加時の再配置にも対処が要る。

共有:

Related

他の資格での定義

APシャーディング

データを一定の規則で分割し、複数のサーバに分散して格納する手法。1台当たりのデータ量と負荷を下げてスケールアウトできるが、分割をまたぐ結合や集計、再分割の運用が難しくなる。

DBシャーディング

データを水平に分割し、複数のデータベースサーバ(シャード)に分散配置する手法。各シャードはデータの一部を担当し、全体として大規模なデータを処理する。スケーラビリティの向上に寄与するが、トランザクション管理が複雑になる。

PD-Sシャーディング

データベースのデータを、キーの値の範囲やハッシュ値などで分割し、複数のサーバ(シャード)に分散して格納する方式。1台のサーバの容量や処理能力の限界を超えて規模を拡張できる(スケールアウト)。複数のシャードにまたがる結合やトランザクションは扱いにくく、データの偏りがあると特定のシャードに負荷が集中する。

A-1シャーディング

データを、キーの値の範囲やハッシュ値などの規則で分割し、複数のデータベースサーバ(シャード)に分散して格納する手法。1台当たりのデータ量と負荷を減らして、台数を増やすことで性能を伸ばせる(スケールアウト)。シャードをまたぐ結合や集計、データの再配置が難しくなる。

Past Exams

過去問での出題

過去問で 1 回出題(データベーススペシャリスト試験 1)

出典: 独立行政法人情報処理推進機構(IPA)の過去問題。問題文は IPA のサイトの PDF で確認できます。「選択肢」は、問題文ではなく選択肢に出たものです。用語名で照合しているため、関係の薄い問題が含まれることがあります。

Related

関連キーワードの用語

AP垂直分割

分散データベースで、1つの表を列の単位で分割し、別々のサイトに配置する表の分散の方法。分割した各表に主キーを残しておき、主キーで結合すれば元の表に戻せる。サイトごとに使う列が異なるときに使う。

PD-Dキーバリュー型データベース

一意のキーと、それに対応する値の組だけでデータを管理するNoSQLデータベース。キーを指定した読み書きに機能を絞ることで、高速な応答と、サーバを増やして処理能力を上げるスケールアウトを実現する。値の中身による検索や複雑な問合せには向かず、セッション情報やキャッシュの保存に使われる(Redis、Amazon DynamoDBなど)。

PD-D水平分割

分散データベースで、表の行を条件(地域、支店など)で分けて複数の断片にし、それぞれを利用の多いサイトに配置する表の分散の方法。各断片は元の表と同じ列を持ち、すべての断片の和をとれば元の表に戻る。各サイトの処理を手元のデータで完結しやすくなるが、全体を対象にする問合せでは複数サイトへのアクセスが要る。

PD-D分散ファイルシステム

ネットワークでつながった複数のサーバの記憶装置をまとめ、利用者には1つのファイルシステムとして見せる仕組み。ファイルを分割・複製して複数のサーバに置くので、容量と読み書きの性能をサーバの追加で伸ばせ、一部のサーバが故障してもデータを失わない。HDFS、Ceph、GlusterFSなどがあり、大規模データの分析基盤に使われる。

PD-D分散問合せ

分散データベースで、複数のサイトに置かれた表やその断片を対象にする問合せ。利用者は表の所在を意識せずに問い合わせられ(位置透過性)、DBMSが問合せを各サイトの処理に分けて実行し結果をまとめる。サイト間の通信量が性能を大きく左右するので、結合に必要な列だけを先に送って相手側で絞り込む準結合(セミジョイン)などで転送量を減らす。

PD-DGlusterFS

複数のサーバの記憶領域(ブリック)を束ねて1つのボリュームとして提供する、オープンソースのスケールアウト型の分散ファイルシステム。メタデータを管理する専用のサーバを置かず、ファイル名から格納先をハッシュで決めるため、サーバを足すだけで容量と性能を伸ばせる。ボリュームは分散・複製などの方式を選べ、FUSE、NFS、SMBでクライアントから利用できる。