シャーディング
Sharding
しゃーでぃんぐ
データを、キーの値の範囲やハッシュ値などの規則で分割し、複数のデータベースサーバ(シャード)に分散して格納する手法。1台当たりのデータ量と負荷を減らして、台数を増やすことで性能を伸ばせる(スケールアウト)。シャードをまたぐ結合や集計、データの再配置が難しくなる。
Related
他の資格での定義
データを一定の規則で分割し、複数のサーバに分散して格納する手法。1台当たりのデータ量と負荷を下げてスケールアウトできるが、分割をまたぐ結合や集計、再分割の運用が難しくなる。
データを水平に分割し、複数のデータベースサーバ(シャード)に分散配置する手法。各シャードはデータの一部を担当し、全体として大規模なデータを処理する。スケーラビリティの向上に寄与するが、トランザクション管理が複雑になる。
1つのデータベースのデータを、シャードキー(顧客IDなど)の値の範囲やハッシュ値で複数のサーバ(シャード)に水平分割して格納すること。書込みも含めて処理をサーバ間に分散でき、サーバを増やして性能と容量を伸ばせる。複数のシャードにまたがる結合やトランザクションは難しくなり、データの偏り(ホットスポット)やシャードの追加時の再配置にも対処が要る。
データベースのデータを、キーの値の範囲やハッシュ値などで分割し、複数のサーバ(シャード)に分散して格納する方式。1台のサーバの容量や処理能力の限界を超えて規模を拡張できる(スケールアウト)。複数のシャードにまたがる結合やトランザクションは扱いにくく、データの偏りがあると特定のシャードに負荷が集中する。
Past Exams
過去問での出題
過去問で 1 回出題(データベーススペシャリスト試験 1)
出典: 独立行政法人情報処理推進機構(IPA)の過去問題。問題文は IPA のサイトの PDF で確認できます。「選択肢」は、問題文ではなく選択肢に出たものです。用語名で照合しているため、関係の薄い問題が含まれることがあります。
Related
関連キーワードの用語
分散データベースで表を分散させる方法の一つで、表を列の単位で複数の断片に分け、それぞれを別のサイトに配置すること。各断片には主キーの列を含めておき、元の表は主キーで各断片を結合して復元する。アクセスする列が部門ごとに異なる場合などに使われる。
処理量や利用者数の増加に応じて、システムの処理能力を拡張できる性質。サーバの台数を増やすスケールアウトと、CPUやメモリを増強するスケールアップがあり、クラウドでは需要に合わせて資源を短時間で増減できる。
データアーキテクチャの形態の一つで、データを部門、拠点、システムごとに分散して保持・管理し、ネットワークを通じて連携させる方式。各現場が自律的にデータを管理でき、拡張や局所的な処理に強いが、データの重複や不整合が生じやすく、全体の統制と連携の仕組みが必要になる。
分散データベースで、複数のサイトにまたがるトランザクションの原子性を保証するための制御方式。第1相で調停役が各サイトにコミットの準備ができたかを問い合わせ、全サイトが可と答えた場合だけ第2相でコミットを指示し、1つでも否なら全サイトでロールバックさせる。
分散データベースで、データが複数のサイトに分散していることを、利用者やアプリケーションに意識させない性質。データの所在を意識させない位置透過性、表が分割されていることを意識させない分割透過性、複製の存在を意識させない複製透過性などがあり、1つのデータベースと同じように扱える。
分散データベースや分散ファイルシステムで、サーバから取得したデータの複製をクライアント側に一時的に保持しておく仕組み。同じデータへの再アクセスを手元で処理できるため、応答が速くなり、通信量とサーバの負荷も減る。サーバ側でデータが更新されたときに、複製との一貫性をどう保つかが課題となる。
