シャーディング
Sharding
しゃーでぃんぐ
データベースのデータを、キーの値の範囲やハッシュ値などで分割し、複数のサーバ(シャード)に分散して格納する方式。1台のサーバの容量や処理能力の限界を超えて規模を拡張できる(スケールアウト)。複数のシャードにまたがる結合やトランザクションは扱いにくく、データの偏りがあると特定のシャードに負荷が集中する。
Related
他の資格での定義
データを一定の規則で分割し、複数のサーバに分散して格納する手法。1台当たりのデータ量と負荷を下げてスケールアウトできるが、分割をまたぐ結合や集計、再分割の運用が難しくなる。
データを水平に分割し、複数のデータベースサーバ(シャード)に分散配置する手法。各シャードはデータの一部を担当し、全体として大規模なデータを処理する。スケーラビリティの向上に寄与するが、トランザクション管理が複雑になる。
1つのデータベースのデータを、シャードキー(顧客IDなど)の値の範囲やハッシュ値で複数のサーバ(シャード)に水平分割して格納すること。書込みも含めて処理をサーバ間に分散でき、サーバを増やして性能と容量を伸ばせる。複数のシャードにまたがる結合やトランザクションは難しくなり、データの偏り(ホットスポット)やシャードの追加時の再配置にも対処が要る。
データを、キーの値の範囲やハッシュ値などの規則で分割し、複数のデータベースサーバ(シャード)に分散して格納する手法。1台当たりのデータ量と負荷を減らして、台数を増やすことで性能を伸ばせる(スケールアウト)。シャードをまたぐ結合や集計、データの再配置が難しくなる。
Past Exams
過去問での出題
過去問で 1 回出題(データベーススペシャリスト試験 1)
出典: 独立行政法人情報処理推進機構(IPA)の過去問題。問題文は IPA のサイトの PDF で確認できます。「選択肢」は、問題文ではなく選択肢に出たものです。用語名で照合しているため、関係の薄い問題が含まれることがあります。
Related
関連キーワードの用語
一意のキーと、それに対応する値の組だけでデータを管理するNoSQLデータベース。キーを指定した読み書きに機能を絞ることで、高速な応答と、サーバを増やして処理能力を上げるスケールアウトを実現する。値の中身による検索や複雑な問合せには向かず、セッション情報やキャッシュの保存に使われる(Redis、Amazon DynamoDBなど)。
NoSQLデータベースが重視する特性。基本的に可用(Basically Available)、厳密な一貫性は保証しない柔らかい状態(Soft State)、結果的に一貫する(Eventually Consistent)。ACID特性と対比される概念。
同じ機能を持つ対等な複数のコンピュータに処理を振り分けて、負荷を分散させる分散システムの構成。ロードバランサで要求を各サーバに割り当てる構成が代表例で、サーバの台数を増やせば処理能力を拡張でき(スケールアウト)、一部のサーバが故障しても処理を継続できる。
データを、ノード(頂点)とノード間の関係を表すエッジ(辺)、それぞれに付けたプロパティで表すデータモデル。人のつながり、推薦、経路の探索、不正な取引の検出など、関係をたどる処理が中心の用途に向き、関係モデルで多数の表を結合するより効率よく問い合わせられる。グラフデータベースで実装される。
分散データベースで、1つの表を列の単位で分割し、別々のサイトに配置する表の分散の方法。分割した各表に主キーを残しておき、主キーで結合すれば元の表に戻せる。サイトごとに使う列が異なるときに使う。
複数のサーバの記憶領域を束ねて、1つの大きなファイルシステムとして提供するオープンソースの分散ファイルシステム。メタデータを管理する専用のサーバを持たず、ハッシュ計算でファイルの格納先を決めるため、単一障害点がなく、サーバを追加して容量を拡張できる。
