powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Чем PostgreSQL хуже MS SQL?
25 сообщений из 191, страница 4 из 8
Чем PostgreSQL хуже MS SQL?
    #35324711
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan) пишет:

> *REDO* логи безусловно пишутся синхронно (если не учитывать асинхронный
> commit, который следует придать анафеме),

(как бы рассуждаю в слух)
Если бы не писались, то измененные закомиченные данные,
оставшиеся в памяти при сбое (выключение питания напр),
терялись бы.

но к *UNDO* или *RBS* они
> имеют отношения лишь постольку, поскольку защищают произведенные в UNDO
> изменения при фиксации транзакции.
> Сам же UNDO пишется ровно также как и все остальные *сегменты* данных

Если мы не пишем UNDO часть лога синхронно с commit/rollback,
то страницы данных, которые изменены незакоммиченной транзакцией,
но уже сброшены на диск (допустим что это возможно), при сбое
испортят базу.

В таком случае нельзя сбрасывать страницы данных, помеченные
грязными незакоммиченными транзакциями. А это значит, что
все данные должны висеть в памяти до коммита/роллбэка.
А это значит, что при малом размере кэша и большом размере
транзакции они туда не влезут.

Возможно, я что-то действительно не понимаю, но кажется так.
Думаю, не все СУБД делят логи на UNDO и REDO.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Чем PostgreSQL хуже MS SQL?
    #35324880
Зл0й
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad Зл0й hvladВнимание, вопрос : а где указание на прямую зависимость между дизайном одной подсистемы и производительностью целой системы ?

Ну так, а напряжометр на что? Померить сколько происходит i/o может любой мало-мальски грамотный администратор СУБД, обладающий хотя бы минимальными навыками системного администрирования. Если у вас на диске "бардак валяется" в виде многочисленных версий записи, то поскольку все современные (не мэйнфреймовые) ОС читают-пишут или блоками или группами блоков, то постгрес будет тащить в оперативную память кучу никому не нужного мусора. При типичных задачах большинство современных СУБД "затыкаются" именно на том что пропускной способности i/o подсистемы не хватает. Тут ежу понятно что происходит, никакой "ракетной науки" как говорится.Это всё не так прямолинейно, как хотелось бы. Есть ODS, а есть конкретные релизации, работающие с ней. Хаять ODS из-за не эффективного кода не совсем хорошо.

Я в общем-то хаял не конкретную реализацию этого хозяйства в PG, а идеологию того как MVCC в нем поддерживается. Идея на мой взгляд совершенно тухлая, и как вы ее реализацию не вылизывайте, как не оптимизируйте код, результат будет хреновый.

hvlad
Ну а если уж ODS настолько крива, что эффективный код с ней написать не возможно, то тогда её меняют.

О чем собственно и речь. На мой взгляд "кривизна" этой идеи очевидна. Только вряд ли кто-то исправлением этой кривизны будет заниматься - придется много чего переписать.

hvlad
Но я не советую называть слепыми идиотами тех, кто достаточное кол-во лет посвятил разработке именно такой ODS и работе с ней. Они прекрасно понимают её недостатки и достоинства и видят несколько больше нюансов, здесь даже не упоминаемых.

Я никого идиотом не называю. Идиотская идея. Даже такому известному и авторитетному специалисту как Майкл Стоунбрэйкер бывают в голову приходят завиральные идеи. Ни в одной из СУБД над которыми он работал, ни до ни после PG он эту идею не использовал. Ни Ingres ни Illustra ни Informix не имеют такого. Они вообще помоему MVCC не поддерживают.

hvlad
Я не знаю деталей ODS в PG, но могу делать предположения, исходя из своего скромного опыта работы над FB.

FB неплохая СУБД но она пока еще не доросла до того уровня когда хранение данных по принципу "бардак валяется" станет проблемой. Дай Бог чтобы она доросла до этого уровня, тогда вам придется с этой проблемой воевать.


hvlad
Зл0йА зачем версионность на уровне записи если с диска читаем и пишем блок (или кучу блоков за один системный вызов)? Не про блокировку ведь речь.Дабы меньше этих блоков нужно было писать, читать и держать в памяти.

То есть мы притащили с диска блок с дюжиной записей, достали пару-тройку нужных нам сейчас записей, положили их в кэш а остальное выкинули чтобы не хранить почем зря в памяти? Что-то у меня производительность и дальновидность такого подхода вызывает определенные сомнения. Особенно учитывая что самый критический для производительности большинства современных СУБД ресурс - это i/o, в него упираются чаще всего. А память вещь недорогая, у меня в ноутбуке ее 4 гига. Производительность процессоров и объемы оперативной памяти растут гораздо быстрее чем скорость дисков.

