Подскажите компоненты для реализации проекта

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Re: Подскажите компоненты для реализации проекта

Сообщение sign » 11.06.2012 17:04:14

Vadim писал(а):Кину камень в огород MySQL. :) Скачал недавно последнюю версию 5.6.5, поставил, залил базы со старого сервера, запустил - и с ужасом обнаружил, что движок InnoDB там больше не поддерживается - все внешние ключи полетели в жо..., целостности данных больше нет, хотя база продолжает работать.
Так что имейте в виду, oracle жжот не по детски. ;)

Не гоните пургу, текущая версия - 5.5.25.0.
Грузитесь с нормального места - http://dev.mysql.com/downloads/

А вы скачали откуда-то или с языками у вас непорядок.
5.6.5 - сообщение "Archives » MySQL Database Server 5.6 » 5.6.5 - Please note that these are old versions and may include bugs that are fixed in more recent versions!"
sign
энтузиаст
 
Сообщения: 1131
Зарегистрирован: 30.08.2009 09:20:53

Re: Подскажите компоненты для реализации проекта

Сообщение Ism » 11.06.2012 17:10:46

Версия 5.5.25 прекрасно работает InnoDB

Изображение

Добавлено спустя 23 минуты 19 секунд:
Вообще там где web, то лучше всего mysql , средства хорошо отработаны
Ism
энтузиаст
 
Сообщения: 908
Зарегистрирован: 06.04.2007 17:36:08

Re: Подскажите компоненты для реализации проекта

Сообщение Vadim » 12.06.2012 05:08:17

Ism
Ism писал(а):Да и на сайте нет 5.6.5, это что, бета ?

Нет, это не бета: http://dev.mysql.com/downloads/mysql/5.6.html
Ism писал(а):Нужно удалить файлы ib_logfile в папке C:\ProgramData\MySQL\MySQL Server 5.5\data и перезапустить mysql сервер , он пересоздаст их с нужными параметрами и все будет работать

Спасибо, я попробую. ;)
Но, согласитесь, когда свежеустановленная MySQL выкидывает такие фортели - это уже говорит не в её пользу.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Подскажите компоненты для реализации проекта

Сообщение MaximK » 13.06.2012 11:15:24

Спасибо всем за советы. Наверное попробую с FireBird.

Есть еще один маленький вопросик. Если я правильно представляю себе работу приложения, то она будет следующая:
Клиент обращается к приложению-сервер(по IP и порту). Сервер обращается к базе данных, получает ответ от базы и отправляет клиенту.
MaximK
незнакомец
 
Сообщения: 7
Зарегистрирован: 29.07.2009 10:03:55

Re: Подскажите компоненты для реализации проекта

Сообщение AlexVinS » 13.06.2012 13:24:12

Да примерно так. Кстати еще вопрос на базе чего организовывать взаимодействие клиент-сервер. Что-то под лазарус я сходу ничего и не припомню хорошего. (Можно конечно свой велосипед на базе любого универсального TCP сервера -lnet, synapse итп, но может быть достаточно кропотливо).
Аватара пользователя
AlexVinS
новенький
 
Сообщения: 95
Зарегистрирован: 27.01.2009 01:18:01

Re: Подскажите компоненты для реализации проекта

Сообщение svk12 » 13.06.2012 13:59:08

А двухзвенки не хватит?
Приложение-клиент - сервер СУБД?
svk12
постоялец
 
Сообщения: 409
Зарегистрирован: 09.06.2008 18:42:47

Re: Подскажите компоненты для реализации проекта

Сообщение MaximK » 13.06.2012 14:11:50

svk12 писал(а):А двухзвенки не хватит?
Приложение-клиент - сервер СУБД?


Может быть и хватит. Вот только я подумал, если скажем изменится структура базы или запросов, придется корректировать все типы клиентов, а если запрос будут обрабатывать программа-сервер, то в коррекции будет нуждаться только она.

"Чем глубже в лес, тем больше дров"
MaximK
незнакомец
 
Сообщения: 7
Зарегистрирован: 29.07.2009 10:03:55

Re: Подскажите компоненты для реализации проекта

Сообщение Vadim » 13.06.2012 15:55:58

MaximK
Где-то в недрах sourceforge.net лежит DBNetProcessor - как раз то самое промежуточное звено между клиентом и SQL-сервером. Сетевая часть на Synapse, db - на ZEOS. В комплекте есть пример для SQLite.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Подскажите компоненты для реализации проекта

Сообщение alexs » 13.06.2012 21:00:04

MaximK писал(а):Вот только я подумал, если скажем изменится структура базы или запросов, придется корректировать все типы клиентов, а если запрос будут обрабатывать программа-сервер, то в коррекции будет нуждаться только она.

О!!!
Это что-то новое...
Как вы это себе представляете?
Как может клиентский интерфейс быть полностью не зависимым от структуры данных?
WEB?
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4064
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Подскажите компоненты для реализации проекта

Сообщение MaximK » 13.06.2012 22:59:42

