|
|
|
Чем PostgreSQL хуже MS SQL?
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) пишет: > *REDO* логи безусловно пишутся синхронно (если не учитывать асинхронный > commit, который следует придать анафеме), (как бы рассуждаю в слух) Если бы не писались, то измененные закомиченные данные, оставшиеся в памяти при сбое (выключение питания напр), терялись бы. но к *UNDO* или *RBS* они > имеют отношения лишь постольку, поскольку защищают произведенные в UNDO > изменения при фиксации транзакции. > Сам же UNDO пишется ровно также как и все остальные *сегменты* данных Если мы не пишем UNDO часть лога синхронно с commit/rollback, то страницы данных, которые изменены незакоммиченной транзакцией, но уже сброшены на диск (допустим что это возможно), при сбое испортят базу. В таком случае нельзя сбрасывать страницы данных, помеченные грязными незакоммиченными транзакциями. А это значит, что все данные должны висеть в памяти до коммита/роллбэка. А это значит, что при малом размере кэша и большом размере транзакции они туда не влезут. Возможно, я что-то действительно не понимаю, но кажется так. Думаю, не все СУБД делят логи на UNDO и REDO. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2008, 23:37 |
|
||
|
Чем PostgreSQL хуже MS SQL?
|
|||
|---|---|---|---|
|
#18+
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х годов я с большим удовольствием буду его использовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2008, 07:11 |
|
||
|
Чем PostgreSQL хуже MS SQL?
|
|||
|---|---|---|---|
|
#18+
MasterZiv Возможно, я что-то действительно не понимаю, но кажется так. Думаю, не все СУБД делят логи на UNDO и REDO. Разумеется, все изменения синхронно фиксируются в REDO, включая изменения в UNDO, необходимые для откатов и версионности. Фишка в том, что REDO ВСЕГДА пишется последовательно, никогда не используется для каких либо откатов и обычно расположен не на том-же устройстве, что и данные. REDO используетрся только для recovery и ни для чего больше. Версионность (на уровне блоков) обеспечивается UNDO (таким же сегментом, как и сегменты данных), изменения в котором также защищены REDO-логом. Идеальных решений разумеется не бывает, но мне лично такая архитектура нравится (несколько больше чем версионнсть от MS SQL или скажем IB). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2008, 08:50 |
|
||
|
Чем PostgreSQL хуже MS SQL?
|
|||
|---|---|---|---|
|
#18+
Зл0й hvlad Зл0йА зачем версионность на уровне записи если с диска читаем и пишем блок (или кучу блоков за один системный вызов)? Не про блокировку ведь речь.Дабы меньше этих блоков нужно было писать, читать и держать в памяти. То есть мы притащили с диска блок с дюжиной записей, достали пару-тройку нужных нам сейчас записей, положили их в кэш а остальное выкинули чтобы не хранить почем зря в памяти? Что-то у меня производительность и дальновидность такого подхода вызывает определенные сомнения. Особенно учитывая что самый критический для производительности большинства современных СУБД ресурс - это i/o, в него упираются чаще всего. А память вещь недорогая, у меня в ноутбуке ее 4 гига. Производительность процессоров и объемы оперативной памяти растут гораздо быстрее чем скорость дисков.При редактировании нескольких записей на одной странице легко представить себе случай, когда у нас получится столько версий страницы, сколько записей было изменено (например есть тр-ции, заинтересованные в каждой изменённой записи). Всё это хозяйство нужно держать в памяти, писать на диск и т.п. Т.е. тут проигрыш и по памяти и по IO. FB положит на исходную страницу столько бэкверсий записей, сколько сможет, остальные положит на другую страницу. Т.к. бэкверсии чаще всего в виде сжатых дельт от основной версии, то достаточно вероятно, что всего на диск пойдёт не более 2-х страниц. Зл0й hvladСравнивать - это хорошо. Но делать выводы про A, на основе знаний о B - как минимум не корректно. Ну почему же, я когда с мотоцикла Урал сажусь на полицейский мотоцикл Kawasaki KZ1000P то сравнение как-то само собой получается не в пользу Урала. Аналогия, как и большинство аналогий, не корректна. Давай сравним водный и наземный мотоциклы ? Или скутер и самосвал :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2008, 12:08 |
|
||
|
Чем PostgreSQL хуже MS SQL?
|
|||
|---|---|---|---|
|
#18+
hvlad Всё это хозяйство нужно держать в памяти, писать на диск и т.п. Т.е. тут проигрыш и по памяти и по IO. FB положит на исходную страницу столько бэкверсий записей, сколько сможет, остальные положит на другую страницу. Т.к. бэкверсии чаще всего в виде сжатых дельт от основной версии, то достаточно вероятно, что всего на диск пойдёт не более 2-х страниц. фигасе проигрыш. Оракл поставит в очередь сброс блоков на диск и DBRW когда сочтет нужным их запишет, FB же бросив все начнет юлозить головками, чтоб записать эти дельты, потом в связи с тотальным отсутствием кеша будет юлозить головки, чтоб считать ТЕ ЖЕ блоки (большая часть записей в которых не вычещеный мусор), ну и до кучи сборка мусора юудет юлозить головками, чтоб вычистить оригинальные записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2008, 12:36 |
|
||
|
Чем PostgreSQL хуже MS SQL?
|
|||
|---|---|---|---|
|
#18+
Привет, Yo.!! Ты пишешь: Yo.!Y> фигасе проигрыш. Оракл поставит в очередь сброс блоков на диск и DBRW Y> когда сочтет нужным их запишет, FB же бросив все начнет юлозить головками, Y> чтоб записать эти дельты, потом в связи с тотальным отсутствием кеша будет Y> юлозить головки, чтоб считать ТЕ ЖЕ блоки (большая часть записей в которых Y> не вычещеный мусор), ну и до кучи сборка мусора юудет юлозить головками, чтоб Y> вычистить оригинальные записи.да, да, расскажи разработчику FB, что там и как в FB. купи булочку и жуй, не раскрывая рта. фантазёр, мля. -- With best regards, Мимопроходящий. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2008, 12:48 |
|
||
|
Чем PostgreSQL хуже MS SQL?
|
|||
|---|---|---|---|
|
#18+
авторно мне лично такая архитектура нравится (несколько больше чем версионнсть от MS SQL или скажем IB). сильно сомневаюсь, что версионность в MS SQL сделана похожим образом как в IB/FB. Уж скорее как в Oracle. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2008, 13:39 |
|
||
|
Чем PostgreSQL хуже MS SQL?
|
|||
|---|---|---|---|
|
#18+
Yo.! Оракл поставит в очередь сброс блоков на диск и DBRW когда сочтет нужным их запишет А запишет ли он их и когда - оракула, стало быть, не волнует. Мило. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2008, 13:49 |
|
||
|
Чем PostgreSQL хуже MS SQL?
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Yo.! Оракл поставит в очередь сброс блоков на диск и DBRW когда сочтет нужным их запишет А запишет ли он их и когда - оракула, стало быть, не волнует. Мило. Posted via ActualForum NNTP Server 1.4 блин еще один. с какой стате DBRW это должно волновать ? для DBRW UNDO ничем не отличается от файлов данных, чья целостность гарантируется ЛОГОМ ТРАНЗАКЦИЙ (REDO) kdv сильно сомневаюсь, что версионность в MS SQL сделана похожим образом как в IB/FB. Уж скорее как в Oracle. там еще смешнее, они не стали мешать данные и версии, они их смешали с сортировкой, временными таблицами, курсорами и прочая, что свалив версии в tempdb. и сборку мусора (версий) из tempdb никто не отменил, на ораловую модель обсалютно не похоже .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2008, 14:03 |
|
||
|
Чем PostgreSQL хуже MS SQL?
|
|||
|---|---|---|---|
|
#18+
kdv авторно мне лично такая архитектура нравится (несколько больше чем версионнсть от MS SQL или скажем IB). сильно сомневаюсь, что версионность в MS SQL сделана похожим образом как в IB/FB. Уж скорее как в Oracle. Скорей уж как в MS SQL Сроду не было в Oracle такого маразму как версионность уровня строк на полбазы :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2008, 14:06 |
|
||
|
Чем PostgreSQL хуже MS SQL?
|
|||
|---|---|---|---|
|
#18+
Yo.! для DBRW UNDO ничем не отличается от файлов данных, чья целостность гарантируется ЛОГОМ ТРАНЗАКЦИЙ (REDO) Который, конечно же, идёт в обход DBRW - прямо на головки, мозолящие диск. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2008, 14:12 |
|
||
|
Чем PostgreSQL хуже MS SQL?
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Который, конечно же, идёт в обход DBRW - прямо на головки, мозолящие диск. Posted via ActualForum NNTP Server 1.4 естественно мимо, записью в лог транзакций (REDO) занимается совершенно другой процесс LGWR в совершенно другое время на другое устройство висящем на другом канале ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2008, 14:33 |
|
||
|
Чем PostgreSQL хуже MS SQL?
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)Скорей уж как в MS SQL Сроду не было в Oracle такого маразму как версионность уровня строк на полбазы :) Версионность включается не на "пол базы", а для всей бд целиком. А вот возможность с помощью хинтов указать необходимость наложения разделяемых блокировок на отдельные таблицы даже в версионном режиме я бы рассматривал, как дополнительную функциональность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2008, 14:36 |
|
||
|
Чем PostgreSQL хуже MS SQL?
|
|||
|---|---|---|---|
|
#18+
pkarklinя бы рассматривал, как дополнительную функциональность. прострелить себе ногу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2008, 15:10 |
|
||
|
Чем PostgreSQL хуже MS SQL?
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)прострелить себе ногу Можно с примерами кода, а не пустыми репликами?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2008, 15:28 |
|
||
|
Чем PostgreSQL хуже MS SQL?
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) пишет: > Разумеется, все изменения синхронно фиксируются в REDO, включая > изменения в UNDO, необходимые для откатов и версионности. Фишка в том, > что REDO ВСЕГДА пишется последовательно, никогда не используется для > каких либо откатов и обычно расположен не на том-же устройстве, что и > данные. REDO используетрся только для recovery и ни для чего больше. > Версионность (на уровне блоков) обеспечивается UNDO (таким же сегментом, > как и сегменты данных), изменения в котором также защищены REDO-логом. Извини, не знал, что в ЭТОМ вашем (не знаю, что уж это) ведётся ДВА ЛОГА. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2008, 18:21 |
|
||
|
Чем PostgreSQL хуже MS SQL?
|
|||
|---|---|---|---|
|
#18+
Yo.! пишет: > фигасе проигрыш. Оракл поставит в очередь сброс блоков на диск и DBRW > когда сочтет нужным их запишет, FB же бросив все начнет юлозить > головками, чтоб записать эти дельты, потом в связи с тотальным > отсутствием кеша будет юлозить головки, чтоб считать ТЕ ЖЕ блоки Господа, вы не отклоняйтесь от темы, а то ушли уже в обсуждение логов, да как в FB это все. FB - это вообще клиника, не рассматривается. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2008, 18:22 |
|
||
|
Чем PostgreSQL хуже MS SQL?
|
|||
|---|---|---|---|
|
#18+
kdv пишет: > сильно сомневаюсь, что версионность в MS SQL сделана похожим образом как > в IB/FB. Уж скорее как в Oracle. Не сомневайся, не так, как в FB. Почти так, как в ORACLE. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2008, 18:23 |
|
||
|
Чем PostgreSQL хуже MS SQL?
|
|||
|---|---|---|---|
|
#18+
MasterZiv Извини, не знал, что в ЭТОМ вашем (не знаю, что уж это) ведётся ДВА ЛОГА. MasterZiv Не сомневайся, не так, как в FB. Почти так, как в ORACLE. блин, а ведь меня теперь будет мучать, чего ты еще не знаешь, что вызвало столь нездоровые ассоциации ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2008, 19:16 |
|
||
|
Чем PostgreSQL хуже MS SQL?
|
|||
|---|---|---|---|
|
#18+
Yo.! пишет: > блин, а ведь меня теперь будет мучать, чего ты еще не знаешь, что > вызвало столь нездоровые ассоциации ? В смысле ? я не понял. ЭТО - это, кстати, таки Оракл ? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2008, 20:38 |
|
||
|
Чем PostgreSQL хуже MS SQL?
|
|||
|---|---|---|---|
|
#18+
MasterZiv В смысле ? я не понял. ЭТО - это, кстати, таки Оракл ? Posted via ActualForum NNTP Server 1.4 мало того имено ЭТО (два раздельных лога) и позволяют ораклу занимать лидирующие позиции во всевозможных промышленных тестах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2008, 20:48 |
|
||
|
Чем PostgreSQL хуже MS SQL?
|
|||
|---|---|---|---|
|
#18+
Уважаемые, я вот тут сейчас прочитал всё, что вы написали... в процеесе ваших споров не заметил почти никаих вразумителных ответов на вопрос:Чем PostgreSQL хуже MS SQL? =)))) Да, есть какие-то данные тестов и характеристики, но всё же хотелось бы посмотреть конкретику, как, например, в статье: http://www.arininav.ru/mysql/mysql-postgresql-features.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2008, 21:58 |
|
||
|
Чем PostgreSQL хуже MS SQL?
|
|||
|---|---|---|---|
|
#18+
авторчем PostgreSQL хуже MS SQL? да ничем. Чем Оракл хуже DB2? Чем DB2 хуже Оракла? Все зависит от направления взгляда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2008, 01:13 |
|
||
|
Чем PostgreSQL хуже MS SQL?
|
|||
|---|---|---|---|
|
#18+
MasterZiv Извини, не знал, что в ЭТОМ вашем (не знаю, что уж это) ведётся ДВА ЛОГА. Да ниче :) Только UNDO не лог, а сегмент ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2008, 10:38 |
|
||
|
Чем PostgreSQL хуже MS SQL?
|
|||
|---|---|---|---|
|
#18+
Yo.! пишет: > мало того имено ЭТО (два раздельных лога) и позволяют ораклу занимать > лидирующие позиции во всевозможных промышленных тестах. Ну, вопрос "у кого толще писька" требует отдельного обсуждения, а главное - IMO бессмысленен. Мы чего вообще обсуждаем ? PgSQL и MSSQL. При чем здесь оракуль ? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2008, 13:38 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=35324880&tid=1552983]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 168ms |

| 0 / 0 |
