シャーディング
Sharding
しゃーでぃんぐ
データを水平に分割し、複数のデータベースサーバ(シャード)に分散配置する手法。各シャードはデータの一部を担当し、全体として大規模なデータを処理する。スケーラビリティの向上に寄与するが、トランザクション管理が複雑になる。
Related
他の資格での定義
データを一定の規則で分割し、複数のサーバに分散して格納する手法。1台当たりのデータ量と負荷を下げてスケールアウトできるが、分割をまたぐ結合や集計、再分割の運用が難しくなる。
データを水平に分割し、複数のデータベースサーバ(シャード)に分散配置する手法。各シャードはデータの一部を担当し、全体として大規模なデータを処理する。スケーラビリティの向上に寄与するが、トランザクション管理が複雑になる。
1つのデータベースのデータを、シャードキー(顧客IDなど)の値の範囲やハッシュ値で複数のサーバ(シャード)に水平分割して格納すること。書込みも含めて処理をサーバ間に分散でき、サーバを増やして性能と容量を伸ばせる。複数のシャードにまたがる結合やトランザクションは難しくなり、データの偏り(ホットスポット)やシャードの追加時の再配置にも対処が要る。
データベースのデータを、キーの値の範囲やハッシュ値などで分割し、複数のサーバ(シャード)に分散して格納する方式。1台のサーバの容量や処理能力の限界を超えて規模を拡張できる(スケールアウト)。複数のシャードにまたがる結合やトランザクションは扱いにくく、データの偏りがあると特定のシャードに負荷が集中する。
データを、キーの値の範囲やハッシュ値などの規則で分割し、複数のデータベースサーバ(シャード)に分散して格納する手法。1台当たりのデータ量と負荷を減らして、台数を増やすことで性能を伸ばせる(スケールアウト)。シャードをまたぐ結合や集計、データの再配置が難しくなる。
Past Exams
過去問での出題
過去問で 1 回出題(データベーススペシャリスト試験 1)
出典: 独立行政法人情報処理推進機構(IPA)の過去問題。問題文は IPA のサイトの PDF で確認できます。「選択肢」は、問題文ではなく選択肢に出たものです。用語名で照合しているため、関係の薄い問題が含まれることがあります。
Related
関連キーワードの用語
複数のプロセスやトランザクションが共有資源に同時アクセスする際に、データの整合性を保つための制御機構。セマフォ、ミューテックスなどのOS同期機構や、ロック方式(共有ロック・専有ロック)、MVCC等のデータベース制御手法がある。デッドロックの防止も重要な課題。
データベースに対する一連の処理をひとまとまりとして扱う単位。「すべて完了」か「すべて取り消し」のどちらかで処理され、データの整合性を保つ。
トランザクションが満たすべき4つの特性。原子性(Atomicity)、一貫性(Consistency)、独立性(Isolation)、耐久性(Durability)の頭文字を取ったもの。
各トランザクションにタイムスタンプを割り当て、データへのアクセス順序をタイムスタンプの順に制御する同時実行制御方式。ロックを使用しないため、デッドロックは発生しないが、直列化可能でない場合にはトランザクションがアボートされる。
2つ以上のトランザクションが互いに相手がロックしているリソースの解放を待ち合い、処理が永久に進まなくなる状態。DBMSがデッドロックを検出した場合、一方のトランザクションを強制的にロールバックして解消する。
データベースの内容を別のサーバーにリアルタイムまたは定期的に複製する技術。障害時の可用性向上や負荷分散に利用され、マスター・スレーブ構成が一般的。
