DynamoDB: RCU WCU Partitions Throttling, Transactions Flashcards

1
Q

Что нужно знать о DynamoDB Partitions и RCU WCU?

A

RCU и WCU распределяются между partition’ами РАВНОМЕРНО

Например:
- есть 10 partition’ов
- выделено 10 RCU и 10 WCU
- каждый partition будет иметь по одному RCU и по одному WCU

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Зачем знать, что RCU WCU распределены между Partitions равномерно?

A

Троглинг часто связан с избыточной нагрузкой на какой-то один конкретный partition, чем на всю таблицу.

  • Hot Key - несоразмерно много item’ов с определённым partition key
  • Hot Partition
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Какие решения есть у проблемы Троттлинга DynamoDB?

A
  • Exponential Backoff Retry (включен в SDK)
  • Сделать распределение Partition Ключей более РАВНОМЕРНЫМ
  • DynamoDB Accelerator DAX (если проблема в RCU)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Ключевые слова для DynamoDB Transactions

A

Consistency, ACID, “all or nothing”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Где НЕ работают транзакции DynamoDB? Почему?

A

Транзакции НЕ работают на глобальных таблицах (replication).
Потому что сложно организовать транзакцию на системе с распределёнными между AZ узлами.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Транзакции потребляют … RCU и WCU

A

ВДВОЕ (2x) больше, чем обычная операция

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Вычисления
1 WCU =

A

записать 1 KB/sec данных

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Вычисления
1 RCU =

A
  • прочитать 4 KB/sec данных методом Strongly Consistent
  • ДВАЖДЫ прочитать 4 KB/sec данных методом Eventually Consistent
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Вычисления
Нужно писать 3 item’а в секунду ТРАНЗАКЦИОННО, каждый размером 5 KB
Сколько WCU?

A

3 item/sec * 5 KB * 2 (transactional cost) = 30 WCU

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Вычисления
Нужно читать 5 item’ов в секунду ТРАНЗАКЦИОННО, каждый размером 5 KB
Сколько RCU?

A

Решение: транзакционное чтение подразумевает Strongly Consistent.
Округляем 5 KB до 8 KB.

5 item/sec * (8 KB / 4 KB) * 2 (transactional cost) = 20 WCU

How well did you know this?
1
Not at all
2
3
4
5
Perfectly