hvlad
Зл0йНу так сравнивать же с чем-то надо.Сравнивать - это хорошо. Но делать выводы про A, на основе знаний о B - как минимум не корректно.
Ну почему же, я когда с мотоцикла Урал сажусь на полицейский мотоцикл Kawasaki KZ1000P то сравнение как-то само собой получается не в пользу Урала. Потому что 88 л.с. против 36 и двухдисковый передний тормоз против барабанного разработки 1939г. Достаточно пару раз прокатиться и сразу все понятно. С СУБД такая же фигня. Мне очень хочется иметь высокопроизводительную оупенсорсную СУБД. Я не зацикливаюсь на Oracle с DB2. К сожалению по опыту "езды" PG - это Урал-совнархоз а Оракл это Yamaha R1 (современный литровый супербайк). Если PG перестанет быть Уралом и дотянется хотя бы до уровня японских мотоциклов 80х годов я с большим удовольствием буду его использовать.
...
Рейтинг: 0 / 0
Чем PostgreSQL хуже MS SQL?
    #35325004
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
Возможно, я что-то действительно не понимаю, но кажется так.
Думаю, не все СУБД делят логи на UNDO и REDO.


Разумеется, все изменения синхронно фиксируются в REDO, включая изменения в UNDO, необходимые для откатов и версионности. Фишка в том, что REDO ВСЕГДА пишется последовательно, никогда не используется для каких либо откатов и обычно расположен не на том-же устройстве, что и данные. REDO используетрся только для recovery и ни для чего больше.
Версионность (на уровне блоков) обеспечивается UNDO (таким же сегментом, как и сегменты данных), изменения в котором также защищены REDO-логом. Идеальных решений разумеется не бывает, но мне лично такая архитектура нравится (несколько больше чем версионнсть от MS SQL или скажем IB).
...
Рейтинг: 0 / 0
Чем PostgreSQL хуже MS SQL?
    #35325582
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зл0й hvlad
Зл0йА зачем версионность на уровне записи если с диска читаем и пишем блок (или кучу блоков за один системный вызов)? Не про блокировку ведь речь.Дабы меньше этих блоков нужно было писать, читать и держать в памяти.

То есть мы притащили с диска блок с дюжиной записей, достали пару-тройку нужных нам сейчас записей, положили их в кэш а остальное выкинули чтобы не хранить почем зря в памяти? Что-то у меня производительность и дальновидность такого подхода вызывает определенные сомнения. Особенно учитывая что самый критический для производительности большинства современных СУБД ресурс - это i/o, в него упираются чаще всего. А память вещь недорогая, у меня в ноутбуке ее 4 гига. Производительность процессоров и объемы оперативной памяти растут гораздо быстрее чем скорость дисков.При редактировании нескольких записей на одной странице легко представить себе случай, когда у нас получится столько версий страницы, сколько записей было изменено (например есть тр-ции, заинтересованные в каждой изменённой записи).
Всё это хозяйство нужно держать в памяти, писать на диск и т.п. Т.е. тут проигрыш и по памяти и по IO.
FB положит на исходную страницу столько бэкверсий записей, сколько сможет, остальные положит на другую страницу. Т.к. бэкверсии чаще всего в виде сжатых дельт от основной версии, то достаточно вероятно, что всего на диск пойдёт не более 2-х страниц.

Зл0й hvladСравнивать - это хорошо. Но делать выводы про A, на основе знаний о B - как минимум не корректно.
Ну почему же, я когда с мотоцикла Урал сажусь на полицейский мотоцикл Kawasaki KZ1000P то сравнение как-то само собой получается не в пользу Урала. Аналогия, как и большинство аналогий, не корректна. Давай сравним водный и наземный мотоциклы ? Или скутер и самосвал :)
...
Рейтинг: 0 / 0
Чем PostgreSQL хуже MS SQL?
    #35325675
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad
Всё это хозяйство нужно держать в памяти, писать на диск и т.п. Т.е. тут проигрыш и по памяти и по IO.
FB положит на исходную страницу столько бэкверсий записей, сколько сможет, остальные положит на другую страницу. Т.к. бэкверсии чаще всего в виде сжатых дельт от основной версии, то достаточно вероятно, что всего на диск пойдёт не более 2-х страниц.

фигасе проигрыш. Оракл поставит в очередь сброс блоков на диск и DBRW когда сочтет нужным их запишет, FB же бросив все начнет юлозить головками, чтоб записать эти дельты, потом в связи с тотальным отсутствием кеша будет юлозить головки, чтоб считать ТЕ ЖЕ блоки (большая часть записей в которых не вычещеный мусор), ну и до кучи сборка мусора юудет юлозить головками, чтоб вычистить оригинальные записи.
...
Рейтинг: 0 / 0
Чем PostgreSQL хуже MS SQL?
    #35325716
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет, Yo.!!
Ты пишешь:

Yo.!Y> фигасе проигрыш. Оракл поставит в очередь сброс блоков на диск и DBRW
Y> когда сочтет нужным их запишет, FB же бросив все начнет юлозить головками,
Y> чтоб записать эти дельты, потом в связи с тотальным отсутствием кеша будет
Y> юлозить головки, чтоб считать ТЕ ЖЕ блоки (большая часть записей в которых
Y> не вычещеный мусор), ну и до кучи сборка мусора юудет юлозить головками, чтоб
Y> вычистить оригинальные записи.да, да, расскажи разработчику FB, что там и как в FB.
купи булочку и жуй, не раскрывая рта.
фантазёр, мля.

--
With best regards, Мимопроходящий.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Чем PostgreSQL хуже MS SQL?
    #35325909
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторно мне лично такая архитектура нравится (несколько больше чем версионнсть от MS SQL или скажем IB).
сильно сомневаюсь, что версионность в MS SQL сделана похожим образом как в IB/FB. Уж скорее как в Oracle.
...
Рейтинг: 0 / 0
Чем PostgreSQL хуже MS SQL?
    #35325956
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!
Оракл поставит в очередь сброс блоков на диск и DBRW когда сочтет нужным
их запишет

А запишет ли он их и когда - оракула, стало быть, не волнует. Мило.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Чем PostgreSQL хуже MS SQL?
    #35326021
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov
Yo.!
Оракл поставит в очередь сброс блоков на диск и DBRW когда сочтет нужным
их запишет

А запишет ли он их и когда - оракула, стало быть, не волнует. Мило.
Posted via ActualForum NNTP Server 1.4
блин еще один. с какой стате DBRW это должно волновать ? для DBRW UNDO ничем не отличается от файлов данных, чья целостность гарантируется ЛОГОМ ТРАНЗАКЦИЙ (REDO)

kdv
сильно сомневаюсь, что версионность в MS SQL сделана похожим образом как в IB/FB. Уж скорее как в Oracle.
там еще смешнее, они не стали мешать данные и версии, они их смешали с сортировкой, временными таблицами, курсорами и прочая, что свалив версии в tempdb. и сборку мусора (версий) из tempdb никто не отменил, на ораловую модель обсалютно не похоже ....
...
Рейтинг: 0 / 0
Чем PostgreSQL хуже MS SQL?
    #35326031
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv авторно мне лично такая архитектура нравится (несколько больше чем версионнсть от MS SQL или скажем IB).
сильно сомневаюсь, что версионность в MS SQL сделана похожим образом как в IB/FB. Уж скорее как в Oracle.

Скорей уж как в MS SQL
Сроду не было в Oracle такого маразму как версионность уровня строк на полбазы :)
...
Рейтинг: 0 / 0
Чем PostgreSQL хуже MS SQL?
    #35326065
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!
для DBRW UNDO ничем не отличается от файлов данных, чья целостность
гарантируется ЛОГОМ ТРАНЗАКЦИЙ (REDO)

Который, конечно же, идёт в обход DBRW - прямо на головки, мозолящие диск.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Чем PostgreSQL хуже MS SQL?
    #35326174
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov
Который, конечно же, идёт в обход DBRW - прямо на головки, мозолящие диск.
Posted via ActualForum NNTP Server 1.4
естественно мимо, записью в лог транзакций (REDO) занимается совершенно другой процесс LGWR в совершенно другое время на другое устройство висящем на другом канале ...
...
Рейтинг: 0 / 0
Чем PostgreSQL хуже MS SQL?
    #35326188
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Скорей уж как в MS SQL
Сроду не было в Oracle такого маразму как версионность уровня строк на полбазы :)

Версионность включается не на "пол базы", а для всей бд целиком. А вот возможность с помощью хинтов указать необходимость наложения разделяемых блокировок на отдельные таблицы даже в версионном режиме я бы рассматривал, как дополнительную функциональность.
...
Рейтинг: 0 / 0
Чем PostgreSQL хуже MS SQL?
    #35326346
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinя бы рассматривал, как дополнительную функциональность.

прострелить себе ногу
...
Рейтинг: 0 / 0
Чем PostgreSQL хуже MS SQL?
    #35326435
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)прострелить себе ногу

Можно с примерами кода, а не пустыми репликами?!
...
Рейтинг: 0 / 0
Чем PostgreSQL хуже MS SQL?
    #35327084
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan) пишет:

> Разумеется, все изменения синхронно фиксируются в REDO, включая
> изменения в UNDO, необходимые для откатов и версионности. Фишка в том,
> что REDO ВСЕГДА пишется последовательно, никогда не используется для
> каких либо откатов и обычно расположен не на том-же устройстве, что и
> данные. REDO используетрся только для recovery и ни для чего больше.
> Версионность (на уровне блоков) обеспечивается UNDO (таким же сегментом,
> как и сегменты данных), изменения в котором также защищены REDO-логом.

Извини, не знал, что в ЭТОМ вашем (не знаю, что уж это) ведётся ДВА ЛОГА.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Чем PostgreSQL хуже MS SQL?
    #35327092
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.! пишет:

> фигасе проигрыш. Оракл поставит в очередь сброс блоков на диск и DBRW
> когда сочтет нужным их запишет, FB же бросив все начнет юлозить
> головками, чтоб записать эти дельты, потом в связи с тотальным
> отсутствием кеша будет юлозить головки, чтоб считать ТЕ ЖЕ блоки

Господа, вы не отклоняйтесь от темы, а то ушли уже в обсуждение
логов, да как в FB это все. FB - это вообще клиника, не рассматривается.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Чем PostgreSQL хуже MS SQL?
    #35327094
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv пишет:

> сильно сомневаюсь, что версионность в MS SQL сделана похожим образом как
> в IB/FB. Уж скорее как в Oracle.
Не сомневайся, не так, как в FB. Почти так, как в ORACLE.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Чем PostgreSQL хуже MS SQL?
    #35327228
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv
Извини, не знал, что в ЭТОМ вашем (не знаю, что уж это) ведётся ДВА ЛОГА.

MasterZiv
Не сомневайся, не так, как в FB. Почти так, как в ORACLE.

блин, а ведь меня теперь будет мучать, чего ты еще не знаешь, что вызвало столь нездоровые ассоциации ?
...
Рейтинг: 0 / 0
Чем PostgreSQL хуже MS SQL?
    #35327334
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.! пишет:
> блин, а ведь меня теперь будет мучать, чего ты еще не знаешь, что
> вызвало столь нездоровые ассоциации ?

В смысле ? я не понял. ЭТО - это, кстати, таки Оракл ?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Чем PostgreSQL хуже MS SQL?
    #35327350
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv
В смысле ? я не понял. ЭТО - это, кстати, таки Оракл ?
Posted via ActualForum NNTP Server 1.4
мало того имено ЭТО (два раздельных лога) и позволяют ораклу занимать лидирующие позиции во всевозможных промышленных тестах.
...
Рейтинг: 0 / 0
Чем PostgreSQL хуже MS SQL?
    #35327418
Уважаемые, я вот тут сейчас прочитал всё, что вы написали... в процеесе ваших споров не заметил почти никаих вразумителных ответов на вопрос:Чем PostgreSQL хуже MS SQL? =))))

Да, есть какие-то данные тестов и характеристики, но всё же хотелось бы посмотреть конкретику, как, например, в статье: http://www.arininav.ru/mysql/mysql-postgresql-features.html
...
Рейтинг: 0 / 0
Чем PostgreSQL хуже MS SQL?
    #35327494
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторчем PostgreSQL хуже MS SQL?
да ничем. Чем Оракл хуже DB2? Чем DB2 хуже Оракла? Все зависит от направления взгляда.
...
Рейтинг: 0 / 0
Чем PostgreSQL хуже MS SQL?
    #35327615
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
Извини, не знал, что в ЭТОМ вашем (не знаю, что уж это) ведётся ДВА ЛОГА.



Да ниче :)
Только UNDO не лог, а сегмент
...
Рейтинг: 0 / 0
Чем PostgreSQL хуже MS SQL?
    #35328458
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.! пишет:

> мало того имено ЭТО (два раздельных лога) и позволяют ораклу занимать
> лидирующие позиции во всевозможных промышленных тестах.

Ну, вопрос "у кого толще писька" требует отдельного обсуждения, а главное -
IMO бессмысленен. Мы чего вообще обсуждаем ? PgSQL и MSSQL. При чем здесь
оракуль ?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
25 сообщений из 191, страница 4 из 8
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Чем PostgreSQL хуже MS SQL?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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