После 8 лет разработки доступна (http://www.firebirdsql.org/en/news/firebird-3-0-alpha-1-rele.../) для тестирования первая альфа-версия СУБД Firebird 3.0 (http://www.firebirdsql.org/en/firebird-3-0-0-alpha1/). Новая ветка переписана на языке C++ и отличается переработанной архитектурой, оптимизированной для использования на многоядерных системах. Изначально релиз Firebird 3.0 планировалось выпустить ещё в 2007 году, но из-за нехватки ресурсов разработка затянулась.Из других особенностей (http://web.firebirdsql.org/download/prerelease/rlsnotes/Fire...) Firebird 3.0 можно выделить:
- Новая гибкая система конфигурирования;
- Дополнительные модели аутентификации;
- Поддержка агрегирования прав доступа;
- Внешние хранимые процедуры, триггеры и функции (на Java, C++ и других языках);
- Возможность определения пользовательских PSQL функций и DDL триггеров;
- Средства для подключения расширений для мониторинга;
- Возможность задания таймаута, ограничивающего время выполнения запроса.
URL: http://www.firebirdsql.org/en/news/firebird-3-0-alpha-1-rele.../
Новость: http://www.opennet.me/opennews/art.shtml?num=37585
ни фига себе затяжка =)
Главное качество кода.
А могли бы взять питон, и 3-я версия была бы готова в году так 2008-2009.
Или BASH - тогда к 2005, на год раньше старта :)
Нормуль, как есть, эта бд отличная штука, могли бы и не улучшать. :)
Фантастическая бд!
> Нормуль, как есть, эта бд отличная штука, могли бы и не улучшать.
> :)
> Фантастическая бд!А чего в ней фртрнтического?
Ну она как бы покруче постгреса была еще в бородатом году. Блокировки на уровне записей и т.д.
> Ну она как бы покруче постгреса была еще в бородатом году.
> Блокировки на уровне записей и т.д.А почему я до сих пор на MySQL'е?
1. Либо тебе хватает
2. Либо ты просто другого не знаешь. Вытекает собственно из 1-го.
Ненависть к борланду
> Ненависть к борландуПойдем, повесимся по этому поводу? :))))))))))))
> Ненависть к борландуОтнюдь.
С Дельфей я сползал долго и неохотно.
Я фанат Борланда.
>Новая ветка _переписана_ на языке _C++_ и отличается _переработанной_архитектурой_, оптимизированной для _использования_на_многоядерных_системах_.И что там осталось от того Borland InterBase 4 ?
> И что там осталось от того Borland InterBase 4 ?От того Borland InterBase 6 ? :)
Что у ей реально WAL имеется? Как настроить?
>Изначально релиз Firebird 3.0 планировалось выпустить ещё в 2007 году
> ни фига себе затяжка =)Тут еще и игра слов, на самом деле версии 2.1 и 2.5 нифига не багфиксы 2.0, а вполне самостоятельные ветки, их можно было нумеровать как 3 и 4, было бы желание, но авторы решили как решили. На работу это не влияет. :)
а что, оно нужно?
На нем до сих пор зарабатывают. Есть кучи не слишком требовательных приложений под венду, которым чего-то такое надо. Но им и предыдущая версия ок.
Насчёт не слишком требовательных это вы от незнания наверное...
Да, тоже интересно, нужно ли вообще кому-то, кроме тех кто на старых дельфях до сих пор пишет...
Нужно. Пишу как на на "старых дельфях", так и на новых php. И все работает!
> Да, тоже интересно, нужно ли вообще кому-то, кроме тех кто на старых
> дельфях до сих пор пишет...При чем тут дельфи? файрберд эт ж бэкэнд, он у нас на 64битном центосе вертится, а на чем мордашка написана ему пофиг.
А в чём её преимущества по сравнению c MySQL и Postgre? Почему её выбрали?
(не троллинг, правда интересно).
> А в чём её преимущества по сравнению c MySQL и Postgre? Почему
> её выбрали?
> (не троллинг, правда интересно).По сравнению с MySQL у нас интересней функционал(полноценная работа с транзакциями, писатели не мешают читателям, читатели вообще не мешают никому, селективные хранимые процедуры, которые можно джойнить), Postgre, да, прямой конкурент, и не будь 10+ опыта работы с файрбердом, то кто знает, может и Postgre бы выбрал, но Postgre для меня темная лошадка.
Мое мнение будет однобоким, файрберд нравится, распределенную систему с дюжиной баз на репликации с размерами измеряемыми десятками гигабайт каждая вертит спокойно. С ситуацией когда "SQL сервер не сдюжил" до сих пор сталкиваться не приходилось.
>По сравнению с MySQL у нас интересней функционал(полноценная работа с транзакциями...Из криокамеры вылезаем. MyISAM уже даже не дефолтный движок в MySQL.
>>По сравнению с MySQL у нас интересней функционал(полноценная работа с транзакциями...
> Из криокамеры вылезаем. MyISAM уже даже не дефолтный движок в MySQL.InnoDB не полностью ACID, показать лог сервера про то что в триггерах нельзя из последней MariaDB? ДА а где там хранимки? не говоря уже о автономных транзакциях внутри их?
> По сравнению с MySQL у нас интересней функционалИнтересный критерий. Такого не встречал еще.
> Мое мнение будет однобоким, файрберд нравится, распределенную систему с дюжиной баз на репликации с размерами измеряемыми десятками гигабайт каждая вертит спокойно.
У нас MySQL оперирует БД размером в 40 Тб.
> А в чём её преимущества по сравнению c MySQL и Postgre?Например: В Firebird в хранимых процедурах вы не можете обращаться к не валидным метаданным. Т.е. не можете написать запрос select * from NONEXISTENTTABLE. Также, если вы упомянули колонку в процедуре, вы не можете её дропнуть. Т.е. что-то вроде внешних ключей для метаданных. Это злодейски облегчает тестирование. Особенно, если есть if else логика разветвлённая. Ну, разумеется, если вы тестируете свои произведения. Также процедуры компилируются, что позволяет удалить исходный код при поставке клиенту. И выполняются быстрее. Я был в бешенстве, когда в MySQL перепутал select request_count from users и select requests_count from users в хранимке в mysql Нормальные СУБД такое не Допускают (с)
Офигенный инструмент для редактирования базы: IB Expert. Ни для MySQL, ни для Postgre ничего не могу найти даже близкое по качеству и продуманности.
Единственное, что меня в ней напрягает по настоящему, так это то, что Firebird не работает как standalone сервер под моей любимой FreeBSD, тока под виндой и под линуксами всякими
> Firebird не работает как standalone сервер под моей любимой FreeBSDВ смысле только через inetd/xinetd, хотя может уже чего поменялось
>> Firebird не работает как standalone сервер под моей любимой FreeBSD
> В смысле только через inetd/xinetd, хотя может уже чего поменялосьпод FreeBSD только классик.
Собственно и под линуском крутим через xinetd, проблемы тут не вижу.
В тройке масса подвижек как раз по суперклассик архитектуре, чтоб сервер работал "сам" и параллелил исполнение запросов по ядрам процессоров.
Да, любимая в этом форуме FreeBSD не является поддерживаемой официально, но исходники доступны, компилируются под FreeBSD и имеются отзывы о работе в таком окружении.
> Также процедуры компилируются, что позволяет удалить
> исходный код при поставке клиенту.Это неуловимый Джо, не более того.
> Офигенный инструмент для редактирования базы: IB Expert.
Тут есть и оборотная сторона медальки... уже выросло, наверно, целое поколение, которое "ниасилит" написание простейшего запроса руками. У эксперта тоже хватает своих тараканов, за его редактирование напрямую системных таблиц зуб точит не один его пользователь. Но тут он компенсировал недоступность некоторых функций в движке. В неумелых руках все равно как "обезьяна с гранатой".
> Это неуловимый Джо, не более того.Нет, это возможность защитить часть своей работы от кражи. В моём случае - большУю часть
> Тут есть и оборотная сторона медальки...
Для тех, кто деньги зарабатывает, а не расчёсывает своё ЧСВ древними навыками, тут нету никакой обороной стороны. И с системными таблицами никаких проблем не было. Сижу на эксперте со времён ещё буржуйского Marathon'a
> "ниасилит" написание простейшего запроса руками.
Причём тут это ? Я в эксперте в удобной среде пишу запросы руками. То, что мне "create procedure" каждый раз не приходится вручную писать, никакого дискомфорта не вызывает.
В эксперте один побочный эффект - привыкнув к нему, любой другой похожий софт выглядит убого и неудобно
>> Это неуловимый Джо, не более того.
> Нет, это возможность защитить часть своей работы от кражи. В моём случае
> - большУю частьБлажен, кто верует, но я бы сильно не закладывался, BLR реверсится относительно легко.
Если будет ради чего, то отреверсят, разве что комментарии не поднимутся.
Да и глянув по депенденсам откуда хп тянет данные и результат который дает может и не понадобится лезть добывать сам запрос.>> Тут есть и оборотная сторона медальки...
> И с системными таблицами никаких проблем не было.Блажен, кто верует. :)
> Офигенный инструмент для редактирования базы: IB Expert. Ни для MySQL, ни для Postgre ничего не могу найти даже близкое по качеству и продуманности.Это видел? http://www.devart.com/ru/dbforge/mysql/studio/
> Это видел? http://www.devart.com/ru/dbforge/mysql/studio/Да. Оно у меня через ssh ходить отказалось, притом, что все остальные утилиты без проблем работают. Даже ролик посмотрел на YouTube, где детским голосом объясняют как его настраивать - не помогло. Никогда я ещё не видел настолько криво сделанного ssh туннеля к mysql
>> А в чём её преимущества по сравнению c MySQL и Postgre?
> Офигенный инструмент для редактирования базы: IB Expert. Ни для MySQL, ни для
> Postgre ничего не могу найти даже близкое по качеству и продуманности.ИМХО хвалимый ораклистами PLSQLdeveloper до IBExpert-а не дотягивает очень по многим показателям, правда не стоит забывать что IBExpert бесплатен только для ex-USSR и только под win :(
> А в чём её преимущества по сравнению c MySQL и Postgre? Почему
> её выбрали?
> (не троллинг, правда интересно).MySQL Для нормальных задач документооборота это ещё то извращение, вообще не заточена, она опитимальна как база на чтение в режиме key-value, каскадные обновления, триггеры, да даже ACID в том же Inno-DB исполняется частично.
> Да, тоже интересно, нужно ли вообще кому-то, кроме тех кто на старых
> дельфях до сих пор пишет...Переход с одного - Клиппера - на другое - Файерберд - был вполне закономерен в процессе перехода с MS-DOS на Windows 95, особенно если начальник в свое время (конец 80-х годов) при переходе с Фортрана выбрал не правильный Си, а Паскаль. А посему был немало удивлен двумя обстоятельствами, что Файерберд:
1. Еще жив.
2. Кому-то нужен.Впрочем, встречал один проект, в котором до сих пор в системных требованиях значится Windows 98. И ведь продают. Нет, это не приложения для операторов "Почты России". Это имеет отношение к автоматизации библиотек.
>1. Еще жив.Жив. Даже развивается, хоть и не слишком быстро. И да, от IB 6.0 там уже мало что осталось.
>2. Кому-то нужен.
ЖКХ — есть программные комплексы энергоучёта хранящие данные в Firebird.
РЖД — системы управления станциями хранят историю, опять же, в Firebird.Это то, что удалось вспомнить навскидку...
Сделал на производстве базу уже скоро лет так ... семь назад. Работала сначала на interbase, затем перевел на Firebird. Работает годы в фоне, горя не знаю. Очень отличная база. Сомневающимся в нужности базы - вспомните историю для чего она создавалась :)
Вы про ее "танковую" историю или про прародителя -- DEC Rdb?
Про самолетостроительную часть. Хотя оказывается я и сам не всю историю ее знаю ... Но СУБД действительна хороша.
> Сделал на производстве базу уже скоро лет так ... семь назад. Работала
> сначала на interbase, затем перевел на Firebird. Работает годы в фоне,
> горя не знаю. Очень отличная база. Сомневающимся в нужности базы -
> вспомните историю для чего она создавалась :)Загадками говорите. И для чего же?
Может, заняться уже делом? Называется просто LAMP.
В новости малеху неточный перевод.
Это со времен царя гороха:
>Возможность задания триггеров, срабатывающих при удалении или изменении данных;фраза в релизнотах:
The purpose of a “DDL trigger” is to enable restrictions to be placed on users who attempt to create, alter or
drop a DDL objectРечь о триггерах на метаданные.
о ! хорошая новость.
самая лучшая опенсорс SQL DB.
есть и блекджек и все остальное - ACID, реалтайм, сурьезные BLOB-ы, нормальный диалект SQL, чудесный препроцессор/компилятор хранимых процедур и ddl(скорость - соотв. как у бинарников), оптимистичная блокрировка(твикается), нормальный IO.
из минусов - органические продолжения плюсов - тк это SQl, то оно не распределенное, к примеру.
p.s.
неофитам: изначально сабж звался FireFox[после того как сообщество форкнуло ненадолго приоткрытые сырцы InterBase-а], но после talks-ов с Mozilla - поменяли название.
> неофитам: изначально сабж звался FireFox[после того как сообщество форкнуло ненадолго
> приоткрытые сырцы InterBase-а], но после talks-ов с Mozilla - поменяли название.Гы. Всё ровно наоборот было: У Mozillы быт Thuderbird и Firebird (две птицы. Вообще идея козырная), и Firebird (который броузер) Firefoxом стал.
>неофитам: изначально сабж звался FireFox[после того как сообщество форкнуло ненадолго приоткрытые сырцы InterBase-а],да ты сам неофит, я постгри несколько лет юзал до того момента как фф вообще появился
> я постгри несколько лет юзал до того момента как фф вообще появилсяСмотря как считать.
Разработка PostgreSQL, согласно данным википедии, началась в 1986 году.
Borland открыла сорцы InterBase 6, форком которой является Firebird, в 2000-ом. А вот сама InterBase развивается с 1984 года.Так что, смотря как считать...
не "наоборот", а именно так. расказанное иначе.
Чем лучше mongodb + nodejs?
Не нужно сравнивать теплое с мягким.
"лучше" Mnesia+N2O.
и иже.
146% !!
А в этой версии зафиксали "фичу" создания невосстановимого бэкапа? Это когда делаем бэкап - все ок. Восстанавливаем, делаем селекты и тут СУБД начинает ругаться на неконсистентные данные.А то знакомый Firebird-ник был сильно удивлен, когда узнал, что в других СУБД (PostrgeSQL, Oracle, MS SQL server) бэкапы всегда восстановимы.
> А в этой версии зафиксали "фичу" создания невосстановимого бэкапа? Это когда делаем
> бэкап - все ок. Восстанавливаем, делаем селекты и тут СУБД начинает
> ругаться на неконсистентные данные.
> А то знакомый Firebird-ник был сильно удивлен, когда узнал, что в других
> СУБД (PostrgeSQL, Oracle, MS SQL server) бэкапы всегда восстановимы.если ODS корруптнулся или бэкап-утилита использовалась несовместимая с текущим ODS - бывает.
> А в этой версии зафиксали "фичу" создания невосстановимого бэкапа?Эта "фича" возникала и возникает, когда "очень умный" клиент лезет править руками системные таблицы, например вкорячить столбцу "not null", прямой правкой системных таблиц, тот же ибэксперт этим грешит напропалую. Идет к тому, что править системные таблицы вообще запретят, не исключено, что в тройке.
Да, утилита gbak это скорее средство миграции/пересоздания БД, для собственно инкрементарного бэкапа есть еще одна утилита nbackup, она вообще по другому принципу работает.
> Восстанавливаем, делаем селекты и тут СУБД начинает
> ругаться на неконсистентные данные.На сам деле гораздо раньше начинается ругань.
> А то знакомый Firebird-ник был сильно удивлен, когда узнал, что в других
> СУБД (PostrgeSQL, Oracle, MS SQL server) бэкапы всегда восстановимы.Бэкап может побиться у кого угодно, где угодно и в любой момент. Поэтому все их хранят в виде нескольких копий на некоторую глубину, например по дням недели.
В MySQL делается дамп. Для восстановления базы - обратная процедура. Какое отношение ко всему этому имеет "ручная" правка чего-либо? Сняли дамп - накатили дамп. Что было, то и стало.Скажите лучше, что в Firebird бэкапа нет. Хорошая будед реклама.
вы даже не поняли о чём речь
> вы даже не поняли о чём речьОн знает единственный вид бэкапа - экспорт/импорт. Про физический бэкап он даже не слышал никогда.
Вот такие нимусы-грамотеи и лепят поделки, которые обваливаются через 3 дня после окончания гарантии. И глупый юзер бесконечно платит. Дамп в кроне на 12 часов ночи на сетевое хранилище - и все, забудь про остальные фичи.
> В MySQL делается дамп. Для восстановления базы - обратная процедура. Какое отношение
> ко всему этому имеет "ручная" правка чего-либо? Сняли дамп - накатили
> дамп. Что было, то и стало.
> Скажите лучше, что в Firebird бэкапа нет. Хорошая будед реклама.Такое есть nbak. тот же дамп инкрементный, если вы чего-то не знаете это не значит что этого нет.
gbak другая идея, это по смыслу в одной снапшот транзакции ( у MySQL дамп уже в снапшоте? или как получится ;) ) в нём создаётся копия данных в формате в собственном формате, смысл которого - сжатая версия простого набора SQL команд, и потом восстановление простыми SQL запросами по сути.
Данный способ бэкапа как раз помогает определить что с данными что то случилось ( да хоть сбой IO и в фс ). Делается бэкап и рестор на другой сервер, если рестор не прошёл ( что за последнее 4 года было 2 раза оба из-за того что not-null на столбцы ставили в рабочей системе ( по другому никак было ) сразу становится ясно в чём проблема.
Кэша результатов запросов так и нет?
У клиента стоит специальная программа для работы с оборудованием
Использует interbase 2009, при этом дико тормозит, а сама база жалких 200 МЕГАбайт
Посмотрел через wireshark какие запросы идут. А штатный профайлер вообще существует?
Запросы с кучей вложенных подзапросов к вьюхам, в которых еще куча подзапросов. Поубивал бы программистов родивших такой код.
Клиентская программа без исходников, связи с создателями и обновлений нет.
Пробовал протестировать базу на новом сервере, время ожидания результатов запроса 18 секунд против 20 на старом.
Пробовал мигрировать на firebird 2.5. База вроде создается, но половины данных нет, возникает какая-то ошибка при восстановлении.
Кто что может посоветовать?
Ты сам-то ответ знаешь? Переходи на MySQL. Если база небольшая и клиентов немного, рассмотри Oracle XE 10-й версии.
Расскажите как перейти на другую БД, если софт на клиентах нельзя менять.
> Расскажите как перейти на другую БД, если софт на клиентах нельзя менять.ODBC?
Умен, чертяга!
>> Расскажите как перейти на другую БД, если софт на клиентах нельзя менять.
> ODBC?это если только программы изначально работают через ODBC, а если напрямую подключаются?
и да, некоторые программы используют синтаксис для специфичной БД,
select top 50 * from table
в mySQL уже не работает
> Ты сам-то ответ знаешь? Переходи на MySQL. Если база небольшая и клиентов
> немного, рассмотри Oracle XE 10-й версии.Если у него запрос с базы в 200 метов 20 секунд, то ему уже ничто не поможет ;).
>> Ты сам-то ответ знаешь? Переходи на MySQL. Если база небольшая и клиентов
>> немного, рассмотри Oracle XE 10-й версии.
> Если у него запрос с базы в 200 метов 20 секунд, то
> ему уже ничто не поможет ;).вот вот, а клиент копытом стучит, подавай скорость и все тут.
И как это описанное относится с достоинствам или недостаткам FB? Умелыми руками можно и Oracle заставить делать все описанное с жалкой
> И как это описанное относится с достоинствам или недостаткам FB? Умелыми руками
> можно и Oracle заставить делать все описанное с "жалкой"(извиняюсь) базой в 200 Мегабайт.
> И как это описанное относится с достоинствам или недостаткам FB? Умелыми руками
> можно и Oracle заставить делать все описанное с жалкойВ Оракле все это встроено и включено by default. Да-а-а-авным - давно.
> Кэша результатов запросов так и нет?А это не показатель. Открою тайну - у постгреса тоже нет кэша запросов. Потому что это не задача СУБД.
>> Кэша результатов запросов так и нет?
> А это не показатель. Открою тайну - у постгреса тоже нет кэша
> запросов. Потому что это не задача СУБД.Oracle 11g с тобой не согласен.
>>> Кэша результатов запросов так и нет?
>> А это не показатель. Открою тайну - у постгреса тоже нет кэша
>> запросов. Потому что это не задача СУБД.
> Oracle 11g с тобой не согласен.Безусловно, я высказал только свое мнение.
Но если я правильно понял, почитав по диагонали доку, в оракле по дефолту кэш отключен и надо явно указывать в запросе, что ты хочешь/не хочешь работать с кэшем. Наверное, можно включить его глобально для всей БД/таблицы.
>>> Кэша результатов запросов так и нет?
>> А это не показатель. Открою тайну - у постгреса тоже нет кэша
>> запросов. Потому что это не задача СУБД.
> Oracle 11g с тобой не согласен.Там столько накостылено по запросам больших клиентов, что иногда диву даёшься как такое можно вставить в систему, но при этом банальных вещей по стандарту нет...
На вскидку: Varchar2 и отсутствие first ( top ) в синтаксисе SQL, что приводит к офигенному геморрою при написании запросов на выборку первых n строк в отсортированном запросе
ну если "...where rownum < n..." это офигенский геморой :-\
> ну если "...where rownum < n..." это офигенский геморой :-\RowNum с сортировкой не работает и вместо простого
<pre>
select first /*top*/ 10 t.field
from table t
where t.param = :param
order by t.ordr
</pre>
надо писать либо
<pre>
select field
from ( select t.field
from table t
where t.param = :param )
where rownum() < 10
</pre>
Либо как ещё десятком способов....
>[оверквотинг удален]
> <pre>
> select field
> from ( select t.field
> from
> table t
> where
> t.param = :param )
> where rownum() < 10
> </pre>
> Либо как ещё десятком способов....А ещё у него любой ddl запрос коммитит текущую транзакцию, этакая фишка...
Так где геморой-то?Офигенский тем более?
Ораклю надо читать про ACID и нормализацию БД - до полного и окончательного просветления.
ну и еще про теорию и историю SQL, как такового и первопричины его создания и использования.
но вот как раз с софтверными инженерами - у них негусто. незадерживаются они в компании.
и слово "CASE" стало ругательным у начальства и coding monkeys. не сразу но яростно.
и трагично для их клиентов.
интересно, а чья же?
> интересно, а чья же?Уровня приложения. Частично ускорению выполнения повторной выборки помогает кэш ФС.
Либо, если кэш действительно объективно нужен, можно с помощью расширений подключить мемкеш на уровне сервера постгрес. Так или иначе, задача субд обеспечить работу с данными, а механизмы кэширования слишком сильно зависят от решаемой задачи и лучше их реализовывать на стороне приложения.
Повторюсь, это мое мнение и я лишь хотел заметить, что наличие/отсутствие кэша запросов - это только свойство конкретной субд, это не + и не -
>> интересно, а чья же?
> Уровня приложения. Частично ускорению выполнения повторной выборки помогает кэш ФС.
> Либо, если кэш действительно объективно нужен, можно с помощью расширений подключить мемкеш
> на уровне сервера постгрес. Так или иначе, задача субд обеспечить работу
> с данными, а механизмы кэширования слишком сильно зависят от решаемой задачи
> и лучше их реализовывать на стороне приложения.
> Повторюсь, это мое мнение и я лишь хотел заметить, что наличие/отсутствие кэша
> запросов - это только свойство конкретной субд, это не + и
> не -а кто кроме СУБД сможет ответить изменились данные между запросами?
> а кто кроме СУБД сможет ответить изменились данные между запросами?В *некоторых* случаях само приложение.
Такой случай это когда в БД может лазить только приложением и никто больше. Либо когда все приложения (весь кластер) работают с синхронизированным кэшем.
Задается политикой компании ;)
>> а кто кроме СУБД сможет ответить изменились данные между запросами?
> В *некоторых* случаях само приложение.
> Такой случай это когда в БД может лазить только приложением и никто
> больше. Либо когда все приложения (весь кластер) работают с синхронизированным кэшем.
> Задается политикой компании ;)Да, можно, но это очень частный случай
> а кто кроме СУБД сможет ответить изменились данные между запросами?У вас какое-то странное представление о кэшировании. Если субд будет проверять - изменились данные или нет, то нафига нужен кэш, если уже получены актуальные данные?
>> а кто кроме СУБД сможет ответить изменились данные между запросами?
> У вас какое-то странное представление о кэшировании. Если субд будет проверять -
> изменились данные или нет, то нафига нужен кэш, если уже получены
> актуальные данные?У Оракла есть, он на всякие там результаты view ставит пометку на результат о валидности, пока пометка не снята, он не пересобирает запрос и берёт из кэша, вещь в принципе не имеющая большого смысла для сферы применения firebird
> Пробовал мигрировать на firebird 2.5. База вроде создается, но половины данных нет,
> возникает какая-то ошибка при восстановлении.
> Кто что может посоветовать?Я как-то сталкивался с похожими симптомами при миграции. В нашем случае оказалось, что в более свежем релизе FirebirdSQL появились новые зарезервированные слова, типа ABS, которые раньше были частью UDF-библиотеки. Возникал конфликт.
>> Пробовал мигрировать на firebird 2.5. База вроде создается, но половины данных нет,
>> возникает какая-то ошибка при восстановлении.
>> Кто что может посоветовать?
> Я как-то сталкивался с похожими симптомами при миграции. В нашем случае оказалось,
> что в более свежем релизе FirebirdSQL появились новые зарезервированные слова, типа
> ABS, которые раньше были частью UDF-библиотеки. Возникал конфликт.Когда ничего не помогает, выгружаешь базу в текстовый скрипт (там будут всякие крейт тэйбл, крейт процедура и т.п. и много инсертов), эксперт это умеет делать одной кнопкой. запускаешь и смотришь на какой строчке встанет, анализируешь, меняешь руками скрипт и снова, пока до конца не дойдет. Для первого этапа можно выгрузить только метаданные, это существенно быстрее, когда метаданные станут без проблем создаваться можно лить данные.
Помню, сервак невовремя ребутнули, и эта так называемая СУБД умерла - при запуске начинала брать 100% процессора и ничего не работало. Правда тогда версия 2.0 была...
> Помню, сервак невовремя ребутнули, и эта так называемая СУБД умерла - при
> запуске начинала брать 100% процессора и ничего не работало. Правда тогда
> версия 2.0 была...Вот так вот страшилки и растут, вы бы ещё написали что в дискету воткнули иглу и поэтому вдруг dos с неё загружался, а Norton-Commamder перестал :)
Лет пять уже работаю с PostgreSQL и года три (эпизодически) с Firebird. PostgreSQL всегда успешно переживал некорректное отключение оборудования, и бэкапы всегда были в порядке.
С Firebird были казусы с некорректным отключением и бэкапами.
> Лет пять уже работаю с PostgreSQL и года три (эпизодически) с Firebird.
> PostgreSQL всегда успешно переживал некорректное отключение оборудования, и бэкапы всегда
> были в порядке.
> С Firebird были казусы с некорректным отключением и бэкапами.Блин, это RDBMS, какие, в опу, некорректные отключений питания?! Такого в принципе быть не может!!!
>> Лет пять уже работаю с PostgreSQL и года три (эпизодически) с Firebird.
>> PostgreSQL всегда успешно переживал некорректное отключение оборудования, и бэкапы всегда
>> были в порядке.
>> С Firebird были казусы с некорректным отключением и бэкапами.
> Блин, это RDBMS, какие, в опу, некорректные отключений питания?! Такого в принципе
> быть не может!!!Не буду обсуждать различия между "в принципе быть не может" и реальностью.
К тому же паника ядра на Linux/FreeBSD или синий экран на Windows вполне себе реальная ситуация, по сути и смыслу мало отличается от отключения питания.З.Ы. Даже супернадежный AVR может сдохнуть, и потерять оба ввода на шкаф.
> Помню, сервак невовремя ребутнули, и эта так называемая СУБД умерла - при
> запуске начинала брать 100% процессора и ничего не работало. Правда тогда
> версия 2.0 была...Нечитатели доки такие сказочники. :)
Для не дружащих с логикой объясняю: после того, как базу столь грубо останавливают роллбачится куча транзакций, как следствие версионного движка возникает куча мусора, этот мусор надо прибрать. Надо просто было дать время, но мабыть у вас железо тухлое, вот оно и тормознулось. Возможно самым быстрым вариантом было бы сделать бэкап при при помощи "gbak -b -g ...", потом рестор.
По мусору было много оптимизаций в 2.5. У постгресовцев с вакуумом тоже не сильно лучше. Мусор он вообще дело хлопотное.
Удали в своем любимом оракле значимое кол-во записей, скажем мульёнов десяток, или так же грубо останови, прямо в разгар работы, потом отпишись сколь сильно пинают юзеры. :)
>[оверквотинг удален]
> останавливают роллбачится куча транзакций, как следствие версионного движка возникает
> куча мусора, этот мусор надо прибрать. Надо просто было дать время,
> но мабыть у вас железо тухлое, вот оно и тормознулось. Возможно
> самым быстрым вариантом было бы сделать бэкап при при помощи "gbak
> -b -g ...", потом рестор.
> По мусору было много оптимизаций в 2.5. У постгресовцев с вакуумом тоже
> не сильно лучше. Мусор он вообще дело хлопотное.
> Удали в своем любимом оракле значимое кол-во записей, скажем мульёнов десяток, или
> так же грубо останови, прямо в разгар работы, потом отпишись сколь
> сильно пинают юзеры. :)Да там ещё и винт покрошиться мог и fw отключено быть, много что людям в голову приходит иногда :)
p.s. Тут у хостинга с vps-кой проблемы были, так их спец рубанул vps-ку с небольшой базой на MariaDB и сайтом, так та потом с пол часа оживала на 4-х ядрах и базе в пол гига, и это в базе которая почти вся на чтение...