Как интегрировать AWS Aurora RDS с Android - PullRequest
0 голосов
/ 02 июня 2018

Я искал по всему интернету, но не смог найти ответ на него.Я хочу использовать Aurora, так как он дешевле и лучше чем DynamoDB от AWS, поэтому есть ли способ использовать Android SDK для подключения к Aurora RDS или простым MySql RDS с мобильным приложением.Спасибо!

Редактировать:

Примечание. Я не хочу подключать базу данных напрямую к мобильному приложению, просто хочу узнать, как использовать RDS с помощьюAWS с версией Android или IOS

и под «дешевле» я имел в виду то, что прочитал в блоге, https://abhishek -tiwari.com / Dynamodb-or-aurora /

В нем говорится:

При соотношении чтения / записи 50/50 мы ожидаем пропускную способность 130 000 в секунду.Это будет 65 000 операций чтения или записи в секунду всего за 3340 $ в месяц, используя самый большой экземпляр Aurora.Теперь для достижения такой же пропускной способности и высокой согласованности Amazon DynamoDB будет стоить вам около 39 995 долларов в месяц. Это означает, что пропускная способность DynamoDB в 11 раз дороже, чем Aurora .В двух словах, пропускная способность Aurora очень экономична.

Ответы [ 3 ]

0 голосов
/ 02 июня 2018

Обновите ответ, основываясь на этом редактировании OP.

Примечание. Я не хочу подключать базу данных напрямую к мобильному приложению, просто хочу узнать, как использовать RDSот AWS с версией Android или IOS

Разработайте некоторые функции AWS Lambda, используя выбранный вами язык программирования, и подключитесь к экземпляру RDS.

Go with Amazons Модель сервера без сервера (SAM) для предоставления конечных точек API Gateway вашему мобильному приложению.Все конечные точки поддерживаются с помощью вышеупомянутой лямбда-функции.

Вы можете настроить тайм-ауты, настройки памяти, кэширование и т. Д. В соответствии с вашими требованиями и защитить ресурсы, используя различные Авторизаторы или пулы пользователей .

0 голосов
/ 03 июня 2018

Вместо того, чтобы просто отрываться от комментариев, я думаю, что было бы справедливо правильно ответить:

  1. Определите ваш вариант использования.Какие данные вы собираетесь хранить?Это структурированные данные или неструктурированные данные?Это потоковые данные?Это указывает и направляет вас к правильному хранилищу данных для использования.Что в конкретном случае с AWS означает что-то вроде Aurora (или других двигателей RDS), DynamoDB или даже Kinesis соответственно.Последний даже не механизм хранения данных, но он показывает, что ваши данные определяют, что вы должны использовать.

  2. Другие уже указали, что вы не должны выставлять свою БД напрямую.Используете ли вы внешний интерфейс промежуточного экземпляра с «обычными» атрибутами, такими как ELB, EC2, автоматическое масштабирование, или вам просто нужен интерфейс API, который направит вас к API Gateway.

  3. Звучит так, будто ваша компания загоняет вас в глубокий конец, ожидая, что вы научитесь плавать в бурном океаническом потоке.Я настоятельно советую пройти обучение, в том числе и на практике.Зависит ли это от вас по пути сертификации, зависит только от вас, но вам нужно получить достаточно основ, чтобы даже понять множество движущихся частей в AWS.Это может быть совершенно изумительным!

К сожалению, этот ответ почти никак не имеет прямого отношения к актуальной теме вопроса! Я все равно дал его, потому что ядумаю, что важно вернуться к реальным основам, чтобы лучше перефразировать проблему и вопрос.

0 голосов
/ 02 июня 2018

Хорошо, что вы не нашли ответ.

tl; dr: Не пытайтесь разрешить вашему приложению напрямую подключаться к серверу базы данных.

Причин, по которым это очень плохая идея, много, но короткая версия заключается в том, что она без необходимости подвергает вашу базу данных, она предоставляет клиенту (которому никогда нельзя доверять) некоторую форму учетных данных базы данных,и он не будет масштабироваться, потому что клиентские соединения должны быть либо постоянными (каждое из которых потребляет некоторое количество конечных ресурсов сервера, даже в режиме ожидания), либо должны многократно создаваться и уничтожаться (очень неэффективно).

Для использованияАврора, другие варианты RDS или любая аналогичная база данных из приложения, вам необходимо создать и предоставить API веб-службы, который позволит приложению выполнять авторизованные действия с вашей базой данных.

Исторически это было бы сделано с серверами приложений, но пример того, как вы могли бы сделать это «безсерверным», было бы создать одну или несколько функций Lambda для интерпретации запросов JSON из приложения, инкапсулируя соответствующую логику., подключаясь к базе данных и обрабатывая JSON-ответы для использования приложением ... и используя API-шлюз для предоставления функции Lambda Интернету для аутентифицированного доступа приложения.

...