![]() |
|
|
![]()
|
|
| Elfix |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 167 Регистрация: 13.7.2005 Репутация: нет Всего: нет |
Привет. Появилась необходимость написать программы-клиенты, которые бы обращались к единственному серверу с СУБД MySQL. Проблема в том, что пользователи будут активно запрашивать длинные списки информации (около 3000 записей). Ситуация еще и усугубляется тем, что таких пользователей будет очень много в разных городах. Необходимость в одном сервере диктует руководство - они хотят держать базу в актуальном состоянии в любой момент времени находясь в любом городе. Пользователи активно должны получать списки данных, пополнять информацию, просматривать, редактировать, анализировать и т. д. (большая организация, содержащая складские помещения, где часто проводятся перемещения товаров, поиск их по штрих-коду, получение остатков)
Вот вопрос. Возможно ли это сделать в связке Delphi+MySQL? Не будет ли подвисаний при получении пользователями 3000 записей, при всем при том, что они часто работают с программой в два окна? Или это организовывается какими то другими "штатными" средствами? |
|||
|
||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 22 Всего: 122 |
через компоненты dbExpress мона конектится на расстоянии... а там уже качество сети будет тебя "давить"
|
|||
|
||||
| Elfix |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 167 Регистрация: 13.7.2005 Репутация: нет Всего: нет |
Для коннекта я использую либо функции непосредственно из libmysql.dll либо свой самописный класс-оболочку этой библиотеки. Вопрос в другом.
1. На сколько эффективно и быстро будет проходить получение списка записей? 2. Не будет ли подвисаний, превращающих работу пользователей в нервотрепку? 3. Как обычно организовываются хранилища данных в крупных сетях? MySQL справляется с этой задачей или стоит выбрать другую систему? Дома (на тестовой проге) у меня все работает очень быстро, но это объясняется тем, что пользователь я сам, сижу за банкой, которая сама является хранилищем данных, работаю с таблицами количество записей в которых не превышает 10. В реальных же условиях число записей составит более 3000, а количество пользователей, одновременно работающих с программой, около 100 - 150, при всем при том, что многие из них предпочитают работать с программой в два окна. |
|||
|
||||
| Vas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 29.6.2005 Где: Stavropol region Репутация: 23 Всего: 28 |
Я бы сделал все через веб, на сервере поставил MySQL и Apahce. Все бы настроил, сделал php страницы которые выводят все это, можно даже сделать скрипты на дельфи. 3000 записей это фигня для MySQL, посмотрите на форумы они все в основном на MySQL и крутятся по 3000000 сообщений содержат в себе и ниче.
А при прямом соединении для БД канал нужен будет, пусть не быстрый, но стабильный. Если выходят из разных городов, то не факт что везде связь будет без проблем. Это все мое ИМХО, решать Вам. -------------------- И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин) |
|||
|
||||
| Elfix |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 167 Регистрация: 13.7.2005 Репутация: нет Всего: нет |
Веб интерфейс ну никак не получится организовать. Попробую объяснить по-другому. Представьте себе складской учет. Перед глазами пользователя всегда крутятся товарные карточки с которыми он работает. Одновременно у него на экране будут загружены практически все данные, он будет перемещать курсор, получая остатки товаров на складе и их цену, просматривать движение товаров и т. д. Не исключено, что он будет выходить из одного справочника (товаров) в другой (сотрудников). Причем эти выходы-входы будет делать постоянно. В любой момент пользователь должен будет добавить новый товар, или обновить его количество (оприходовать, списать). Сейчас на простенькой программе у меня все достаточно быстро работает, но не будет ли подвисать прога, когда в ней будут работать все 3000 и более записей, при всем при том, что пользователей будет много в разных городах (достаточно удаленных друг от друга)?
Если будет, то как эти проблемы решают администраторы в подобных крупных организациях, подразделения которых находятся на большом расстоянии друг от друга? |
|||
|
||||
| comtat |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1310 Регистрация: 2.5.2006 Где: Россия, Казань Репутация: 1 Всего: 71 |
Vas предлагает отличный вариант Если каналы связи плохие то будут У меня была программа на Delphi, которая работала c MySQL и при выборке из таблицы в 3 млн записей подвисала -------------------- Рожденный в СССР !!! ExtJS - мой фреймворк |
|||
|
||||
| Marduk |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 9.4.2007 Репутация: нет Всего: 2 |
Я бы все же подумал над вариантом с веб сервером, пусть не Апач, но можно и IIS поставить и к нему проги на делфи писать и как CGI или ASP использовать, там ведь запросы будут обрабатываться на самом сервере, а пользователям только сами результаты отправляться, в этом случае клиентское ПО совсем не нужно будет, достаточно веб браузера. Минимум геморроя с поддержкой проги и максимум производительности(если конечно сам сервер будет хорошим)
Это сообщение отредактировал(а) Marduk - 16.2.2008, 12:13 |
|||
|
||||
| SneG0K |
|
|||
|
Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: нет Всего: 54 |
Я б вынес загрузку строк в отдельный поток, и поставил бы прогрессбар на главное окно... программа бы не повисала...
|
|||
|
||||
| СЭНСЭЙ |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 432 Регистрация: 20.3.2006 Репутация: нет Всего: нет |
Дай пример как это сделать плиз!
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |