Новый сайт на основе данных другого - лучшая системная архитектура? - PullRequest
0 голосов
/ 06 ноября 2018

Так вот в чем дело:

  1. У меня есть сайт, назовем его Каталог. Это расширенный каталог товаров с большим количеством товаров. Он работает на CMS на основе php, он не был сделан мной и является довольно полной и сложной системой. Что важно, у него есть система аутентификации пользователей и много пользователей в базе данных. Вы не можете получить доступ к большинству продуктов, если вы не вошли в систему.

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

Этот другой веб-сайт будет часто использовать базу данных каталога: - необходимо авторизовать пользователей, используя их логин / пароль из каталога - Для настройки своих представлений потребуются данные клиентов.

У меня нет большого опыта в создании более совершенных систем. Не могли бы вы, опытные программисты, рассказать, как бы вы это сделали?

В частности, меня беспокоит база данных: я должен использовать только оригинальную базу данных? И объединить в нем все, что связано с Django? Повлияет ли это на каталог? Это вообще хорошая идея?

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

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

Пожалуйста, дайте мне знать, что вы думаете о такой идее. Может быть, это не стоит преследовать и должно быть сделано совершенно по-другому?

Спасибо

C

1 Ответ

0 голосов
/ 06 ноября 2018

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

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

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

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

В целом, я считаю, что нужно использовать другую БД и использовать старую БД только для чтения. Позже вы можете создать API, над которым могут работать оба приложения, чтобы ограничить дублирование кода. Тем не менее, попытка слияния дает большой потенциал для проблем, особенно если вы новичок в системе.

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