Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.02.2007, 17:04   #1
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию мысли в слух или "быстрый режим" в работе с БД

Решил попробовать порассуждать вслух:
Имеется некая программа, которая активно работает с БД (MySql) есть другой город, у которого достаточно плохой канал с Москвой, поэтому крайне большие тормоза при работе.
Как я вижу решение проблемы:
в том городе на сервере ставлю MySql и делаю туда реплику с master-ом здесь, на основном сервере...
Задача:
реализовать так называемый "быстрый режим" в том городе, то-есть:
все select-ы производить с местной базой, а все управляющие запросы с актуальной базой... каким образом наиболее красиво это реализовать?
Вижу несколько вариантов:
Отдельная кнопка "Быстрый режим". Пользователь, нажав на нее переключает TSqlconnection на местную БД.
Плюсы:
Одно активное подключение к Базе.
простота

Минусы
необходимо отсеивать управляющие запросы, соответственно либо просто блокировать кнопки, которые вносят изменения в базу, либо еще что- то

Второй вариант:
Работать "On-Line", т.е. держать активными 2 подключения к базе и сортировать запросы, т.е. select-ы через одно подключение, управляющие через другое, но мне этот вариант не совсем нравится, так как в этом случае придется слишком сильно переписывать движок программы.

Может можно как-нибудь реализовать это на уровне драйвера БД ?
Или может вы предложите более интересный и красивый вариант реализации ?
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 07.02.2007, 20:28   #2
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

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

Последний раз редактировалось rpy3uH; 07.02.2007 в 20:34.
rpy3uH вне форума Ответить с цитированием
Старый 08.02.2007, 09:38   #3
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Аналогично размышлял, поэтому и думаю что лучше четко фиксировать режимы:
т.е. в быстром режиме работа только с репликой, в актуальном только с основной базой. Т.е. просто при выборе режима менять SqlConnection. А обновление не на столько долго, репликация же не crontab, она постояяна )
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при использовании OlePropertyGet("Documents").OleProcedure("Add") в C++ Builder AleksP C++ Builder 7 11.04.2009 13:06
Пауза в работе "while" rom_19 Общие вопросы C/C++ 3 06.07.2008 13:59
если пользователь наберет какой-то другой символ не "y" или "n" и нажмет enter, программа проигнорирует skobets Общие вопросы C/C++ 2 03.06.2008 06:51
Excel файл открывается не "до конца" (странички "не показываются" только серое поле) Dorvir Microsoft Office Excel 2 28.03.2008 10:03
Создаю диаграмму "Bar". Подскажите как убрать растояние между "столбами" MAcK Компоненты Delphi 11 24.10.2007 10:49