Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Delphi и MySQL, Удаленное использование базы данных 
:(
    Опции темы
Elfix
Дата 8.2.2008, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 167
Регистрация: 13.7.2005

Репутация: нет
Всего: нет



Привет. Появилась необходимость написать программы-клиенты, которые бы обращались к единственному серверу с СУБД MySQL. Проблема в том, что пользователи будут активно запрашивать длинные списки информации (около 3000 записей). Ситуация еще и усугубляется тем, что таких пользователей будет очень много в разных городах. Необходимость в одном сервере диктует руководство - они хотят держать базу в актуальном состоянии в любой момент времени находясь в любом городе. Пользователи активно должны получать списки данных, пополнять информацию, просматривать, редактировать, анализировать и т. д. (большая организация, содержащая складские помещения, где часто проводятся перемещения товаров, поиск их по штрих-коду, получение остатков)

Вот вопрос. Возможно ли это сделать в связке Delphi+MySQL? Не будет ли подвисаний при получении пользователями 3000 записей, при всем при том, что они часто работают с программой в два окна? Или это организовывается какими то другими "штатными" средствами?
PM MAIL   Вверх
Rodman
Дата 8.2.2008, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 22
Всего: 122



через компоненты dbExpress мона конектится на расстоянии... а там уже качество сети будет тебя "давить"
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Elfix
Дата 8.2.2008, 22:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 167
Регистрация: 13.7.2005

Репутация: нет
Всего: нет



Для коннекта я использую либо функции непосредственно из libmysql.dll либо свой самописный класс-оболочку этой библиотеки. Вопрос в другом.

1. На сколько эффективно и быстро будет проходить получение списка записей?
2. Не будет ли подвисаний, превращающих работу пользователей в нервотрепку?
3. Как обычно организовываются хранилища данных в крупных сетях? MySQL справляется с этой задачей или стоит выбрать другую систему?

Дома (на тестовой проге) у меня все работает очень быстро, но это объясняется тем, что пользователь я сам, сижу за банкой, которая сама является хранилищем данных, работаю с таблицами количество записей в которых не превышает 10. В реальных же условиях число записей составит более 3000, а количество пользователей, одновременно работающих с программой, около 100 - 150, при всем при том, что многие из них предпочитают работать с программой в два окна.
PM MAIL   Вверх
Vas
Дата 9.2.2008, 10:01 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 29.6.2005
Где: Stavropol region

Репутация: 23
Всего: 28



Я бы сделал все через веб, на сервере поставил MySQL и Apahce. Все бы настроил, сделал php страницы которые выводят все это, можно даже сделать скрипты на дельфи. 3000 записей это фигня для MySQL, посмотрите на форумы они все в основном на MySQL и крутятся по 3000000 сообщений содержат в себе и ниче. 
А при прямом соединении для БД канал нужен будет, пусть не быстрый, но стабильный. Если выходят из разных городов, то не факт что везде связь будет без проблем. 
Это все мое ИМХО, решать Вам.


--------------------
И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин)
PM MAIL   Вверх
Elfix
Дата 9.2.2008, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 167
Регистрация: 13.7.2005

Репутация: нет
Всего: нет



Веб интерфейс ну никак не получится организовать. Попробую объяснить по-другому. Представьте себе складской учет. Перед глазами пользователя всегда крутятся товарные карточки с которыми он работает. Одновременно у него на экране будут загружены практически все данные, он будет перемещать курсор, получая остатки товаров на складе и их цену, просматривать движение товаров и т. д. Не исключено, что он будет выходить из одного справочника (товаров) в другой (сотрудников). Причем эти выходы-входы будет делать постоянно. В любой момент пользователь должен будет добавить новый товар, или обновить его количество (оприходовать, списать). Сейчас на простенькой программе у меня все достаточно быстро работает, но не будет ли подвисать прога, когда в ней будут работать все 3000 и более записей, при всем при том, что пользователей будет много в разных городах (достаточно удаленных друг от друга)?

Если будет, то как эти проблемы решают администраторы в подобных крупных организациях, подразделения которых находятся на большом расстоянии друг от друга?
PM MAIL   Вверх
comtat
Дата 10.2.2008, 00:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1310
Регистрация: 2.5.2006
Где: Россия, Казань

Репутация: 1
Всего: 71



Цитата(Elfix @  9.2.2008,  22:15 Найти цитируемый пост)
Веб интерфейс ну никак не получится организовать.

Vas предлагает отличный вариант
Цитата(Elfix @  9.2.2008,  22:15 Найти цитируемый пост)
не будет ли подвисать прога, когда в ней будут работать все 3000 и более записей, при всем при том, что пользователей будет много в разных городах (достаточно удаленных друг от друга)?

Если каналы связи плохие то будут
У меня была программа на Delphi, которая работала c MySQL и при выборке из таблицы в 3 млн записей подвисала


--------------------
Рожденный в СССР !!!
ExtJS - мой фреймворк 
PM   Вверх
Marduk
Дата 16.2.2008, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 9.4.2007

Репутация: нет
Всего: 2



Я бы все же подумал над вариантом с веб сервером, пусть не Апач, но можно и IIS поставить и к нему проги на делфи писать и как CGI или ASP использовать, там ведь запросы будут обрабатываться на самом сервере, а пользователям только сами результаты отправляться, в этом случае клиентское ПО совсем не нужно будет, достаточно веб браузера. Минимум геморроя с поддержкой проги и максимум производительности(если конечно сам сервер будет хорошим)

Это сообщение отредактировал(а) Marduk - 16.2.2008, 12:13
PM MAIL ICQ   Вверх
SneG0K
Дата 16.2.2008, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: нет
Всего: 54



Я б вынес загрузку строк в отдельный поток, и поставил бы прогрессбар на главное окно... программа бы не повисала...
PM WWW Skype   Вверх
СЭНСЭЙ
Дата 17.1.2009, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 432
Регистрация: 20.3.2006

Репутация: нет
Всего: нет



Дай пример как это сделать плиз!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.2957 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.