powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Перевод проекта с IBX на FireDAC
25 сообщений из 111, страница 4 из 5
Перевод проекта с IBX на FireDAC
    #40111861
s62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87
ну и еще базы периодически повреждаются при отключении света
Наталья, а что, источника бесперебойного питания (UPS) нет на компьютере (p.s. правильнее наверное написать - для компьютера ), на котором БД?
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111864
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87Не буду переходить с IBX на FireDAC, оно того не стоит. Тем более по методу от
Dimitry Sibiryakov. Лучше не тратить на это время, а сам проект развивать, там
непаханое поле.

С Вашей любовью к обёрткам имеет смысл переходить на прямое использование
Firebird API. Вот там выигрыш может быть заметным.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111866
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad F
YuRock,

При отсутствии конкурирующих транзакций, запускаемых вслед за текущей активной, длительность ее активности не играет никакой деструктивной роли.))
Сборщик мусора, запустившись, не будет ничего делать для транзакций с номером больше первой активноф. Это уже очень деструктивная роль.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111868
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самое деструктивное для Firebird - идиоты, путающие Garbage Collector и Sweep.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111869
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87
За всё время работы из всех недостатков только два обнаружила - снижение скорости работы со временем, по этой причине необходимость периодически делать backup&restore
Понятно.
Так "работать" возможно, пока у вас маленькая база. Впрочем, возможно, она у вас будет и оставаться маленькой.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111871
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Самое деструктивное для Firebird - идиоты, путающие Garbage Collector и Sweep.
Да от этого он аж загибается.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111889
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
С Вашей любовью к обёрткам имеет смысл переходить на прямое использование Firebird API. Вот там выигрыш может быть заметным.
Ты уверен, что ТС осилит реализацию TDataSet?
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111896
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_Ты уверен, что ТС осилит реализацию TDataSet?

Ты бы видел что она творила пытаясь заставить кнопки быть зелёными и отображать
русский интерфейс на винде без поддержки русского языка... По сравнению с этим,
TDataSet - сущая мелочь. В любом случае уже в этом топике она была готова его
реализовать как мост к ФайерДаку.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111937
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
s62
Наталья87
ну и еще базы периодически повреждаются при отключении света
Наталья, а что, источника бесперебойного питания (UPS) нет на компьютере (p.s. правильнее наверное написать - для компьютера ), на котором БД?


Ну там где есть - очевидно, не повреждаются. Но пользователей сотни у кого есть, у кого нет. В 90% случаях gbak-ом восстанавливаются из автоматических резервных копий с потерей пары дней работы. В оставшихся 10% случаях (когда все так плохо и настолько повреждено, что даже автоматические резервные копии уже долго не делались или умер диск вместе с базой и с резервными копиями) - как правило, проще начать с нуля, тк восстановление экспертами с IBExpert или разными сургеонами выйдет в круглую сумму.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111938
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov> TDataSet - сущая мелочь. В любом случае уже в этом топике она была готова его реализовать как мост к ФайерДаку.

Уверенность в готовности - не есть готовность.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111939
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

отображать русский интерфейс на винде без поддержки русского языка...


Ну тут все-таки переход на юникодную Delphi лучше, чем насиловать Delphi 2007. На Delphi 2007 все эти костыли всё равно через раз работают и по-нормальному как на юникодной Delphi все равно не будет.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111941
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_
Dimitry Sibiryakov
С Вашей любовью к обёрткам имеет смысл переходить на прямое использование Firebird API. Вот там выигрыш может быть заметным.
Ты уверен, что ТС осилит реализацию TDataSet?


Скорее всего, нет. Т. к. смотрю, скажем, в DB.pas, читаю и вижу фигу. Чужой код вообще плохо читается. Хотя была идея работать напрямую с базой на сервере (через gds32.dll) и создать что-то на базе TTcpSocket чтобы сделать что-то типа своего сервера, который бы обращался к Firebird. Но теперь думаю, что скорее всего оно того не стоит, быстрее чем IBSQL (а не IBQuery, который не нужно использовать) не будет.

