|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
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 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
сортировать запросы нет так уж и долго, это не проблема...
вот только после выполнения управляющего запроса надо будет обновлять местную базу бестолковый вариант...... Последний раз редактировалось rpy3uH; 07.02.2007 в 20:34. |
08.02.2007, 09:38 | #3 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
Аналогично размышлял, поэтому и думаю что лучше четко фиксировать режимы:
т.е. в быстром режиме работа только с репликой, в актуальном только с основной базой. Т.е. просто при выборе режима менять SqlConnection. А обновление не на столько долго, репликация же не crontab, она постояяна )
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка при использовании 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 |