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

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

Dimitry Sibiryakov пишет:

> Вообще-то - с точностью до наоборот. Отказ от выделенного фонового
> сборщика позволил избавиться от просадки производительности на больших
> нагрузках. Так что тип сборки мусора теперь конфигурябелен.

Не буду спорить, но они сами от этой идеи отказались.

Posted via ActualForum NNTP Server 1.4

17 май 08, 13:53    [5677382]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
hvlad
Member

Откуда:
Сообщений: 11555
Dimitry Sibiryakov

MasterZiv

Это - самая дебильная идея в Interbase, но сейчас уже давно они от нее
отказались, собирают точно так же, как и в PostgreSQL.

Вообще-то - с точностью до наоборот.
Вообще-то - обе крайности имеют свои преимущества и недостатки :) Но - это именно крайности. Для каждой из них есть свой "плохой" вид нагрузки.

Dimitry Sibiryakov
Отказ от выделенного фонового
сборщика позволил избавиться от просадки производительности на больших
нагрузках. Так что тип сборки мусора теперь конфигурябелен
Замечу, что тут речь о FB.
Я не слышал о наличии кооперативной сборки мусора ни в IB, ни в PG.
17 май 08, 13:58    [5677391]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
mayton
Member

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

У Постгреса крайне неудачная (читай - идиотская) идеология storage engine, за что отдельное спасибо товарищу Майклу Стоунбрэйкеру. Все нормальные СУБД, как "версионники" так и "блокировщики" (Oracle, DB2, Teradata, MS SQL, Sybase, ...) пишут логи отдельно от tablespaces. В Постгресе все свалено в одну кучу, в тот самый tablespace. То есть, при отсутсвии vacuum, если у нас прошло 25 update'ов на некую запись Х у нас в базе будет валяться 26 версий этой записи, из которых 25 будут помечены "сия версия записи X убита тогда-то". Логи-то гораздо удобнее, их потихоньку сархивировать можно, или на более дешевый и медленный дисковый массив или на ленту. А сборка мусора это всегда зло, процесс труднопредсказуемый.


Ага. Насколько я разбираюсь, это и есть та самая плата за постреляционность, которой постгрес хвастался в девяностых. А теперь што? Балласт?
17 май 08, 21:00    [5678131]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
Зл0й
Member

Откуда: Северная Калифорния
Сообщений: 686
mayton
Зл0й

У Постгреса крайне неудачная (читай - идиотская) идеология storage engine, за что отдельное спасибо товарищу Майклу Стоунбрэйкеру. Все нормальные СУБД, как "версионники" так и "блокировщики" (Oracle, DB2, Teradata, MS SQL, Sybase, ...) пишут логи отдельно от tablespaces. В Постгресе все свалено в одну кучу, в тот самый tablespace. То есть, при отсутсвии vacuum, если у нас прошло 25 update'ов на некую запись Х у нас в базе будет валяться 26 версий этой записи, из которых 25 будут помечены "сия версия записи X убита тогда-то". Логи-то гораздо удобнее, их потихоньку сархивировать можно, или на более дешевый и медленный дисковый массив или на ленту. А сборка мусора это всегда зло, процесс труднопредсказуемый.


Ага. Насколько я разбираюсь, это и есть та самая плата за постреляционность, которой постгрес хвастался в девяностых. А теперь што? Балласт?


Если под постреляционностью подразумевается что можно забацать свой собственный тип данных и интегрировать его с СУБД (реализовать свои специализированные индексы итп) то это можно и в Оракле и DB2 сделать, наверное можно и в других "взрослых" СУБД - просто я не пробовал. Так что хранение версий в тэйблспэйсах - это дурацкая идея к объектно-реляционности и расширяемости не имеющая никакого отношения. Просто неудачный дизайн, оправдания которому я не нахожу.
17 май 08, 22:09    [5678341]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
Зл0й
Member

Откуда: Северная Калифорния
Сообщений: 686
hvlad
Дабы не судили строго, не стоит давать такие оценки (идиотская, уродцы и т.п.)

Какая производительность с масштабируемостью, такие и оценки. Когда будеть другая и оценки будут другие.

hvlad

Насчёт сборки мусора - ты её ел, что позволяешь себе судить ?

Ага, причем "удовольствия от этих похорон я не получил". Особо после Оракла с DB2.

hvlad

Насчёт версий в логе - а что с индексами делать будешь ? Там версии в лог не запихнёшь.

Предлагаю рассказать это пацанам из Оракла. Ато пацаны-то не знают. У них все работает, и индексы и MVCC - сам проверял.

