Довольно новый для DynamoDb и всего AWS, это очень захватывающе, но я чувствую, что кривая обучения немного крутая. В любом случае, вот моя ситуация и моя проблема.
У нас есть собственное мобильное приложение, которое хранит в таблице DynamoDb одну строку каждый раз, когда пользователи выполняют поиск. (база данных - это история поиска с UUID, а затем критерии поиска). В среднем каждый день мы получаем несколько тысяч новых запросов в таблицу. У таблицы есть только первичный ключ, который является идентификатором поиска.
Приложение довольно новое, но мы уже достигли нескольких сотен тысяч строк в таблице и можем ожидать, что в последующие месяцы их будет миллион. Данные представляют собой простые простые данные с уникальным идентификатором, строкой и числами в других атрибутах. Никакой связи, никакой связи и т. Д. Это уже когда я почувствовал, что, возможно, DynamoDb, возможно, был не лучшим выбором, но все же, я читаю везде, что он может быть пригоден для чего угодно при правильном управлении.
Рядом с этим естьэто инструментальная панель веб-приложения, которая - спасибо API остальных с помощью nodejs lambdas - запрашивает DynamoDB для создания статистики о поисках: сколько поисков в день, список последних поисков ... проблема в том, что DynamoDb не очень подходит для запроса сотен тысячданных (ограничение 1 Мб, ограничения запросов, кредиты ...). Когда я делаю сканирование, я получаю только 3000 запросов. Я попытался выполнить цикл проверки с использованием последнего запрошенного индекса, но после нескольких тестов я не получил данные и заблокировал максимальную пропускную способность. Кажется действительно ясным, что у меня нет правильного подхода, чтобы перенести все эти поиски в мое веб-приложение. Так что теперь, что будет правильным подходом? Мои идеи следующие, но я открыт для более опытного:
Переключение на базу данных SQL (с помощью миграции aws?). Неужели так будет проще?
создание лямбд для выполнения запланированных заданий каждую ночь, чтобы каждый день составлять статистику, чтобы мне не приходилось все время запрашивать полную базу данных, а только некоторыесамых последних поисков и статистических строк? Это выполнимо? какой-нибудь учебник по node.js / lambdas, который вы можете знать по этому поводу?
лучшее управление индексами? Я все еще очень растерялся относительно этих.
С нетерпением жду ваших мнений.