DynamoDB: -
DynamoDB - это полностью управляемая проприетарная служба баз данных NoSQL, поддерживающая структуры ключ-значение и документы.Для типичного варианта использования, который вы описали в OP, он будет служить цели.
DynamoDB может обрабатывать более 10 триллионов запросов в день и поддерживать пики более 20 миллионов запросов в секунду.
DynamoDB имеет хороший AWS SDK для всех операций.Для таблицы можно настроить единицы емкости чтения и записи .
Таблицы DynamoDB, использующие режим емкости по требованию, автоматически адаптируются к объему трафика вашего приложения.Режим пропускной способности по требованию мгновенно позволяет удвоить предыдущий пиковый трафик на столе.Например, если шаблон трафика вашего приложения колеблется между 25 000 и 50 000 строго согласованных операций чтения в секунду, где 50 000 операций чтения в секунду - это предыдущий пик трафика, режим пропускной способности по требованию мгновенно поддерживает постоянный трафик до 100 000 операций чтения в секунду.Если ваше приложение поддерживает трафик в 100 000 операций чтения в секунду, этот пик становится вашим новым предыдущим пиком, что позволяет последующему трафику достигать 200 000 операций чтения в секунду.
Следует отметить, что это не такпозволяют запрашивать таблицу на основе неключевых атрибутов.Это означает, что если вы не знаете хеш-ключ таблицы, вам может потребоваться выполнить полное сканирование таблицы, чтобы получить данные.Однако существует опция Secondary Index , которую вы можете изучить, чтобы обойти проблему.Вам может потребоваться иметь все шаблоны доступа к запросу вашего варианта использования до того, как вы разработаете и примете обоснованное решение.
MongoDB: -
MongoDB не является полностью управляемой службой в AWS.Однако вы можете настроить базу данных, используя сервис AWS, такой как EC2, VPC, IAM, EBS и т. Д. Для настройки базы данных требуется облачный опыт AWS.Другой вариант - использовать сервис MongoDB Atlas .
MongoDB более гибок с точки зрения запросов.Также он обладает мощными агрегатными функциями.Существует множество инструментов для непосредственного запроса к базе данных для исследования таких данных, как SQL.
С точки зрения API Java, Spring MongoDB может использоваться для выполнения типичной операции с базой данных.Существует множество платформ с открытым исходным кодом, доступных на различных языках для MongoDB (например, Mongoose Nodejs).
MongoDB имеет поддержку многих языков программирования, и API также являются зрелыми.
PostgreSQL: -
PostgreSQL - это полностью управляемая база данных на AWS.
PostgreSQL стала предпочтительной реляционной базой данных с открытым исходным кодом для многихкорпоративные разработчики и стартапы, обеспечивающие поддержку ведущих геопространственных и мобильных приложений.Amazon RDS упрощает настройку, эксплуатацию и масштабирование развертываний PostgreSQL в облаке.
Мне кажется, мне не нужно много писать об этой базе данных и ее API.Это очень зрелая база данных с хорошими API.
Следует учитывать: -
- Шаблон доступа к запросу
- Простая настройка
- Обслуживание базы данных
- API и фреймворки
- Поддержка сообщества