シャーディング の変更点


#author("2022-08-18T15:43:44+09:00","default:k1rou","k1rou")
#author("2022-09-19T20:42:15+09:00","default:k1rou","k1rou")
*シャーディング [#n9e69541]
-データを複数のサーバに[[分散]]させる機能
-[[負荷分散]]([[水平分散]])
-[[スケールアウト]]
-シャード

*シャーディングの種類 [#h932779e]
-レンジベース
--データのキー(シャードキー)の範囲を指定した分散

-ハッシュ型
--ハッシュアルゴリズムを使ったハッシュ値をキー(シャードキー)の範囲を指定した分散

-タグベース
--タグレンジ(分散可能なデータの属性(シャードタグ))を指定した分散

**シャードキーの種類 [#jfedd058]
-単調に増加する値
--日付時刻を使う
--カーディナリティが低い(書き込み時は分散しない)
--ローカリティが高い

-ランダムな値
--ハッシュアルゴリズムを使う
--カーディナリティが高い(書き込み時に分散する)
--ローカリティが低い(インデックスがメモリに乗っていない可能性が高い。インデクスの更新に負荷が高くなる(DISKとのI/Oが発生する)可能性が高い)
--範囲指定のクエリは全項目検索になる

*自動バランシング機能 [#n78a9dd7]
-サーバ間のデータの偏りを整える

*関連用語 [#nc52733e]
-[[ハッシュ]]
-[[ロードバランサ]]
-[[レプリケーション]]
-[[キーレンジ]]
-[[コンシステント・ハッシュ法]]
-[[データベース]]