Переход с IB 4.0 на FB/Yaffil

Совместимость InterBase, Firebird, Yaffil между собой и по версиям

Модераторы: kdv, Alexey Kovyazin

Ответить
Кузнецов Евгений
Сообщения: 144
Зарегистрирован: 16 фев 2006, 22:36

Переход с IB 4.0 на FB/Yaffil

Сообщение Кузнецов Евгений » 29 окт 2006, 11:36

Добрый день!

Так уж получилось, что мне приходится работать с Interbase 4.0 (основные клиентские приложения написаны
еще до меня на Delphi 1 и Delphi 3, естественно с использованием BDE).
Есть желание перейти на более современные версии сервера, тем более, что недавно начал сталкиваться
с весьма неприятными багами (да еще прочитал в IBDeveloper о каких-то древних ошибках 4 версии).

Условия:
1) требуется полноценная поддержка BDE (хотя новые приложения разрабатываются с использованием IBX,
старые полностью переписать в ближайшие несколько лет не представляется возможным) и как следствие
базы будут вертеться в первом диалекте.

2) Приложение, написанное на Delphi 1, использует 16-разрядного клиента от Local IB. С IB 4.0 клиент
совместим. Будет ли он работать с новыми версиями, или на это рассчитывать нельзя? Естественно,
ответ на этот вопрос может быть получен только опытным путем, но, может быть, не стоит и пытаться?

Есть несколько вариантов:

1) Переход на Yaffil Classic. Здесь переход с 4 версии, насколько я понимаю, не представляет значительных
трудностей. Однако, статус Yaffil лично мне не понятен - с одной стороны он платный (хоть
и не продается в настоящее время), с другой - в FAQ он упомянут вместе c Firebird как бесплатный клон
Interbase, и его можно свободно скачать.
Хотя функциональность Yaffil'a меня вполне устраивает, ясно что в будущем придется переходить на
Firebird, что может представлять проблему.

2) Переход на FB 1.5.3 Classic. Есть литература, смущает лишь фраза в Release Notes:

There has not been a Classic server on Windows for nearly eight years. This one can utilize multiple
processors, something which still eludes the Windows Superserver. Though usable, Classic
should be regarded as experimental.

Здесь скорее всего, придется изменять структуру БД (убирать зарезервированные слова).

Пока этот вариант наиболее предпочтителен, но хотелось бы услышать мнения разработчиков, у которых
есть опыт подобного перевода и работы с 1.5.3.

3) Переход на FB 2.0 RC5 Classic. М-м-м... В настоящее время, к сожалению, еще нет ни релиза,
ни первого service pack. В Release Notes прямо сказано

If you are a novice with Firebird and need "newbie" advice, we recommend that you don't start
your experience here.

К тому же, портирование будет представлять некоторую проблему:
насколько я понимаю, часть запросов, допустимых в IB 4, в Firebird 2 работать не будет.

C другой стороны, вроде бы исправлен ряд багов, в т.ч. приводящих к падению сервера.

В принципе, если 16-разрядный клиент не будет работать с FB/Yaffil, то можно поднять 2 сервера и
потихоньку перевести клиента хотя бы на Delphi 3.

Прошу уважаемое сообщество высказать свое мнение.

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Сообщение Dimitry Sibiryakov » 30 окт 2006, 09:41

По-моему, проще всего будет перейти на FB1. В нем обратные несовместимости еще невелики.

Кузнецов Евгений
Сообщения: 144
Зарегистрирован: 16 фев 2006, 22:36

Сообщение Кузнецов Евгений » 30 окт 2006, 11:56

Dimitry Sibiryakov писал(а):По-моему, проще всего будет перейти на FB1. В нем обратные несовместимости еще невелики.
Дело в том, что нужен именно Classic.

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 30 окт 2006, 12:03

И чем же продиктовано подобное жёсткое требование?

Кузнецов Евгений
Сообщения: 144
Зарегистрирован: 16 фев 2006, 22:36

Сообщение Кузнецов Евгений » 30 окт 2006, 12:12

WildSery писал(а):И чем же продиктовано подобное жёсткое требование?
a) Сервер БД двухпроцессорный с 2 Гб ОЗУ, поэтому Superserver здесь использовать нецелесообразно.

б) Стабильность работы. Неоднократно наблюдал падение процесса из-за глюков. В новых версиях их, наверное, меньше, но как-то не хочется рисковать всеми соединениями. Иногда бывает, и неудачный запрос на выборку приходится снимать.

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 30 окт 2006, 12:56

Ставь Linux + FB 1.0.3 CS

Кузнецов Евгений
Сообщения: 144
Зарегистрирован: 16 фев 2006, 22:36

Сообщение Кузнецов Евгений » 30 окт 2006, 13:38

WildSery писал(а):Ставь Linux + FB 1.0.3 CS
Спасибо за совет, но я виндоплавающий :(
Думаю, в Linux будет разобраться не легче, чем модифицировать приложения под FB 1.5/FB 2.

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 30 окт 2006, 14:37

А под виндой в релиз-нотах сказано:
"Though usable, Classic should be regarded as experimental."

Кузнецов Евгений
Сообщения: 144
Зарегистрирован: 16 фев 2006, 22:36

Сообщение Кузнецов Евгений » 30 окт 2006, 15:15

WildSery писал(а):А под виндой в релиз-нотах сказано:
"Though usable, Classic should be regarded as experimental."
Поэтому и спрашиваю - есть ли у кого опыт успешной работы с FB 1.5.3 Classic? Какой вообще Classic под Windows рекомендуется к использованию?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 30 окт 2006, 16:17

Какой вообще Classic под Windows рекомендуется к использованию?
1.5.3.

p.s. WildSery - не мути воду.

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 30 окт 2006, 17:14

Не буду.

Кузнецов Евгений
Сообщения: 144
Зарегистрирован: 16 фев 2006, 22:36

Сообщение Кузнецов Евгений » 30 окт 2006, 21:16

kdv писал(а):1.5.3.
Спасибо! А то я уж было усомнился.

Ответить