Найти - Пользователи
Полная версия: Использование нескольких баз данных
Начало » Django » Использование нескольких баз данных
1
ilganas
Доброго времени суток.
=====================
Проблема заключается в следующем
==================================
У меня локальная сеть предприятия
Хотелось бы написать маленький веб интерфейс для отображения статистической информации
Инфа будет браться из 4тырёх баз расположенных на разных серверах
1. MS SQL 2000
2. MS SQL 2000
3. Oracle 10
4. MySQL (своя база куда будет сохранять лог из первых трёх баз)
Вопрос заключатся в следующем, как можно организовать это используя Django?
Сервер свой, так что нет разницы в настройках, мне непонятна сама реализация
=========================================================================
Если сможете подскажите пожалуйсто.
vvp91
ilganas
Инфа будет браться из 4тырёх баз расположенных на разных серверах
Ключевой момент!
Предлагается следующий вариант:
1. сделать 3 linked servers в оракле из mssql и mysql,
2. поднять для нужных данных из связанных серверов необходимые views с данными.
3. потом над базой с ораклом построить джанго-приложение по схеме работы с унаследованными данными на чтение (Integrating Django with a legacy database).

Можно конечно начать использовать какие-то затычки по поддержке многобазовости в джанго, но…
ilganas
Предлагается следующий вариант:
1. сделать 3 linked servers в оракле из mssql и mysql,
2. поднять для нужных данных из связанных серверов необходимые views с данными.
3. потом над базой с ораклом построить джанго-приложение по схеме работы с унаследованными данными на чтение (Integrating Django with a legacy database).

Можно конечно начать использовать какие-то затычки по поддержке многобазовости в джанго, но…
————-
Базы с которыми работаю, богу только на просмотр. трогать нельзя….!!!!
Необходимо только собирать с них инфу…
================================================================
Вопрос заключается в том, вообще это можно реализовать в django или можно ли легко…
poltergeist
Можно сделать сервис на джанго для просмотра статистики и только, а сбор данных будет реализовывать обычный питоновский скрипт, который будет запускаться по крону (например) и выполнять несколько SQL запросов для экспорта нужных данных из 1,2,3-й баз данных в 4-ю.
vvp91
ilganas
Базы с которыми работаю, богу только на просмотр. трогать нельзя….!!!
Я не предлагал “трогать” базы. Добавление linked servers и создание view в какой-либо схеме оракла не может называться “троганием”.
* поднимите пятую базу, например на MSSQL,
* создайте схему данных, содержащую интересующие структуры, можно с использованием моделей джанги
* настройте DTS, который будет импортировать из других баз данные в вашу базу.
* сделайте джанго-приложение, работающее с вашей новой базой.

Суть одна - дать джанге возможность работать только с одной базой средствами СУБД.
slav0nic
тут корректней поднять репликацию и вытягивать нужную инфу в базу которая корректно поддерживается джангой, и уже с этими данными работать

хотя “linked” я так понимаю что-то вроде proxy-таблиц, только опять же накой тогда тут джанга с её ОРМом?)
а вот с в варианте с репликацией гавнистость орма будет неощутима
Evg
ilganas
Инфа будет браться из 4тырёх баз
Я для похожей задачи переключения бд патчил джангу, основываясь на этом - http://code.djangoproject.com/ticket/1142 - вцелом вроде все работает через orm (кроме некотрых моментов где joins с разных бд) пришлось помучатся, недавно еще обнаружился баг с тем что не закрываются коннекты к базам и накапливаются, еще придется допиливать, но вообще в новой версии джанги 1.2 обещают multidb.
vvp91
slav0nic
хотя “linked” я так понимаю что-то вроде proxy-таблиц, только опять же накой тогда тут джанга с её ОРМом?)
а вот с в варианте с репликацией гавнистость орма будет неощутима
1. Связанные сервера (linked servers) - это доступ к данным сервера_1 через механизмы сервера_2, причем прозрачный доступ, т.е. клиент сервера_2 считает, что данные хранятся на сервере_2, и этот клиент может ничего не знать про сервер_1.
Вьюхи предлагались для большей прозрачности, поскольку их можно так разработать, чтобы джанга вообще думала, что работает со своими оригинальными названиями таблиц и полей.
2. Репликацию я предлагал сделать конкретным механизмом - MS DTS.
ilganas
Спасибо, механизм в целом понятен,
========================
Либо средствами СУБД, Либо средствами Python
Сделать так чтобы все данные стекались в ту базу, с которой Django будет работать….
А на Django сделать оббертку чтобы это все просматривать!
========================
Спасибо за помощь.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB