Решение для баз данных AWS для хранения нереляционных данных - PullRequest
0 голосов
/ 04 января 2019

Какова лучшая база данных AWS для указанного ниже требования

  • Мне нужно хранить около 50 000 - 1 000 000 записей в базе данных.
  • Каждая запись будет иметь строкув качестве ключа и массив Json в качестве значения.
  • Я должен быть в состоянии получить массив JSON, используя ключ.
  • Размер данных JSON составляет около 20-30 КБ
  • Я ожидаю около 10 000 - 40 000 операций чтения в час.
  • Около 50 000 - 1 000 000 операций записи в неделю
  • Мне нужно учитывать и стоимость.
  • Простотаинтеграция / разработка

Я немного запутался между MongoDB, DynamoDB и PostgreSQL.Пожалуйста, поделитесь своими мыслями по этому поводу.

1 Ответ

0 голосов
/ 04 января 2019

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.

Следует учитывать: -

  1. Шаблон доступа к запросу
  2. Простая настройка
  3. Обслуживание базы данных
  4. API и фреймворки
  5. Поддержка сообщества
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...