Здравствуйте. Я пытаюсь создать простое веб-приложение для создания древовидной структуры с использованием конечных точек отдыха.
Я планирую использовать AWS для своего небольшого небольшого приложения и создать конечные точки отдыха для чтения и создания данных.
Вот некоторые шаблоны доступа к данным:
- Создать нового пользователя.
- Получение пользователей по имени пользователя (поиск по шаблону, если возможно)
- Создать новое дерево для конкретного пользователя
- Получить деревья на основе идентификатора пользователя
- Получить дерево на основе идентификатора дерева
- Добавление узла в выходящее дерево
- Редактировать узел существующего дерева
- Поделиться деревом с другим пользователем
Я решил использовать dynmao db для базы данных, и, поскольку я новичок в этом, хочу спросить ваше мнение о модели данных, которую я проектирую, вот она:
User
- id -> partition key
- firstName -> local secondary key
- lastName -> local secondary key
- email -> sort key
Tree
-id ->sort key
-userId ->partition key
-name ->local secondary key
-type ->local secondary key
-desc
TreeNodes
-id ->sort key
-parentId ->partition key
-treeId ->local secondary key
-rootNode -> true|false
-columns ->[{"colName1":"colval1"},{"colName2":"colval2"},...]
Я прошу это для двух целей
Во-первых, если я допустил какую-то фундаментальную ошибку при разработке схемы, например, если я не использовал ключ раздела так, как он должен использоваться, или любую другую фундаментальную ошибку, поскольку я не очень хорошо понимаю DynamoDB.
Во-вторых, если вы можете предоставить лучший дизайн схемы для моих требований к приложению.