シャードは、LogstoreまたはMetricstoreの読み取りおよび書き込み容量を制御するために使用されます。 Log Serviceでは、データはシャードに保存されます。
MD5値の範囲
- BeginKey: シャードの始まり。 値は、シャードのMD5値範囲に含まれます。
- EndKey: シャードの終わり。 値は、シャードのMD5値範囲から除外されます。
シャードID | 値の範囲 |
---|---|
Shard0 | [00000000000000000000000000000000,40000000000000000000000000000000) |
Shard1 | [40000000000000000000000000000000,80000000000000000000000000000000) |
Shard2 | [80000000000000000000000000000000, c00000000000000000000000000000000000) |
Shard3 | [c0000000000000000000000000000000,ffffffffffffffffffffffffffffffff) |
- 負荷分散方式を使用する場合、各データパケットは使用可能なシャードにランダムに書き込まれます。
- ハッシュキーを指定すると、MD5値の範囲に指定されたハッシュキーの値が含まれるシャードにデータが書き込まれます。
たとえば、シャード範囲はMD5値の範囲で表示されます。 Logstoreにデータを書き込むためのハッシュキーとして5Fを指定した場合、Shard1のMD5値の範囲にハッシュキー5Fが含まれているため、データはShard1に書き込まれます。 ハッシュキーとして8Cを指定した場合、Shard2のMD5値の範囲にハッシュキー8Cが含まれているため、データはShard2に書き込まれます。
シャード容量
- 書き込み容量: 5メガバイト/秒または500回 /秒
- 読み取り容量: 10メガバイト/秒または100回 /秒
実際のデータトラフィックに基づいてシャードの数を調整することを推奨します。 データトラフィックがシャードの読み取りまたは書き込み容量を超える場合は、シャードを複数のシャードに分割して容量を増やすことができます。 データトラフィックがシャードの読み取りまたは書き込み容量よりもはるかに少ない場合は、シャードを別のシャードとマージして容量を減らし、コストを節約できます。
たとえば、2つのシャードがreadwrite状態にあり、シャードは最大10メガバイト/秒の書き込み容量を提供できます。 リアルタイムで14メガバイト/秒の速度でデータを書き込む必要がある場合は、1つのシャードを2つのシャードに分割することをお勧めします。 これにより、3つのシャードをreadwrite状態にすることができます。 リアルタイムで3メガバイト/秒の速度でデータを書き込む必要がある場合は、シャードをマージすることをお勧めします。
- Log Service APIを呼び出してデータを書き込むときにエラーコードの403または500が頻繁に返される場合は、CloudMonitorコンソールに移動してトラフィックコードとステータスコードを確認できます。 次に、シャードの数を増やすかどうかを判断できます。
- データトラフィックがシャードの容量を超える場合、Log Serviceは可能な限り最高のサービスを提供しようとします。 ただし、Log Serviceはサービスの品質を保証できません。
シャードステータス
シャードは、readwrite (読み取りおよび書き込み) 状態またはreadonly (読み取り専用) 状態にすることができます。
シャードを作成すると、シャードはreadwrite状態になります。 シャードを分割またはマージすると、ステータスがreadonlyに変わります。 新しく生成されたシャードはreadwrite状態です。 シャードのステータスは、シャードの読み取り容量には影響しません。 リードライト状態のシャードにはデータを書き込むことができますが、リードオンリー状態のシャードにはデータを書き込むことはできません。
分割とマージ
- シャードを分割すると、さらに2つのシャードが追加されます。 新しいシャードはreadwrite状態で、元のシャードの下にリストされます。 新しいシャードのMD5値の範囲には、元のシャードのMD5値の範囲が含まれます。
シャードを分割する前に、シャードはreadwrite状態である必要があります。 シャードを分割すると、シャードのステータスがreadwriteからreadonlyに変わります。 これは、データをシャードから読み取ることはできますが、シャードに書き込むことはできません。
- 2つのシャードを1つのシャードにマージできます。 新しいシャードはreadwrite状態で、元のシャードの下にリストされています。 新しいシャードのMD5値の範囲には、元の2つのシャードのMD5値の範囲が含まれます。
シャードをマージするときは、readwrite状態のシャードを指定する必要があります。 このシャードをシャードリストの最後のシャードにすることはできません。 Log Serviceは、MD5値の範囲が指定されたシャードの横にあるシャードを検索し、2つのシャードをマージします。 シャードをマージすると、シャードのステータスがreadwriteからreadonlyに変わります。 これは、データをシャードから読み取ることはできますが、シャードに書き込むことはできません。