hvlad

Иногда стоит всё же думать, прежде чем "оценивать". Не стоит опыт, полученный в одних СУБД, слепо переносить на другие и хаять всё подряд.

Опыт в других СУБД тут не при чем.


hvlad

Строго получилось ? :)

намана. Без обид.
17 май 08, 22:20    [5678363]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
hvlad
Member

Откуда:
Сообщений: 11555
Зл0й
hvlad
Дабы не судили строго, не стоит давать такие оценки (идиотская, уродцы и т.п.)

Какая производительность с масштабируемостью, такие и оценки. Когда будеть другая и оценки будут другие.
Внимание, вопрос : а где указание на прямую зависимость между дизайном одной подсистемы и производительностью целой системы ?

Зл0й
hvlad

Насчёт сборки мусора - ты её ел, что позволяешь себе судить ?

Ага, причем "удовольствия от этих похорон я не получил". Особо после Оракла с DB2.
Сам поищешь по форуму людей, которые в шоке от Оракла после других СУБД ?
Или может быть таки есть конкретные факты\цифры, а не эмоции про похороны ?

Зл0й
hvlad

Насчёт версий в логе - а что с индексами делать будешь ? Там версии в лог не запихнёшь.

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

Зл0й
hvlad

Иногда стоит всё же думать, прежде чем "оценивать". Не стоит опыт, полученный в одних СУБД, слепо переносить на другие и хаять всё подряд.

Опыт в других СУБД тут не при чем.
Угу, давай посчитаем сколько раз ты их упомянул в одном только этом посте :-) Конечно не при чём.

Собственно дальше можно не продолжать. Аргументов у тебя нет, что и требовалось показать.
18 май 08, 00:42    [5678857]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
mayton
Member

Откуда: loopback
Сообщений: 53014
hvlad
Сам поищешь по форуму людей, которые в шоке от Оракла после других СУБД ?
Или может быть таки есть конкретные факты\цифры, а не эмоции про похороны ?


(пододвигаясь поближе)

А ну-ка ну-ка... А вот это уже интересно. Я-бы тоже с удовольствием поискал "шокирующие факты и цифры". Т.к. с Oracle знаком не понаслышке. Однако к своему сожалению не могу придумать поисковый запрос. Что прикажете написать в поисковом выражении. "Oracle отстой" ? или "Люди в шоке" ?

Окажите любезность!
18 май 08, 11:09    [5679147]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
Dimitry Sibiryakov
Member

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

Зл0й
У них все работает, и индексы и MVCC - сам проверял.

А особенно хорошо у них налажена выдача ошибки "Snapshot is too old".

Posted via ActualForum NNTP Server 1.4

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

Откуда: loopback
Сообщений: 53014
Dimitry Sibiryakov
А особенно хорошо у них налажена выдача ошибки "Snapshot is too old".

Posted via ActualForum NNTP Server 1.4


1) Эта ошибка устраняется увеличением параметра undo_retention в большую сторону. Если вы DBA - то вы должны понимать, что версионник требует своих накладных, и выставить этот параметр в такую величину, которая разумна для вашей прикладной задачи. В конце концов, кому нужен snapshoot курсора, который был открыт на прошлой неделе? В чём будет его актуальность?

2) Если вы разработчик, и хотите обеспечить возможность длительного хранения запроса без каких либо изменений - используйте temporary tables или еще лучше персистентные таблицы-репорты.

3) Для ретроспективных запросов (начиная где-то с Oracle10g и выше) существует технология flashback.
18 май 08, 19:34    [5679931]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
MasterZiv
Member

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

mayton пишет:

> Ага. Насколько я разбираюсь, это и есть та самая плата за
> постреляционность, которой постгрес хвастался в девяностых. А теперь
Нет, это - не она. Ты ошибся.

Posted via ActualForum NNTP Server 1.4

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

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

Dimitry Sibiryakov пишет:

> А особенно хорошо у них налажена выдача ошибки "Snapshot is too old".

Кстати, это - самая характерная проблема неверсионной реализации MVCC,
в общем, неразрешимая.
Она отсутствует в версионной реализации, напр. в Postgres.

Промлема же - в переполнении базы при активных изменениях
на фоне "зависшей" транзакции.

Posted via ActualForum NNTP Server 1.4

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

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

mayton пишет:
> разумна для вашей прикладной задачи. В конце концов, кому нужен
> snapshoot курсора, который был открыт на прошлой неделе? В чём будет его
> актуальность?

