metaclass: (Default)
[personal profile] metaclass
Вот всю жизнь делаешь что-то, думаешь, что это очевидно, а потом берешь другую СУБД и оказывается, что там все сделано по другому.
Вот, например Postgresql vs Firebird:
1) В первом запросы отсылаются на сервер плейнтекстом, даже отпрепаренные с переменными. Во втором - сначала prepare, потом вызов полученного хендла с массивом параметров(бинарным) сколько надо раз. Впрочем, это может быть и особенность либы для доступа к Postgresql.
2) В первом транзакция одна на коннект, во втором - несколько на коннект.
3) В первом единственная ошибка в запросе в транзакции автоматом делает эту транзакцию невалидной целиком, и не дает ничего сделать до rollback. Во втором - транзакцию можно завершить, можно откатить, можно обработать ошибку и продолжить работать дальше. Не выполнится ровно один запрос. Чтобы имитировать такое в postgresql - нужно делать SAVEPOINT перед каждой query и откатываться на нее при ошибке.

Ну еще можно вспомнить про дотнет-драйвера обоих - в первом запрос-внутри-запроса выполнить невозможно, во втором свободно. Т.е. в postgresql "вычитать все шапки накладных, на каждую шапку вычитывая строки" - делается исключительно через жопие, методом "фетчим весь результат первого запроса, закрываем, затем выполняем второй сколько нужно раз".

Date: 2011-12-27 12:18 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Перформанс чуть меньше среднего по больнице.
Фичей некоторых полезных нет - типа partitioning, репликации нормальной, итд итп. Из фич уровня языка разве что window functions не хватает, остальное весьма хорошо.
Со служебными средствами (человеческие логи, средства мониторинга, утилиты, текстовый бэкап) - печально, разработчики считают что это не нужно и занимаются больше внутренностями БД.
С документацией не очень хорошо. Комьюнити немного самоогороженное, нервничают когда про них пишут.

Очень удобна для мелких-средних проектов, с точки зрения программирования. Серверный код (императивное расширение sql) достаточно логично устроен, компонент доступа чуть более чем дохрена. Средств разработки под нее как бы не больше чем средств эксплуатации.

Date: 2011-12-27 12:45 pm (UTC)
From: [identity profile] j-sheridan.livejournal.com
На "человеческие логи" несколько завис, ибо воображение шустро нарисовало рубленных человеков, сложенных в штабеля ))

Date: 2011-12-29 01:54 am (UTC)
From: [identity profile] fraks-nsk.livejournal.com
Текстовый бэкап нормально получается с помощью IBExpert. Постоянно это дело не юзаю но использовал при переходе с версии на версию, и даже был удивлен скоростью заливки данных из скрипта. Я ожидал что будет намного медленнее.
Однако если сырцы триггеров и процедур из базы удалены - то конечно в таком случае текстовый бэкап не проканает.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Oct. 15th, 2025 02:43 am
Powered by Dreamwidth Studios