В FireDAC кстати правильно настроенный аналог IBQuery (TFdQuery) работает примерно с той же скоростью, что IBSQL в IBX. Оттого и кажется что гриды на FireDAC могли бы быстрее отображаться (тк сравнивать надо не TFdQuery и IBSQL, а TFdQuery и TIBQuery). А в IBX - конечно есть IBSQL - но DataSource и гриды ведь всё равно требуют медленный TIBQuery.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111942
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87> Ну тут все-таки переход на юникодную
Наталья87> лучше, чем насиловать Delphi 2007.

Да не может такого быть! Неужели?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111954
Сергей Фролов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ, вы ж самого главного не увидели за все 4 страницы и за почти 3 дня.

Наталья87
Проблема в том, что медленно работает при подключении к базам данных через Интернет-соединение.

Не важно что там из DAC используется, проблема в том, что Firebird не умеет через Интернет. Ни по скорости, ни по отсутствию шифрования. И рефакторинг делай/не делай не поможет увеличению скорости. Во всяком случае заметному.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111960
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Фролов,

Мы все сразу увидели, ты из контекста не вырывай. Приведи ее полностью, в части сравнения в этом плане IBX и FireDAC.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111967
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Фроловпроблема в том, что Firebird не умеет через Интернет. Ни по скорости, ни по
отсутствию шифрования.

Умеет. И по скорости, и по шифрованию. Загвоздка только в прокладке неподходящей
конфигурации.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111968
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

Сергей Фроловпроблема в том, что Firebird не умеет через Интернет. Ни по скорости, ни по
отсутствию шифрования.

Умеет. И по скорости, и по шифрованию. Загвоздка только в прокладке неподходящей
конфигурации.


И даже умеет работать при нестабильном коннекте? Ну это - когда у клиента "интернет работает, сайты открываются", но пакеты теряются и TIBDatabase, TIBTransaction, TIBQuery и прочее глючит?
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111969
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87Ну это - когда у клиента "интернет работает, сайты открываются", но пакеты
теряются и TIBDatabase, TIBTransaction, TIBQuery и прочее глючит?

"Фантастика в соседнем отделе". В TCP пакеты теряться не могут. Их потеря
приводит к разрыву соединения и с этим ни один stateful протокол не справится по
определению.

Зря Вы не стали писать свой собственный сокет-сервер. Получили бы неоценимый опыт.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111971
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

Наталья87Ну это - когда у клиента "интернет работает, сайты открываются", но пакеты
теряются и TIBDatabase, TIBTransaction, TIBQuery и прочее глючит?

"Фантастика в соседнем отделе". В TCP пакеты теряться не могут. Их потеря
приводит к разрыву соединения и с этим ни один stateful протокол не справится по
определению.

Зря Вы не стали писать свой собственный сокет-сервер. Получили бы неоценимый опыт.


Да - но попробуй это объясни пользователям. Они говорят "интернет есть", а когда им говоришь про необходимость непрерывного бесперебойного соединения для клиент-серверных программ - считают, что им голову морочат ведь сбербанк онлайн, видеосистемы, тимвивер и прочее работают.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111973
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Наталья87
медленно работает


Наталья87
скорость его работы существенно возрастёт


Наталья87
Всё работает действительно быстрее.


Наталья87
всё работает быстрее



Наталья87
быстрее отображаются

Наталья87
А если не быстрее - зачем тогда он нужен вообще этот

...
Оптимизатор вернулся?
Возможно, сменив пол (но это не точно).
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111976
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87
И даже умеет работать при нестабильном коннекте? Ну это - когда у клиента "интернет работает, сайты открываются", но пакеты теряются и TIBDatabase, TIBTransaction, TIBQuery и прочее глючит?
При "нестабильном коннекте" надо обращаться к сисадмину, чтобы он починил сеть. Если сисадмин отвечает, что "всё в порядке, яндекс открывается" - уволить некомпетентного сисадмина и взять компетентного, чтобы он привёл сеть в порядок.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111977
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Просто Вы масштабы проблемы видимо не поняли. При локальном коннекте и даже при сетевом всё работает нормально. Но стоит только сделать подключение к базе через Интернет (используя какой нибудь Хамачи). Хорошо если проводной Интернет, а не какой-нибудь 3G/4G. То всё начинает жутко тормозить. Пинг между компьютерами может быть всего 50 миллисекунд. Но при этом каждое обращение к базе может занимать 200 миллисекунд. Обращений таких при открытии разделов множество и не надо говорить про потоки, это поможет разве что добавить глюков в программу. А при выполнении операций еще больше (там запросов туда-сюда гоняется очень много и всё последовательно). Надо, конечно, оптимизировать всё и возможно, всё переписывать - но это в идеальном мире. Знаю и видела на прошлой работе, что в 1С для этого придумали что то типа &НаСервере, &НаКлиенте (правда с этими &НаСервере башку можно сломать). А по итогу разделы открываются по 5 секунд, а разные операции могут занимать и по 30 секунд - при пинге через черную командную строку в 50 мс. Притом что при подключении по Team Viewer или через RDP если работать с базой локально или в локальной сети всё практически мгновенно. Ускорить бы этот неоптимальный код раза в 2 просто переходом с IBX на FireDAC но похоже, что это не спасёт. А так делать, конечно, мне нечего как оптимизировать код ради оптимизации.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111978
Наталья87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluck99
Наталья87
И даже умеет работать при нестабильном коннекте? Ну это - когда у клиента "интернет работает, сайты открываются", но пакеты теряются и TIBDatabase, TIBTransaction, TIBQuery и прочее глючит?
При "нестабильном коннекте" надо обращаться к сисадмину, чтобы он починил сеть. Если сисадмин отвечает, что "всё в порядке, яндекс открывается" - уволить некомпетентного сисадмина и взять компетентного, чтобы он привёл сеть в порядок.


Так в локальной сети же всё нормально. Проблемы если подключаться к базе через Интернет. И не каждый админ возьмется такое настроить.
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111979
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Наталья87
проводной Интернет...Пинг ... всего 50 миллисекунд.

Наталья87
Так в локальной сети же всё нормально.

В локальной сети - пинг тоже "всего" 50 мс?
...
Рейтинг: 0 / 0
Перевод проекта с IBX на FireDAC
    #40111980
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87
Просто Вы масштабы проблемы видимо не поняли. При локальном коннекте и даже при сетевом всё работает нормально. Но стоит только сделать подключение к базе через Интернет (используя какой нибудь Хамачи). Хорошо если проводной Интернет, а не какой-нибудь 3G/4G. То всё начинает жутко тормозить. Пинг между компьютерами может быть всего 50 миллисекунд. Но при этом каждое обращение к базе может занимать 200 миллисекунд. Обращений таких при открытии разделов множество и не надо говорить про потоки, это поможет разве что добавить глюков в программу. А при выполнении операций еще больше (там запросов туда-сюда гоняется очень много и всё последовательно). Надо, конечно, оптимизировать всё и возможно, всё переписывать - но это в идеальном мире. Знаю и видела на прошлой работе, что в 1С для этого придумали что то типа &НаСервере, &НаКлиенте (правда с этими &НаСервере башку можно сломать). А по итогу разделы открываются по 5 секунд, а разные операции могут занимать и по 30 секунд - при пинге через черную командную строку в 50 мс. Притом что при подключении по Team Viewer или через RDP если работать с базой локально или в локальной сети всё практически мгновенно. Ускорить бы этот неоптимальный код раза в 2 просто переходом с IBX на FireDAC но похоже, что это не спасёт. А так делать, конечно, мне нечего как оптимизировать код ради оптимизации.
Чтобы нормально работать на 3G, надо переходить на HTTP. Протокол Firebird для этого слабо подходит.
...
Рейтинг: 0 / 0
25 сообщений из 111, страница 4 из 5
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Перевод проекта с IBX на FireDAC
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]