Это не вам решать, а разработчикам конкретного приложения.
Вы не можете сказать ни о его полезности, ни о бесполезности.
Есть механизм MVCC - должен работать. А рассуждать, когда он
там не нужен - разговор в пользу бедных.
Вам бы, если "защищаете" ораклу следовало бы написать то,
что написал я, что в принципе-то проблема длительного хранения
старых версий произвольное время не решается никак.

> 2) Если вы разработчик, и хотите обеспечить возможность длительного
> хранения запроса без каких либо изменений - используйте temporary tables
> или еще лучше персистентные таблицы-репорты.

Вообще-то MVCC и призван решать такие проблемы, а вы предлагаете
его не использовать. Странно как-то.

Posted via ActualForum NNTP Server 1.4

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

Откуда:
Сообщений: 11555
mayton
hvlad
Сам поищешь по форуму людей, которые в шоке от Оракла после других СУБД ?
Или может быть таки есть конкретные факты\цифры, а не эмоции про похороны ?


(пододвигаясь поближе)

А ну-ка ну-ка... А вот это уже интересно. Я-бы тоже с удовольствием поискал "шокирующие факты и цифры". Т.к. с Oracle знаком не понаслышке. Однако к своему сожалению не могу придумать поисковый запрос. Что прикажете написать в поисковом выражении. "Oracle отстой" ? или "Люди в шоке" ?

Окажите любезность!
Ищите здесь любой флейм "mssql против oracle", я закладок на это не держу

PS Опять же - я не говорю что правы те или эти. Я не люблю, когда поливают грязью то, с чем знакомы в лучшем случае по наслышке.

PPS В своё время был неприятно "обрадован" такой фичей, как мутирующие таблицы. Не знаю, насколько это актуально сейчас.
18 май 08, 22:00    [5680210]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
mayton
Member

Откуда: loopback
Сообщений: 53014
Мне пришлось участвовать в миграции базы Технического Учёта ГТС с Firebird на Oracle. И такое решение было принято руководством проекта не просто так, а исходя из меняющихся условий эксплуатации. И когда я слышу шум в ключе "Оракл - отстой а моялюбимаясубд лучше...", хочется напомнить слова одного средневекового учёного:

"- ... как вы можете ненавидеть то в чём вы досконально не разобрались?"

Вы спрашиваете защищаю ли я Оракл? Нет. Я прекрасно знаю его недостатки. Я просто отстаиваю некое (своё) видение истины и иногда вставляю свои пять копеек там, где количество мракобесия превышает границы моей терпимости.

Надеюсь понятно и без обид?

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

Откуда: Северная Калифорния
Сообщений: 686
hvlad
Зл0й

Какая производительность с масштабируемостью, такие и оценки. Когда будеть другая и оценки будут другие.
Внимание, вопрос : а где указание на прямую зависимость между дизайном одной подсистемы и производительностью целой системы ?

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

hvlad

Сам поищешь по форуму людей, которые в шоке от Оракла после других СУБД ?
Или может быть таки есть конкретные факты\цифры, а не эмоции про похороны ?

Покажите мне БД на Постгресе, терабайт на 40 в которцую данные льются практически все время (ну или с интервалом в 5 минут) и где гоняются отчеты с актуальностью на "час назад". На Оракле я со своей командой такое безобразие строил - могу продемонстрировать. Никакого шока, никаких ORA-1555: Snapshot too old. Ничего особо военного.

hvlad
У пацанов нет версионности на уровне записей. И своих проблем там тоже хватает.
А расказываешь здесь пока что ты

А зачем версионность на уровне записи если с диска читаем и пишем блок (или кучу блоков за один системный вызов)? Не про блокировку ведь речь.


hvlad

Угу, давай посчитаем сколько раз ты их упомянул в одном только этом посте :-) Конечно не при чём.

Ну так сравнивать же с чем-то надо.
18 май 08, 23:11    [5680337]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
MasterZiv
Member

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

Зл0й пишет:

> А зачем версионность на уровне записи если с диска читаем и пишем блок
> (или кучу блоков за один системный вызов)? Не про блокировку ведь речь.

А приложения, знаешь ли, записями манипулируют. А блоками манипулировать
даже вообще не могут. Вот по этому.

Posted via ActualForum NNTP Server 1.4

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

Откуда: Северная Калифорния
Сообщений: 686
MasterZiv

Зл0й пишет:

> А зачем версионность на уровне записи если с диска читаем и пишем блок
> (или кучу блоков за один системный вызов)? Не про блокировку ведь речь.

А приложения, знаешь ли, записями манипулируют. А блоками манипулировать
даже вообще не могут. Вот по этому.
Posted via ActualForum NNTP Server 1.4


