DynamoDB: Basis, PK, GSI LSI Flashcards

1
Q

DynamoDB Table Item (row) может занимать максимум …

A

400 KB

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

Преимущество DynamoDB back-up & recovery в том, что …

A

НЕ влияет на performance и доступность
выполняется ассинхронно за считанные секунды

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

Мигрировать данные в dynamoDb из … можно через …

A

MongoDB, Oracle, MySQL, S3
AWS DMS - DB Migration Service

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

Primary Key в DynamoDB может состоять из …

A
  • Partition Key = HASH key
  • Sort Key = RANGE key (опционально)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Что делает DynamoDB с Partition Key? А с Sort Key?

A

DynamoDB использует значение partition ключа на вход hash функции.
Полученный ХЭШ определяет partition, в котором будет храниться item.

Sort Key только влияет на порядок элементов в рамках partition’а.

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

Если PK одинарный, то во всей таблице …
Если PK композинтый, то во всей таблице …

A

одинарный PK должен быть уникальным во всей таблице
композитный ключ должен отличаться ХОТЯ БЫ своим Sort Ключом

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

Суть Partition Strategies в том, чтобы … распределение записей за счёт …

A

выровнять
добавления рандомного суффикса к partition key

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

Зачем нужны индексы DynamoDB

A

Если индексов нет, то можно делать запросы только по primary key и sort key.

По прочим (обычным) атрибутам запрашивать данные нельзя. Для этого нужно создать secondary index.

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

Base table, secondary index, alternative key - что это?

A
  • Base table - оригинал таблицы, в которой хранятся все данные.
  • Global Secondary index - копия оригинальной таблицы, в которой выбран другой primary key. Или
  • Alternate key - primary key, который выборан в secondary-index-таблице
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Что такое Projected Attributes?
Какие опции для Projected Attributes бывают?

A

Неполный набор атрибутов
KEYS_ONLY, INCLUDE, ALL

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

В чём отличие LSI от GSI в плане дополнительной структуры данных?

A

Local Secondary Index - просто атрибут на оригинальной таблице.
Global Secondary Index - создаётся вторая таблица.

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

В чём отличие LSI от GSI в плане функциональных возможностей?

A

Local Secondary Index - Эта колонка становится дополнительным sort key (partition key совпадает).
Global Secondary Index - в скопированной таблице отличаются и partition key, и sort key.

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

Какие ограничения есть у LSI?

A
  • Максимум 5 LSI на каждую таблицу.
  • LSI можно создать только в момент создания самой таблицы.
    Нет возможности переделать LSI, если изменилась структура данных.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Какие ограничения есть у GSI?

A
  • Нужно указывать RCU WCU для GSI
  • GSI можно создать / изменить даже после создания таблицы.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Что нужно знать о Троттлинге для LSI?

A
  • LSI использует WCU и RCU, принадлежащие базовой таблице
  • Поэтому никакого тщательного анализа (для избежания тротлинга) НЕ нужно
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Что нужно знать о Троттлинге для GSI?

A
  • Если операции записи вызвали Throttling GSI,
    то базовая таблица тоже подвергается тротлингу (даже если её WCU в порядке)
  • Поэтому для GSI нужно аккуратно выбирать Partition Key и WCU