Как использовать 2 сервера баз данных для приложения rails - PullRequest
2 голосов
/ 26 мая 2020

Мне нужно разработать систему управления данными, чтобы вся моя цифровая информация (например, pdf или docs) я сканировала и сохраняла в одной базе данных, а ссылочный уникальный ключ для цифровых документов сохранялся в другой базе данных с созданными пользователями Информация. Одна база данных mysql, которую я уже создал, для хранения информации о созданных пользователях и информации, связанной с документами. Но как лучше всего сканировать и хранить данные PDF в виде цифровых записей? Могу ли я использовать для этого другой mysql db. какой дб я должен использовать? возможно ли в этом случае работать с 2 базами данных в приложении ruby. будут ли в этом случае успешными две концепции баз данных ?. Это замедлит работу приложения ?. Я хочу, чтобы приложение работало быстрее, когда я пытаюсь получить записи. Или только с одной базой данных, чтобы она работала быстрее ?. у меня нет идеи сделать это. кто-нибудь может предложить идею для этого.

1 Ответ

2 голосов
/ 26 мая 2020

Большинство людей, которые обрабатывают контент, например отсканированные документы, помещают документы на обычные веб-серверы или CDN, используя трудно угадываемые (случайные) имена файлов, и помещают пути к файлам в MySQL или в любую другую СУБД, которую они используют.

Почему? несколько причин:

  • РСУБД не очень хороши для потоковой передачи больших двоичных объектов (BLOB) пользователям. Обычные старые веб-серверы. Например, Apache и Linux выросли вместе и делают это удивительно эффективно. nginx тоже хорошо.
  • При масштабировании вы не хотите, чтобы ваша РСУБД была узким местом для доставки этого контента пользователям, независимо от того, используется ли это для транзакций.
  • Простой CDN - это просто файловый веб-сервер Apache или nginx. Но они почти волшебным образом легко масштабируются с помощью сетей поставщиков облачных услуг. Потратьте несколько сотен долларов с CloudSomething - и бум, вы глобальны. 1014 * Безопасность: не называйте файлы 1.pdf, 2.pdf и так далее. Сделайте так, чтобы их было действительно сложно угадать. Чтобы вы не оказались на KrebsOnSecurity.com
...