Использование s3 в качестве базы данных, а не DynamodB - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть чат-проект в WhatsApp в AWS.Я использую DynamoDB в качестве базы данных для системы.Я рассчитываю перенести свои данные на S3, полагая, что хранить данные на S3 будет гораздо дешевле, чем на DynamoDB.Но я не уверен, что это подойдет, так как я потеряю ключевые ограничения и другие функции БД.

Я даже не уверен, что это хорошая идея, так как я думаюсценариев, где мне придется читать, обновлять и удалять строки.Идея перехода на S3 была выдвинута из-за проблем с затратами.

Скажите, пожалуйста, хорошая ли идея для переноса данных проекта на S3.Если это так, какие шаги будут изменены?

Спасибо.

Редактировать: Я думаю о записи данных из DynamoDB в виде файла json в S3, а не в CSV.Я думаю, что мне нужно пройти через много шагов, чтобы сделать простое обновление в случае csv.

2-е редактирование: идея оказалась не лучшим способом.У меня нет возможностей для запросов, нет возможности обновить файл (приходится перезаписывать весь файл со всеми данными) и задержка поиска данных.Я сейчас придерживаюсь динамодба.Я какое-то время сканировал таблицы, не изучая другие методы запросов.Обвинения выросли в ноябре-декабре прошлого года;Я взял резервную копию таблиц и удалил их, чтобы работать над некоторыми другими проектами.Начал работать над ним снова с 2 недель и не понес никаких расходов.

1 Ответ

0 голосов
/ 12 февраля 2019

Заманчиво использовать s3 в качестве хранилища данных, но вы столкнетесь с ограничениями, как показано ниже:

  1. Время отклика S3 не согласовано, так же как и динамодаб.(Пожалуйста, сделайте тест производительности, поместив те же данные в s3 и DynamodB, и сделайте выборку).

  2. Не будет никакой сортировки всех сообщений по дате последнего изменения.

  3. Не будет частичного извлечения json.если вы не денормализуете все.Который будет огромным ударом по производительности, учитывая, что время отклика s3 больше, чем DynamodB.

  4. Практически невозможно сохранить реляционную модель в виде плоского ключа без какой-либо связи между сохраненными файлами, кроме, вероятно,файл.

Учитывая вышеизложенное, я бы не использовал s3 в качестве хранилища данных для случая реляционного использования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...