Ну на данный момент я представляю это так:
Клиент просит у сервера заявку №37. Сервер соединяется с таблицей БД и делает запрос, получает ответ и формирует свой ответ клиенту. Т.О. если к примеру я изменю название таблицы/поля/имя БД, то поменяю код сервера и все. На получение клиентом ответа, это никак не скажется. Или же я скажем сначала буду записывать заказчика в общую таблицу, а потом вынесу в отдельную, чтоб добавить дополнительные данные о нем, а вместо имени заказчика в основной таблице использовать его номер, то опять же изменив только сервер, клиент останется работоспособным.
Как то так. Может быть когда я начну реализовывать это, мои взгляды и изменятся. Не знаю. К сожалению нет опыта в подобных проектах и вообще сервер-клиентах.
MaximK
незнакомец
 
Сообщения: 7
Зарегистрирован: 29.07.2009 10:03:55

Re: Подскажите компоненты для реализации проекта

Сообщение GrayEddy » 13.06.2012 23:51:30

Эммм... При таком подходе клиент точно не будет работать.
Предположим - вы добавили/изменили колонку в таблице.
И как клиентская программа узнает об изменениях?
Можно, конечно, проверять таблицы/поля и строя формы на лету с учетом изменений.
Но это геморройно.
Как вариант - в базе есть таблица с номером версии базы.
При открытии клиент сравнивает свою версию с версией базы.
При несовпадении - обновление клиента (exe + dll + файлы/шаблоны отчетов). Детали обновления - за вами.

В случае веб-решения - все предельно просто.
Вносятся правки в базу и в код страницы/сайта на сервере.
Клиент даже не увидит изменений, все скрыто от него.
Есть туча PHP-фреймворков, которые позволяют работать в диапазоне от маленьких до больших проектов с сильной нагрузкой.

Добавлено спустя 12 минут 46 секунд:
Опять же, надо смотреть условия проекта.
- сколько клиентов будет бомбить базу?
- как часто будет идти чтение/запись? В минуту, час? Насколько будет велик объем вводимых данных, каких размеров может достигнуть база в течение месяца/года (аппроксимируем).
- выбор СУБД, структура базы.
- ОС клиентов и базы.

По проекту и не скажешь.
GrayEddy
постоялец
 
Сообщения: 375
Зарегистрирован: 06.05.2005 09:37:56

Re: Подскажите компоненты для реализации проекта

Сообщение Ism » 14.06.2012 00:58:38

И как клиентская программа узнает об изменениях?

В firebird и postgres есть такая штука как db_event

Добавлено спустя 2 минуты 11 секунд:
irebird, как реализовать обновление таблицы у клиента при её изменении на сервере
http://www.cyberforum.ru/ado-net/thread588000.html
Ism
энтузиаст
 
Сообщения: 908
Зарегистрирован: 06.04.2007 17:36:08

Re: Подскажите компоненты для реализации проекта

Сообщение MaximK » 14.06.2012 08:39:51

В конечном результате хочу получить следующее:

Заказчик через интернет (web-клиент) подает заявку на выполнение работ. Она записывается в базу на сервере. Либо диспетчер приняв заявку по телефону заносит ее в базу (клиент "Диспетчер"). Далее диспетчер увидев заявку назначает исполнителя. Аппаратурный участок готовит приборы для этой заявки соответственно типу планируемых работ(клиент "Монитор"). Склад, готовит необходимые материалы, заранее формирует списки недостающих материалов(клиент "Монитор"). Отдел обработки готовит исходные данные для выезда по заявке. И все это время список поступивших, подтвержденных и выполняемых заявок отображается на мониторе в холле предприятия, где могут это увидеть исполнители работ(клиент "Монитор").
После выполнения работ и возвращения на базу, данные полученные во время выполнения работ также записываются в базу(клиент "Сдача материала"). Объем файлов от 10Мб - 150 Мб. Отдел обработки обрабатывает их получив из базы и сохраняет результаты обработки так же в базе. Объем файлов от 1Мб - 10 Мб. Заказчик (их может быть одновременно до 10 чел.) через интернет скачивает необходимые результаты выполненных работ.

Таким образом одновременно будет работать:
Web-клиент (до 10 подключений. Заказчики нетерпеливые будут проверять готовность часто, исполнители находящиеся в разных городах)
клиент "Монитор" (минимум 4 клиента)
клиент "Диспетчер" (1 клиент)

Объем данных: Сданный и обработанный материал за год около 60Гб. Но это файлы. В базе думаю хранить только пути к файлам.
MaximK
незнакомец
 
Сообщения: 7
Зарегистрирован: 29.07.2009 10:03:55

Re: Подскажите компоненты для реализации проекта

Сообщение haword » 14.06.2012 09:09:43

для такого конечного результат надо как минимум нанять штат программистов человек в 5 и пахать несколько месяцев для создания только пробной версии. а дальше уже пилить точить.
haword
постоялец
 
Сообщения: 301
Зарегистрирован: 02.03.2006 11:34:40

Re: Подскажите компоненты для реализации проекта

Сообщение GrayEddy » 14.06.2012 09:11:35

Ism писал(а):В firebird и postgres есть такая штука как db_event


ОK так ОK. А если СУБД другая?

MaximK писал(а): Объем файлов от 10Мб - 150 Мб

Видео?
Файлы могут перегоняться по FTP.
Похоже, что вырисовывается в целом веб-решение.
GrayEddy
постоялец
 
Сообщения: 375
Зарегистрирован: 06.05.2005 09:37:56

Пред.След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 223

Рейтинг@Mail.ru