Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5 6 7 8   вперед  Ctrl      все
 Re: Чем PostgreSQL хуже MS SQL?  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34709

Gluk (Kazan) пишет:

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

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

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

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

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

Возможно, я что-то действительно не понимаю, но кажется так.
Думаю, не все СУБД делят логи на UNDO и REDO.

Posted via ActualForum NNTP Server 1.4

20 май 08, 23:37    [5691660]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
Зл0й
Member

Откуда: Северная Калифорния
Сообщений: 686
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 май 08, 07:11    [5692020]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
MasterZiv

Возможно, я что-то действительно не понимаю, но кажется так.
Думаю, не все СУБД делят логи на UNDO и REDO.


Разумеется, все изменения синхронно фиксируются в REDO, включая изменения в UNDO, необходимые для откатов и версионности. Фишка в том, что REDO ВСЕГДА пишется последовательно, никогда не используется для каких либо откатов и обычно расположен не на том-же устройстве, что и данные. REDO используетрся только для recovery и ни для чего больше.
Версионность (на уровне блоков) обеспечивается UNDO (таким же сегментом, как и сегменты данных), изменения в котором также защищены REDO-логом. Идеальных решений разумеется не бывает, но мне лично такая архитектура нравится (несколько больше чем версионнсть от MS SQL или скажем IB).
21 май 08, 08:50    [5692164]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
hvlad
Member

Откуда:
Сообщений: 11551
Зл0й
hvlad

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

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

Зл0й
hvlad
Сравнивать - это хорошо. Но делать выводы про A, на основе знаний о B - как минимум не корректно.

Ну почему же, я когда с мотоцикла Урал сажусь на полицейский мотоцикл Kawasaki KZ1000P то сравнение как-то само собой получается не в пользу Урала.
Аналогия, как и большинство аналогий, не корректна. Давай сравним водный и наземный мотоциклы ? Или скутер и самосвал :)
21 май 08, 12:08    [5693351]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
Yo.!
Guest
hvlad

Всё это хозяйство нужно держать в памяти, писать на диск и т.п. Т.е. тут проигрыш и по памяти и по IO.
FB положит на исходную страницу столько бэкверсий записей, сколько сможет, остальные положит на другую страницу. Т.к. бэкверсии чаще всего в виде сжатых дельт от основной версии, то достаточно вероятно, что всего на диск пойдёт не более 2-х страниц.

фигасе проигрыш. Оракл поставит в очередь сброс блоков на диск и DBRW когда сочтет нужным их запишет, FB же бросив все начнет юлозить головками, чтоб записать эти дельты, потом в связи с тотальным отсутствием кеша будет юлозить головки, чтоб считать ТЕ ЖЕ блоки (большая часть записей в которых не вычещеный мусор), ну и до кучи сборка мусора юудет юлозить головками, чтоб вычистить оригинальные записи.
21 май 08, 12:36    [5693592]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 32882

Привет, Yo.!!
Ты пишешь:

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

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

Posted via ActualForum NNTP Server 1.4

21 май 08, 12:48    [5693709]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30232
автор
но мне лично такая архитектура нравится (несколько больше чем версионнсть от MS SQL или скажем IB).

сильно сомневаюсь, что версионность в MS SQL сделана похожим образом как в IB/FB. Уж скорее как в Oracle.
21 май 08, 13:39    [5694260]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54751

Yo.!

Оракл поставит в очередь сброс блоков на диск и DBRW когда сочтет нужным
их запишет

А запишет ли он их и когда - оракула, стало быть, не волнует. Мило.

Posted via ActualForum NNTP Server 1.4

21 май 08, 13:49    [5694354]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
Yo.!
Guest
Dimitry Sibiryakov

Yo.!

Оракл поставит в очередь сброс блоков на диск и DBRW когда сочтет нужным
их запишет

А запишет ли он их и когда - оракула, стало быть, не волнует. Мило.
Posted via ActualForum NNTP Server 1.4

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

kdv

сильно сомневаюсь, что версионность в MS SQL сделана похожим образом как в IB/FB. Уж скорее как в Oracle.

там еще смешнее, они не стали мешать данные и версии, они их смешали с сортировкой, временными таблицами, курсорами и прочая, что свалив версии в tempdb. и сборку мусора (версий) из tempdb никто не отменил, на ораловую модель обсалютно не похоже ....
21 май 08, 14:03    [5694509]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
kdv
автор
но мне лично такая архитектура нравится (несколько больше чем версионнсть от MS SQL или скажем IB).

сильно сомневаюсь, что версионность в MS SQL сделана похожим образом как в IB/FB. Уж скорее как в Oracle.