Приложения могут не только записями манипулировать, но и их полями. Значит ли это что нужно делать версионность на уровне поля записи?
19 май 08, 01:49    [5680550]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67469
Блог
MasterZiv
Она отсутствует в версионной реализации, напр. в Postgres.
Промлема же - в переполнении базы при активных изменениях
на фоне "зависшей" транзакции.

Если коротко, то в Oracle 10.2 возможно настроить поведение "как в Postgres".

Грубо говоря, существует проблема "записать неограниченное количество версий при ограниченном месте на дисках". Понятно, что она неразрешима. В Oracle администратор может выбрать, что будет происходить в случае конфликта - либо таки затирание старых, но еще потенциально нужных версий, либо отказ в выполнении новых DML.
19 май 08, 02:24    [5680562]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
hvlad
Member

Откуда:
Сообщений: 11555
Зл0й
hvlad
Внимание, вопрос : а где указание на прямую зависимость между дизайном одной подсистемы и производительностью целой системы ?

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

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

Зл0й
Покажите мне БД на Постгресе, терабайт на 40 в которцую данные льются практически все время (ну или с интервалом в 5 минут) и где гоняются отчеты с актуальностью на "час назад". На Оракле я со своей командой такое безобразие строил - могу продемонстрировать. Никакого шока, никаких ORA-1555: Snapshot too old. Ничего особо военного.
Даже не собираюсь ничем меряться и\или поливать автора этого "безобразия", указывая на то, что его "безобразие" нафиг никому не нужно (как тут иногда принято) :)
Замечу только, что актуальность отчётов на "час назад" уже говорит о том, что оперативная часть этой БД намного меньше 40TB, соответственно это число ни о чём не говорит.

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

Зл0й
Ну так сравнивать же с чем-то надо.
Сравнивать - это хорошо. Но делать выводы про A, на основе знаний о B - как минимум не корректно.
19 май 08, 12:02    [5681717]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
Чистейшая супесь
Guest
Кстати да: оракловский UNDO пишется на диск почти синхронно, и не построчно, а целыми блоками (по 8К ЕМНИП).
В постгресе же размножаются версии строк, а вакуум размазан по времени.
И мне с ходу уже неясно, какая стратегия лучше при длинных транзакциях.
19 май 08, 12:15    [5681878]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Чистейшая супесь
Кстати да: оракловский UNDO пишется на диск почти синхронно


Это с какого перепугу ???
Также пишется как и все остальные ДАННЫЕ
19 май 08, 14:07    [5682986]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
MasterZiv
Member

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

Зл0й пишет:
> Приложения могут не только записями манипулировать, но и их полями.
> Значит ли это что нужно делать версионность на уровне поля записи?

Угадал, они и есть действительно на уровне поля записи.

Posted via ActualForum NNTP Server 1.4

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

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

Gluk (Kazan) пишет:

> Это с какого перепугу ???
> Также пишется как и все остальные ДАННЫЕ

Нет, если это лог, то он должен писаться по концу транзакции
или по переполнению буфера страницы лога.
По концу транзакции - обязательно (еще возможно и даже
два раза). Но вот что он пишется не построчно - это не совсем
так. Да, пишется он блоками, но столько раз, сколько записей
лога в этом блоке, относящихся к разным коммитящимся транзакциям.
Т.е. оптимальной запись лога назвать никак нельзя.
Даже наоборот - это - одно из узких мест всех транзакционных
СУБД (вспомните как много постов с вопросами, как выключить логирование).
А вот записи (страницы с ними) данных ВООБЩЕ НА ДИСК МОГУТ И НЕ
ПИСАТЬСЯ. Версии записей могут удаляться из кэша, так никогда на
диск и не попав.

Posted via ActualForum NNTP Server 1.4

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

херасе, вы не отличаете UNDO от REDO и рассказываете, что блоки не оптимально
а давайте вы хотя бы основные понятия MVCC изучите, прежде чем тут что-то вещать ;) ?
19 май 08, 17:52    [5685111]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
Gluk (Kazan)
Member

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

Нет, если это лог, то он должен писаться по концу транзакции
или по переполнению буфера страницы лога.


REDO логи безусловно пишутся синхронно (если не учитывать асинхронный commit, который следует придать анафеме), но к UNDO или RBS они имеют отношения лишь постольку, поскольку защищают произведенные в UNDO изменения при фиксации транзакции.
Сам же UNDO пишется ровно также как и все остальные сегменты данных
20 май 08, 09:35    [5686560]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4 5 6 7 8   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить