Продвинутый
Что такое паттерн Single Table Design в DynamoDB / NoSQL?
Single Table Design (Дизайн одной таблицы) — это продвинутый паттерн для Key-Value и Column-family баз данных (DynamoDB, Cassandra).
В SQL мы создаем 10 таблиц для 10 сущностей. В Single Table Design мы кладем ВСЕ сущности приложения (Юзеры, Заказы, Товары) в одну гигантскую таблицу.
Для этого используются составные ключи (Partition Key + Sort Key).
Пример:
- PK:
USER#123, SK:PROFILE-> данные юзера. - PK:
USER#123, SK:ORDER#456-> заказ этого юзера.
✅ Зачем: Позволяет получить все связанные данные (юзера и все его заказы) за один физический запрос к диску, имитируя SQL JOIN, но работая в 100 раз быстрее.