powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / PostgreSQL 8.2: сравнения с Oracle и MS SQL
25 сообщений из 193, страница 5 из 8
PostgreSQL 8.2: сравнения с Oracle и MS SQL
    #34202473
Фотография Apex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 hvlad
Приношу извинения, часть диалога, действительно, не прочел.

hvlad pavelvp hvlad ApexА чем ты будешь свой вчерашний инкрементальный бэкап догонять до момента перед сбоем,чудо в перьях???Ознакомься с предметом беседы, перед тем как хамить, ораклоид Мне тоже интересно, действительно - чем?А кто сказал, что он вчерашний ? На то он и инкрементальный, что делается быстро, и, кстати, может занимать намного меньше места чем журнал. Так шта - делайте хоть каждые 5 мин.
Если делать инкрементальный бэкап очень часто - то по сути это будет имитация журнала транзакций, но с худшей реализацией. Смысла в ней я не вижу.
hvlad
Скорость теряется за счёт не упорядоченной по физическим номерам страниц записи на диск. С логом (последовательно записываемым) этой проблемы нет. Но есть другая - нужно писать в лог намного больше инф-ции , а потом её же (не всю конечно) писать ещё раз в БД.

Есть страница, содержащая данные как-то таблицы, меняем одну строку, говорим commit - что уходит на диск? Мне кажется что целиком вся страница. Поправьте если не так.
...
Рейтинг: 0 / 0
PostgreSQL 8.2: сравнения с Oracle и MS SQL
    #34202714
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Apex hvladА кто сказал, что он вчерашний ? На то он и инкрементальный, что делается быстро, и, кстати, может занимать намного меньше места чем журнал. Так шта - делайте хоть каждые 5 мин.
Если делать инкрементальный бэкап очень часто - то по сути это будет имитация журнала транзакций, но с худшей реализацией. Смысла в ней я не вижу.а) Это ни в коем случае не будет имитацией журнала тр-ций. Слишком разные процессы
б) С отсутствием жизненной необходимости журнала тр-ций мы уже смирились, не так ли ? :)
в) Реализация не обязана быть худшей

Apex hvlad
Скорость теряется за счёт не упорядоченной по физическим номерам страниц записи на диск. С логом (последовательно записываемым) этой проблемы нет. Но есть другая - нужно писать в лог намного больше инф-ции , а потом её же (не всю конечно) писать ещё раз в БД.

Есть страница, содержащая данные как-то таблицы, меняем одну строку, говорим commit - что уходит на диск? Мне кажется что целиком вся страница. Поправьте если не так.Конечно.
А что пойдёт в журнал тр-ций ? Даже если только изменённые данные + данные до изменения (а не старая + новая страницы), то что пойдёт в журнал при изменении 10 записей на странице в 10 разных апдейтах в однй тр-ции ?
...
Рейтинг: 0 / 0
PostgreSQL 8.2: сравнения с Oracle и MS SQL
    #34202944
Фотография Apex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
б) С отсутствием жизненной необходимости журнала тр-ций мы уже смирились, не так ли ? :)

Не так. Про жизненную необходимость я и не говорил, я говорил про возможности восстановления. Если у тебя полетит один из дисков - т.е. только часть БД, то все что ты поимеешь - базу по состоянию, пусть даже 5 минут назад (последний инкрементальный бэкап). В случае с журналом я поимею ее вплоть до последней зафиксированной транзации перед сбоем. Разница есть.
hvladКонечно.
ОК. Давай рассуждать дальше. Итак, имеем 10 измененных строк в 10 разных страницах. Перед commit без журнала надо сбросить на диск все 10. Так? С журналом надо сбросить только одну страницу, содежращую записи обо всех изменения+некую доп. информацию - что в совокупности ненамного больше самой изменившейся информации, но гораздо меньше 10 страниц данных.
Идем дальше. Разумеется даже с журналом, наши 10 грязных страниц надо рано или поздно сбросить на диск, и разумеется тут мы проигрываем, т.к. надо сбросить 10 грязных страниц+страницу журнала, вместо просто 10 грязных страниц. Это когда транзакция одна. Теперь рассмотрим случай когда транзакций много. 10 транзакций последовательно меняют 10 строк в 10 разных страницах. Итого на диск уходит 100 страниц (уходят эти же 10, но каждая по 10 раз). С журналом уходит 10 старниц журнала с измененными данными + 10 страниц грязных данных. Поправь меня, если я где-то допустил ошибку.
...
Рейтинг: 0 / 0
PostgreSQL 8.2: сравнения с Oracle и MS SQL
    #34203029
pavelvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm pavelvp iscrafmа ты наверное, несохраненным вовремя журналом? Сам то понял, что сказал? я понял, а ты? Судя по всему нет. Я это делал :-) Журнал сохранён всегда! На то он и журнал.
...
Рейтинг: 0 / 0
PostgreSQL 8.2: сравнения с Oracle и MS SQL
    #34203086
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pavelvp Я это делал :-) Журнал сохранён всегда! На то он и журнал.
т.е. Вы backup логов не делаете?
...
Рейтинг: 0 / 0
PostgreSQL 8.2: сравнения с Oracle и MS SQL
    #34203114
pavelvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmт.е. Вы backup логов не делаете? тынц
...
Рейтинг: 0 / 0
PostgreSQL 8.2: сравнения с Oracle и MS SQL
    #34203136
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm pavelvp Я это делал :-) Журнал сохранён всегда! На то он и журнал.
т.е. Вы backup логов не делаете?

STANDBY
...
Рейтинг: 0 / 0
PostgreSQL 8.2: сравнения с Oracle и MS SQL
    #34203317
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)
STANDBY
с этим то как раз понятно, это горячее резервирование, зеркало. Вопрос только был вроде в том, что если БД накрылась, и архива логов нет (standby и ли вручную), то база востанавливается по журналу на момент слета. А с наличием архива конечно все понятно, можно не разжевывать :)
...
Рейтинг: 0 / 0
PostgreSQL 8.2: сравнения с Oracle и MS SQL
    #34203336
pavelvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmВопрос только был вроде в том, что если БД накрылась, и архива логов нет (standby и ли вручную), то база востанавливается по журналу на момент слета. А с наличием архива конечно все понятно, можно не разжевывать :) Ну а если ещё и сервер уничтожен направленным взрывом, то так и вообще капец :-)
...
Рейтинг: 0 / 0
PostgreSQL 8.2: сравнения с Oracle и MS SQL
    #34203347
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pavelvp iscrafmВопрос только был вроде в том, что если БД накрылась, и архива логов нет (standby и ли вручную), то база востанавливается по журналу на момент слета. А с наличием архива конечно все понятно, можно не разжевывать :) Ну а если ещё и сервер уничтожен направленным взрывом, то так и вообще капец :-)
можно не язвить, а почитать о чем говорил человек, к которому это все обращено было изначально. :) Тонкости всегда в деталях...
...
Рейтинг: 0 / 0
PostgreSQL 8.2: сравнения с Oracle и MS SQL
    #34203391
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Apex hvlad
б) С отсутствием жизненной необходимости журнала тр-ций мы уже смирились, не так ли ? :)

Не так. Про жизненную необходимость я и не говорил, я говорил про возможности восстановления. Если у тебя полетит один из дисков - т.е. только часть БД, то все что ты поимеешь - базу по состоянию, пусть даже 5 минут назад (последний инкрементальный бэкап). В случае с журналом я поимею ее вплоть до последней зафиксированной транзации перед сбоем. Разница есть.Я спорил не с наличием разницы. А с утверждением о несерьёзности систем без явных журналов. Shadow позволяет иметь не меньшую степень надёжности

ApexОК. Давай рассуждать дальше. Итак, имеем 10 измененных строк в 10 разных страницах. Перед commit без журнала надо сбросить на диск все 10. Так? С журналом надо сбросить только одну страницу, содежращую записи обо всех изменения+некую доп. информацию - что в совокупности ненамного больше самой изменившейся информации, но гораздо меньше 10 страниц данныхНе совсем так. В журнал однозначно нужно записывать как старые данные, так и новые. Это минимум в 2 раза больше объёма изменённых данных

ApexИдем дальше. Разумеется даже с журналом, наши 10 грязных страниц надо рано или поздно сбросить на диск, и разумеется тут мы проигрываем, т.к. надо сбросить 10 грязных страниц+страницу журнала, вместо просто 10 грязных страниц. Это когда транзакция одна. Теперь рассмотрим случай когда транзакций много. 10 транзакций последовательно меняют 10 строк в 10 разных страницах. Итого на диск уходит 100 страниц (уходят эти же 10, но каждая по 10 раз)Да. Но это только если эти тр-ции работают строго последовательно. Т.е. тр-ция2 не трогает страницу, изменённую тр-цией1 пока тр-ция1 не закоммитится. А это характерно только для невысокой нагрузки.

ApexС журналом уходит 10 старниц журнала с измененными данными + 10 страниц грязных данных. Поправь меня, если я где-то допустил ошибку.В журнал таки пойдёт несколько больше 10-и страниц. А именно - не менее 210 "записей" (100 о старых данных, 100 о новых, 10 о коммитах). Но не в этом суть...

О чём спорим ?
а) о призводительности
б) о надёжности
в) о сравнительном объёме журнала и инкрементного бекапа
г) о "серьёзности" (не знаю что это такое)
?
...
Рейтинг: 0 / 0
PostgreSQL 8.2: сравнения с Oracle и MS SQL
    #34203641
Apex забанен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad
Shadow позволяет иметь не меньшую степень надёжности

При бОльших требованиях к аппаратному обеспечению (обеспечить журнализацию проще, чем работу еще одного сервера).
hvlad
ApexОК. Давай рассуждать дальше. Итак, имеем 10 измененных строк в 10 разных страницах. Перед commit без журнала надо сбросить на диск все 10. Так? С журналом надо сбросить только одну страницу, содежращую записи обо всех изменения+некую доп. информацию - что в совокупности ненамного больше самой изменившейся информации, но гораздо меньше 10 страниц данныхНе совсем так. В журнал однозначно нужно записывать как старые данные, так и новые. Это минимум в 2 раза больше объёма изменённых данных

Верное уточнение, я это подразумевал, но явно не упомянул. Однако уточню и я: в 2 раза больше, только если имеем развнозначный update. Для insert или delete имеем почти тот же объем, что и объем новых/старых данных.
hvlad
ApexИдем дальше. Разумеется даже с журналом, наши 10 грязных страниц надо рано или поздно сбросить на диск, и разумеется тут мы проигрываем, т.к. надо сбросить 10 грязных страниц+страницу журнала, вместо просто 10 грязных страниц. Это когда транзакция одна. Теперь рассмотрим случай когда транзакций много. 10 транзакций последовательно меняют 10 строк в 10 разных страницах. Итого на диск уходит 100 страниц (уходят эти же 10, но каждая по 10 раз)Да. Но это только если эти тр-ции работают строго последовательно. Т.е. тр-ция2 не трогает страницу, изменённую тр-цией1 пока тр-ция1 не закоммитится. А это характерно только для невысокой нагрузки.

А если все-таки трогает, до того как первая закомитилась? Т1 внесла изменения в страницу А, Т2 внесла изменения в А, Т1 сказала commit - страница пошла на диск(?), Т2 сказала commit - что тогда? Страница опять пошла на диск или проверила, что она уже была сброшена на диск после чего Т2 в нее не вносла изменений и повторно можно не сбрасывать?
hvlad
Но не в этом суть...

О чём спорим ?
а) о призводительности
б) о надёжности
в) о сравнительном объёме журнала и инкрементного бекапа
г) о "серьёзности" (не знаю что это такое)
?
Я считаю, что СУБД с журналом транзакций имееют приимущество по совокупности пунктов а и б, перед СУБД не имеющими таковой.
...
Рейтинг: 0 / 0
PostgreSQL 8.2: сравнения с Oracle и MS SQL
    #34203754
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Apex забанен hvlad
Shadow позволяет иметь не меньшую степень надёжности

При бОльших требованиях к аппаратному обеспечению (обеспечить журнализацию проще, чем работу еще одного сервера).Нет. Читайте внимательнее - я уже говорил, что shadow располагается на том же сервере. Это страничная копия файла БД

Apex забанен hvlad ApexИдем дальше. Разумеется даже с журналом, наши 10 грязных страниц надо рано или поздно сбросить на диск, и разумеется тут мы проигрываем, т.к. надо сбросить 10 грязных страниц+страницу журнала, вместо просто 10 грязных страниц. Это когда транзакция одна. Теперь рассмотрим случай когда транзакций много. 10 транзакций последовательно меняют 10 строк в 10 разных страницах. Итого на диск уходит 100 страниц (уходят эти же 10, но каждая по 10 раз)Да. Но это только если эти тр-ции работают строго последовательно. Т.е. тр-ция2 не трогает страницу, изменённую тр-цией1 пока тр-ция1 не закоммитится. А это характерно только для невысокой нагрузки.

А если все-таки трогает, до того как первая закомитилась? Т1 внесла изменения в страницу А, Т2 внесла изменения в А, Т1 сказала commit - страница пошла на диск(?), Т2 сказала commit - что тогда? Страница опять пошла на диск или проверила, что она уже была сброшена на диск после чего Т2 в нее не вносла изменений и повторно можно не сбрасывать?Грязная страница, будучи сброшенной на диск, перестаёт быть грязной :) Конечно она будет записана только 1 раз

Apex забанен hvlad
Но не в этом суть...

О чём спорим ?
а) о призводительности
б) о надёжности
в) о сравнительном объёме журнала и инкрементного бекапа
г) о "серьёзности" (не знаю что это такое)
?
Я считаю, что СУБД с журналом транзакций имееют приимущество по совокупности пунктов а и б, перед СУБД не имеющими таковой.Считать что угодно и как угодно - ваше право. Истина от этого не зависит

PS А чего забанен-то ? Али я пропустил самое интересное ?
...
Рейтинг: 0 / 0
PostgreSQL 8.2: сравнения с Oracle и MS SQL
    #34203883
landy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladНе совсем так. В журнал однозначно нужно записывать как старые данные, так и новые. Это минимум в 2 раза больше объёма изменённых данных

Не совсем понятно - зачем? В журнал пишутся только новые закоммиченные данные
Накат журнала - это взять бэкап(со старыми данными) и последовательно провести изменения по журналу на новые данные.
Сделав n-1 таких операций - будем иметь "старые данные"
...
Рейтинг: 0 / 0
PostgreSQL 8.2: сравнения с Oracle и MS SQL
    #34203912
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
landy hvladНе совсем так. В журнал однозначно нужно записывать как старые данные, так и новые. Это минимум в 2 раза больше объёма изменённых данных

Не совсем понятно - зачем? В журнал пишутся только новые закоммиченные данные
Накат журнала - это взять бэкап(со старыми данными) и последовательно провести изменения по журналу на новые данные.
Сделав n-1 таких операций - будем иметь "старые данные"Затем, что журнал позволяет не только накат закоммиченного, но и откат не закоммиченного.
...
Рейтинг: 0 / 0
PostgreSQL 8.2: сравнения с Oracle и MS SQL
    #34203933
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
landyВ журнал пишутся только новые закоммиченные данные
не в оракле
...
Рейтинг: 0 / 0
PostgreSQL 8.2: сравнения с Oracle и MS SQL
    #34203981
landy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Затем, что журнал позволяет не только накат закоммиченного, но и откат не закоммиченного.

Для отката используется обычно WAL механизм, при этом не обязательно писать эти данные в журнал(в общем случае) транзакций, для этого использовать WAL файл, который содержит данные только между чекпоинтами
В журнал обычно пишутся только закоммиченные транзакции.
Хотя в Oracle (и в Oracle RDB кстати) пишуться и старые и новые данные, что позволяет "проиграть" состояние БД в обратную сторону. Но это ИМХО фичи
Просто уточниим - мы обсуждаем конкретную БД или в общем?
...
Рейтинг: 0 / 0
PostgreSQL 8.2: сравнения с Oracle и MS SQL
    #34204063
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
landyмы обсуждаем конкретную БД или в общем?
когда речь заходит о преимуществах чего-то над чем-то, то "в общем" говорить становится затруднительно :-)
...
Рейтинг: 0 / 0
PostgreSQL 8.2: сравнения с Oracle и MS SQL
    #34204132
landy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну насколько я понял - все свалилось к обсуждению вопроса - нужны ли журналы транзакций?
Для меня - пока в Postgres не было механизмов наката по журналам(PITR) я его смотрел, но не рассматривал
как БД для серьезного использвания.
Насчет инкрементальных бэкапов - насколько я понимаю - они должны делаться относительно какой-то точки отсчета(первоначальный бэкап БД). Кроме того(во всяком случае в RDB это так) каждый последующий инкрементальный бэкап содержит все изменения с полного бэкапа(т е он растет). Для восстановления БД нужно накатить последний инкрементальный бэкап на полный бэкап БД.
В других БД это так же я думаю(т е как выполняя последующие инкрементальные бжкапы мы можем узнать что забэкапили на предыдущем, т е точка отсчета все равно полный бэкап)?
...
Рейтинг: 0 / 0
PostgreSQL 8.2: сравнения с Oracle и MS SQL
    #34204290
Apex забанен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvladЭто страничная копия файла БД
Я вообще понял, что они на одной машине, просто думал, что там второй сервер (SQL-сервер) БД поднимать надо.

hvladСчитать что угодно и как угодно - ваше право. Истина от этого не зависит
Так вот хочется ее выяснить, подтвердив при этом свою правоту, либо развеяв свои заблуждения.

hvladPS А чего забанен-то ? Али я пропустил самое интересное ?
Нежная психика модератора не пережила моего хамского поста:)
P.S. заметьте, я не обижаюсь:)
...
Рейтинг: 0 / 0
PostgreSQL 8.2: сравнения с Oracle и MS SQL
    #34204346
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
landyНу насколько я понял - все свалилось к обсуждению вопроса - нужны ли журналы транзакций?
Для меня - пока в Postgres не было механизмов наката по журналам(PITR) я его смотрел, но не рассматривал
как БД для серьезного использвания.
Насчет инкрементальных бэкапов - насколько я понимаю - они должны делаться относительно какой-то точки отсчета(первоначальный бэкап БД). Кроме того(во всяком случае в RDB это так) каждый последующий инкрементальный бэкап содержит все изменения с полного бэкапа(т е он растет). Для восстановления БД нужно накатить последний инкрементальный бэкап на полный бэкап БД.
В других БД это так же я думаю(т е как выполняя последующие инкрементальные бжкапы мы можем узнать что забэкапили на предыдущем, т е точка отсчета все равно полный бэкап)?В Firebird инкрементальный бекап N+1-го уровня - дельта от N-го уровня. 0-ой уровень - полный бекап
...
Рейтинг: 0 / 0
PostgreSQL 8.2: сравнения с Oracle и MS SQL
    #34204523
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Позвольте подытожить:

В БД с журналами принудительно записывается журнал. На другой диск. В
результате после смерти базы журнал накатывается на последний бэкап, что
занимает время.

В БД без журналов принудительно записывается сама база. В случае с
shadow - на оба диска. В результате после смерти базы мы сразу имеем ее
полную копию.

В итоге вторые БД чуть медленее в работе, но быстрее в восстановлении.
Что и подтверждается всей вышетекущей дискуссией. Если я чего упустил -
поправьте.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
PostgreSQL 8.2: сравнения с Oracle и MS SQL
    #34204555
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибка в том, что базы данных с журналами позволяют:
1. Log Shipping - доставка лога на другой SQL Server (в том числе, и другой физически сервер)
2. Mirroring - зеркалирование баз данных.
...
Рейтинг: 0 / 0
PostgreSQL 8.2: сравнения с Oracle и MS SQL
    #34204561
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aron
1. Log Shipping - доставка лога на другой SQL Server (в том числе, и
другой физически сервер)

Да, репликация чуть проще реализуется. Т.е. маленький плюс к
масштабированию. Увы, фича не эксклюзивна. Без логов она работает ничуть
не хуже.
AAron
2. Mirroring - зеркалирование баз данных.

А это-то как связано с журналом?
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
PostgreSQL 8.2: сравнения с Oracle и MS SQL
    #34204567
Teilnehmer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nvladShadow позволяет иметь не меньшую степень надёжности
Если из-за ошибок пользователя, администратора или приложения будут потеряны данные - Shadow не поможет. А журнал транзакций позволит восстановить состояние БД до нужного момента времени.
...
Рейтинг: 0 / 0
25 сообщений из 193, страница 5 из 8
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / PostgreSQL 8.2: сравнения с Oracle и MS SQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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