Скорей уж как в MS SQL
Сроду не было в Oracle такого маразму как версионность уровня строк на полбазы :)
21 май 08, 14:06    [5694538]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54751

Yo.!

для DBRW UNDO ничем не отличается от файлов данных, чья целостность
гарантируется ЛОГОМ ТРАНЗАКЦИЙ (REDO)

Который, конечно же, идёт в обход DBRW - прямо на головки, мозолящие диск.

Posted via ActualForum NNTP Server 1.4

21 май 08, 14:12    [5694607]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
Yo.!
Guest
Dimitry Sibiryakov

Который, конечно же, идёт в обход DBRW - прямо на головки, мозолящие диск.
Posted via ActualForum NNTP Server 1.4

естественно мимо, записью в лог транзакций (REDO) занимается совершенно другой процесс LGWR в совершенно другое время на другое устройство висящем на другом канале ...
21 май 08, 14:33    [5694863]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Gluk (Kazan)
Скорей уж как в MS SQL
Сроду не было в Oracle такого маразму как версионность уровня строк на полбазы :)


Версионность включается не на "пол базы", а для всей бд целиком. А вот возможность с помощью хинтов указать необходимость наложения разделяемых блокировок на отдельные таблицы даже в версионном режиме я бы рассматривал, как дополнительную функциональность.
21 май 08, 14:36    [5694899]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
pkarklin
я бы рассматривал, как дополнительную функциональность.


прострелить себе ногу
21 май 08, 15:10    [5695268]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Gluk (Kazan)
прострелить себе ногу


Можно с примерами кода, а не пустыми репликами?!
21 май 08, 15:28    [5695427]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34709

Gluk (Kazan) пишет:

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

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

Posted via ActualForum NNTP Server 1.4

21 май 08, 18:21    [5697106]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34709

Yo.! пишет:

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

Господа, вы не отклоняйтесь от темы, а то ушли уже в обсуждение
логов, да как в FB это все. FB - это вообще клиника, не рассматривается.

Posted via ActualForum NNTP Server 1.4

21 май 08, 18:22    [5697122]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34709

kdv пишет:

> сильно сомневаюсь, что версионность в MS SQL сделана похожим образом как
> в IB/FB. Уж скорее как в Oracle.
Не сомневайся, не так, как в FB. Почти так, как в ORACLE.

Posted via ActualForum NNTP Server 1.4

21 май 08, 18:23    [5697128]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
Yo.!
Guest
MasterZiv

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

MasterZiv

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

блин, а ведь меня теперь будет мучать, чего ты еще не знаешь, что вызвало столь нездоровые ассоциации ?
21 май 08, 19:16    [5697435]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34709

Yo.! пишет:
> блин, а ведь меня теперь будет мучать, чего ты еще не знаешь, что
> вызвало столь нездоровые ассоциации ?

В смысле ? я не понял. ЭТО - это, кстати, таки Оракл ?

Posted via ActualForum NNTP Server 1.4

21 май 08, 20:38    [5697664]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
Yo.!
Guest
MasterZiv

В смысле ? я не понял. ЭТО - это, кстати, таки Оракл ?
Posted via ActualForum NNTP Server 1.4

мало того имено ЭТО (два раздельных лога) и позволяют ораклу занимать лидирующие позиции во всевозможных промышленных тестах.
21 май 08, 20:48    [5697695]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
НЕДОПРОГГЕР
Guest
Уважаемые, я вот тут сейчас прочитал всё, что вы написали... в процеесе ваших споров не заметил почти никаих вразумителных ответов на вопрос:Чем PostgreSQL хуже MS SQL? =))))

Да, есть какие-то данные тестов и характеристики, но всё же хотелось бы посмотреть конкретику, как, например, в статье: http://www.arininav.ru/mysql/mysql-postgresql-features.html
21 май 08, 21:58    [5697875]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30232
автор
чем PostgreSQL хуже MS SQL?

да ничем. Чем Оракл хуже DB2? Чем DB2 хуже Оракла? Все зависит от направления взгляда.
22 май 08, 01:13    [5698116]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
MasterZiv

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



Да ниче :)
Только UNDO не лог, а сегмент
22 май 08, 10:38    [5698342]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34709

Yo.! пишет:

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

Ну, вопрос "у кого толще писька" требует отдельного обсуждения, а главное -
IMO бессмысленен. Мы чего вообще обсуждаем ? PgSQL и MSSQL. При чем здесь
оракуль ?

Posted via ActualForum NNTP Server 1.4

22 май 08, 13:38    [5700117]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5 6 7 8   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить