|
Перевод проекта с IBX на FireDAC
|
|||
---|---|---|---|
#18+
Наталья87 ну и еще базы периодически повреждаются при отключении света ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2021, 14:34 |
|
Перевод проекта с IBX на FireDAC
|
|||
---|---|---|---|
#18+
Наталья87Не буду переходить с IBX на FireDAC, оно того не стоит. Тем более по методу от Dimitry Sibiryakov. Лучше не тратить на это время, а сам проект развивать, там непаханое поле. С Вашей любовью к обёрткам имеет смысл переходить на прямое использование Firebird API. Вот там выигрыш может быть заметным. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2021, 14:48 |
|
Перевод проекта с IBX на FireDAC
|
|||
---|---|---|---|
#18+
Vlad F YuRock, При отсутствии конкурирующих транзакций, запускаемых вслед за текущей активной, длительность ее активности не играет никакой деструктивной роли.)) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2021, 14:57 |
|
Перевод проекта с IBX на FireDAC
|
|||
---|---|---|---|
#18+
Самое деструктивное для Firebird - идиоты, путающие Garbage Collector и Sweep. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2021, 14:59 |
|
Перевод проекта с IBX на FireDAC
|
|||
---|---|---|---|
#18+
Наталья87 За всё время работы из всех недостатков только два обнаружила - снижение скорости работы со временем, по этой причине необходимость периодически делать backup&restore Так "работать" возможно, пока у вас маленькая база. Впрочем, возможно, она у вас будет и оставаться маленькой. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2021, 15:01 |
|
Перевод проекта с IBX на FireDAC
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Самое деструктивное для Firebird - идиоты, путающие Garbage Collector и Sweep. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2021, 15:03 |
|
Перевод проекта с IBX на FireDAC
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov С Вашей любовью к обёрткам имеет смысл переходить на прямое использование Firebird API. Вот там выигрыш может быть заметным. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2021, 16:39 |
|
Перевод проекта с IBX на FireDAC
|
|||
---|---|---|---|
#18+
_Vasilisk_Ты уверен, что ТС осилит реализацию TDataSet? Ты бы видел что она творила пытаясь заставить кнопки быть зелёными и отображать русский интерфейс на винде без поддержки русского языка... По сравнению с этим, TDataSet - сущая мелочь. В любом случае уже в этом топике она была готова его реализовать как мост к ФайерДаку. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2021, 16:53 |
|
Перевод проекта с IBX на FireDAC
|
|||
---|---|---|---|
#18+
s62 Наталья87 ну и еще базы периодически повреждаются при отключении света Ну там где есть - очевидно, не повреждаются. Но пользователей сотни у кого есть, у кого нет. В 90% случаях gbak-ом восстанавливаются из автоматических резервных копий с потерей пары дней работы. В оставшихся 10% случаях (когда все так плохо и настолько повреждено, что даже автоматические резервные копии уже долго не делались или умер диск вместе с базой и с резервными копиями) - как правило, проще начать с нуля, тк восстановление экспертами с IBExpert или разными сургеонами выйдет в круглую сумму. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2021, 19:23 |
|
Перевод проекта с IBX на FireDAC
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov> TDataSet - сущая мелочь. В любом случае уже в этом топике она была готова его реализовать как мост к ФайерДаку. Уверенность в готовности - не есть готовность. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2021, 19:24 |
|
Перевод проекта с IBX на FireDAC
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov отображать русский интерфейс на винде без поддержки русского языка... Ну тут все-таки переход на юникодную Delphi лучше, чем насиловать Delphi 2007. На Delphi 2007 все эти костыли всё равно через раз работают и по-нормальному как на юникодной Delphi все равно не будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2021, 19:26 |
|
Перевод проекта с IBX на FireDAC
|
|||
---|---|---|---|
#18+
_Vasilisk_ Dimitry Sibiryakov С Вашей любовью к обёрткам имеет смысл переходить на прямое использование Firebird API. Вот там выигрыш может быть заметным. Скорее всего, нет. Т. к. смотрю, скажем, в DB.pas, читаю и вижу фигу. Чужой код вообще плохо читается. Хотя была идея работать напрямую с базой на сервере (через gds32.dll) и создать что-то на базе TTcpSocket чтобы сделать что-то типа своего сервера, который бы обращался к Firebird. Но теперь думаю, что скорее всего оно того не стоит, быстрее чем IBSQL (а не IBQuery, который не нужно использовать) не будет. В FireDAC кстати правильно настроенный аналог IBQuery (TFdQuery) работает примерно с той же скоростью, что IBSQL в IBX. Оттого и кажется что гриды на FireDAC могли бы быстрее отображаться (тк сравнивать надо не TFdQuery и IBSQL, а TFdQuery и TIBQuery). А в IBX - конечно есть IBSQL - но DataSource и гриды ведь всё равно требуют медленный TIBQuery. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2021, 19:36 |
|
Перевод проекта с IBX на FireDAC
|
|||
---|---|---|---|
#18+
Наталья87> Ну тут все-таки переход на юникодную Наталья87> лучше, чем насиловать Delphi 2007. Да не может такого быть! Неужели? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2021, 19:39 |
|
Перевод проекта с IBX на FireDAC
|
|||
---|---|---|---|
#18+
Народ, вы ж самого главного не увидели за все 4 страницы и за почти 3 дня. Наталья87 Проблема в том, что медленно работает при подключении к базам данных через Интернет-соединение. Не важно что там из DAC используется, проблема в том, что Firebird не умеет через Интернет. Ни по скорости, ни по отсутствию шифрования. И рефакторинг делай/не делай не поможет увеличению скорости. Во всяком случае заметному. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2021, 21:27 |
|
Перевод проекта с IBX на FireDAC
|
|||
---|---|---|---|
#18+
Сергей Фролов, Мы все сразу увидели, ты из контекста не вырывай. Приведи ее полностью, в части сравнения в этом плане IBX и FireDAC. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2021, 21:59 |
|
Перевод проекта с IBX на FireDAC
|
|||
---|---|---|---|
#18+
Сергей Фроловпроблема в том, что Firebird не умеет через Интернет. Ни по скорости, ни по отсутствию шифрования. Умеет. И по скорости, и по шифрованию. Загвоздка только в прокладке неподходящей конфигурации. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2021, 23:06 |
|
Перевод проекта с IBX на FireDAC
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Сергей Фроловпроблема в том, что Firebird не умеет через Интернет. Ни по скорости, ни по отсутствию шифрования. Умеет. И по скорости, и по шифрованию. Загвоздка только в прокладке неподходящей конфигурации. И даже умеет работать при нестабильном коннекте? Ну это - когда у клиента "интернет работает, сайты открываются", но пакеты теряются и TIBDatabase, TIBTransaction, TIBQuery и прочее глючит? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2021, 23:23 |
|
Перевод проекта с IBX на FireDAC
|
|||
---|---|---|---|
#18+
Наталья87Ну это - когда у клиента "интернет работает, сайты открываются", но пакеты теряются и TIBDatabase, TIBTransaction, TIBQuery и прочее глючит? "Фантастика в соседнем отделе". В TCP пакеты теряться не могут. Их потеря приводит к разрыву соединения и с этим ни один stateful протокол не справится по определению. Зря Вы не стали писать свой собственный сокет-сервер. Получили бы неоценимый опыт. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2021, 23:26 |
|
Перевод проекта с IBX на FireDAC
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Наталья87Ну это - когда у клиента "интернет работает, сайты открываются", но пакеты теряются и TIBDatabase, TIBTransaction, TIBQuery и прочее глючит? "Фантастика в соседнем отделе". В TCP пакеты теряться не могут. Их потеря приводит к разрыву соединения и с этим ни один stateful протокол не справится по определению. Зря Вы не стали писать свой собственный сокет-сервер. Получили бы неоценимый опыт. Да - но попробуй это объясни пользователям. Они говорят "интернет есть", а когда им говоришь про необходимость непрерывного бесперебойного соединения для клиент-серверных программ - считают, что им голову морочат ведь сбербанк онлайн, видеосистемы, тимвивер и прочее работают. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2021, 00:30 |
|
Перевод проекта с IBX на FireDAC
|
|||
---|---|---|---|
#18+
Наталья87 медленно работает Наталья87 скорость его работы существенно возрастёт Наталья87 Всё работает действительно быстрее. Наталья87 всё работает быстрее Наталья87 быстрее отображаются Наталья87 А если не быстрее - зачем тогда он нужен вообще этот ... Оптимизатор вернулся? Возможно, сменив пол (но это не точно). ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2021, 00:53 |
|
Перевод проекта с IBX на FireDAC
|
|||
---|---|---|---|
#18+
Наталья87 И даже умеет работать при нестабильном коннекте? Ну это - когда у клиента "интернет работает, сайты открываются", но пакеты теряются и TIBDatabase, TIBTransaction, TIBQuery и прочее глючит? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2021, 02:20 |
|
Перевод проекта с IBX на FireDAC
|
|||
---|---|---|---|
#18+
Просто Вы масштабы проблемы видимо не поняли. При локальном коннекте и даже при сетевом всё работает нормально. Но стоит только сделать подключение к базе через Интернет (используя какой нибудь Хамачи). Хорошо если проводной Интернет, а не какой-нибудь 3G/4G. То всё начинает жутко тормозить. Пинг между компьютерами может быть всего 50 миллисекунд. Но при этом каждое обращение к базе может занимать 200 миллисекунд. Обращений таких при открытии разделов множество и не надо говорить про потоки, это поможет разве что добавить глюков в программу. А при выполнении операций еще больше (там запросов туда-сюда гоняется очень много и всё последовательно). Надо, конечно, оптимизировать всё и возможно, всё переписывать - но это в идеальном мире. Знаю и видела на прошлой работе, что в 1С для этого придумали что то типа &НаСервере, &НаКлиенте (правда с этими &НаСервере башку можно сломать). А по итогу разделы открываются по 5 секунд, а разные операции могут занимать и по 30 секунд - при пинге через черную командную строку в 50 мс. Притом что при подключении по Team Viewer или через RDP если работать с базой локально или в локальной сети всё практически мгновенно. Ускорить бы этот неоптимальный код раза в 2 просто переходом с IBX на FireDAC но похоже, что это не спасёт. А так делать, конечно, мне нечего как оптимизировать код ради оптимизации. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2021, 02:28 |
|
Перевод проекта с IBX на FireDAC
|
|||
---|---|---|---|
#18+
Gluck99 Наталья87 И даже умеет работать при нестабильном коннекте? Ну это - когда у клиента "интернет работает, сайты открываются", но пакеты теряются и TIBDatabase, TIBTransaction, TIBQuery и прочее глючит? Так в локальной сети же всё нормально. Проблемы если подключаться к базе через Интернет. И не каждый админ возьмется такое настроить. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2021, 02:30 |
|
Перевод проекта с IBX на FireDAC
|
|||
---|---|---|---|
#18+
Наталья87 проводной Интернет...Пинг ... всего 50 миллисекунд. Наталья87 Так в локальной сети же всё нормально. В локальной сети - пинг тоже "всего" 50 мс? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2021, 02:40 |
|
Перевод проекта с IBX на FireDAC
|
|||
---|---|---|---|
#18+
Наталья87 Просто Вы масштабы проблемы видимо не поняли. При локальном коннекте и даже при сетевом всё работает нормально. Но стоит только сделать подключение к базе через Интернет (используя какой нибудь Хамачи). Хорошо если проводной Интернет, а не какой-нибудь 3G/4G. То всё начинает жутко тормозить. Пинг между компьютерами может быть всего 50 миллисекунд. Но при этом каждое обращение к базе может занимать 200 миллисекунд. Обращений таких при открытии разделов множество и не надо говорить про потоки, это поможет разве что добавить глюков в программу. А при выполнении операций еще больше (там запросов туда-сюда гоняется очень много и всё последовательно). Надо, конечно, оптимизировать всё и возможно, всё переписывать - но это в идеальном мире. Знаю и видела на прошлой работе, что в 1С для этого придумали что то типа &НаСервере, &НаКлиенте (правда с этими &НаСервере башку можно сломать). А по итогу разделы открываются по 5 секунд, а разные операции могут занимать и по 30 секунд - при пинге через черную командную строку в 50 мс. Притом что при подключении по Team Viewer или через RDP если работать с базой локально или в локальной сети всё практически мгновенно. Ускорить бы этот неоптимальный код раза в 2 просто переходом с IBX на FireDAC но похоже, что это не спасёт. А так делать, конечно, мне нечего как оптимизировать код ради оптимизации. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2021, 02:52 |
|
|
start [/forum/topic.php?fid=58&msg=40111938&tid=2036862]: |
0ms |
get settings: |
11ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 150ms |
0 / 0 |