Ответ: Бинарные данные в MySQL
Да если данные на столько мелкие, то лучше key<>value хранилище.
Для бэкапов, можно писать в бд id файла который модифицировался, при модификации файла. Затем скрипт грузит этот список, собирает все измененные файлы в tar и заливает на тот же S3, и обнуляет таблицу id.
Вот вам и весь diff бэкап. Периодически нужно будет делать полный бэкап и удалять все прошлые diff'ы.
Но tar'нуть миллионы файлов, задача не столь сложная для нормального stream'ового скрипта (на node пишется быстро). Можно даже с gzip трансформом.
Хотя можно взять просто key<>value бд, например cassandra и там хранить такое будет в разы проще и очень оптимально, также cassandra маштабируется хорошо.
|