@Antoine

Как лучше организовать обновление данных?

Ситуация следующая: имеется гигантская база данных (MS SQL), и есть (точнее, будет) сайт на Django, который должен использовать не все, а некоторые данные из этой базы. База данных эта как бы "общая", то есть не только этот предполагаемый сайт ею будет пользоваться, этой базой уже пользуются. Менять ее структуру нельзя, данные туда заносить - тоже. К базе можно подключиться по ssh-туннелю.
Я так понимаю, что для Джанго-сайта необходимо иметь свою БД, со своей структурой, со своими таблицами. Каким образом организовать обмен данными? Обмен односторонний, нужно данные из "большой" базы только брать.
Можно ли каким-то образом через Джанго открывать ssh-туннель, непосредственно sql-ем писать нужные мне запросы на выборку данных, писать эти данные в какой-то файл, и оттуда читать в свою базу.
Я верно мыслю?
  • Вопрос задан
  • 228 просмотров
Пригласить эксперта
Ответы на вопрос 4
sim3x
@sim3x
Джанга умеет использовать несколько БД
Джанга умеет мапится на существующую структуру БД
Защищенный канал должна обеспечивать СУБД
мсскуль лучше сменить на СУБД, те на постгрес
Ответ написан
Astrohas
@Astrohas
Python/Django Developer
Создаете DBRouter, Создаете базу данных на чем угодно (да хоть на Sqlite3), Указываете его основным.

прикрепляете MSSQL базу как дополнительную через например этот бекенд django-mssql.readthedocs.io/en/latest
Ответ написан
Комментировать
@mynigoo
для доступа в mssql базу в любом случае надо создать отдельного пользователя с правами только на чтение данных
Ответ написан
Комментировать
Можно ли каким-то образом через Джанго открывать ssh-туннель, непосредственно sql-ем писать нужные мне запросы на выборку данных, писать эти данные в какой-то файл, и оттуда читать в свою базу.
Я верно мыслю?
Так не стоит делать по той причине что соединения могут внезапно обрываться. Это ведь через интернет.
Более правильным способом работы считаю либо разовый экспорт необходимых таблиц, либо подсоединение ко двум БД одновременно при условии нахождения их и приложения в пределах локальной сети.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы