Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 9 10 11 12 13 [14] 15 16 17 18 .. 54   вперед  Ctrl
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Yo.!
потрясающий солюшен


Конечно! Если автор до этого имел бд в Full Recovery Model и ничего не делал с логом.
13 окт 13, 13:20    [14962712]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
Yo.!
Guest
pkarklin
KILL <spid>
или
sp_removedbreplication
нетривиальные скрипты? Или нетривиальным считается
DBCC OPENTRAN
?

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

pkarklin
Огласите весь список, пожалуйста! ((с) х\ф Операция Ы и другие приключения шурика)

я знаю людей которые многое бы отдали за такой список ...
13 окт 13, 13:27    [14962720]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4919
Блог
pkarklin
Alexander Ryndin
А можно ссылку, а то вот тут 14962663 вы почему-то про это рассказывали как-будто это новая фича AlwaysOn

Отнюдь не новая.
Automatic page repair is supported by database mirroring and by AlwaysOn Availability Groups. http://technet.microsoft.com/en-us/library/bb677167(v=sql.110).aspx
И где там речь про 2005 год? Вижу, что в SQL Server 2008 это было, но это ведь не 2005 год. SQL Server 2008 RTM вышел в августе 2008.
13 окт 13, 13:28    [14962721]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4919
Блог
pkarklin
Yo.!
потрясающий солюшен


Конечно! Если автор до этого имел бд в Full Recovery Model и ничего не делал с логом.
Можно для тупых? Зачем при дифференциальном копировании нужен лог? Ну лежит он у меня и лежит. Что с того.

P.S. про Simple поржал, да
13 окт 13, 13:30    [14962723]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
Dimitry Sibiryakov
Member

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

pkarklin
В каком месте, позвольте узнать?!

А каким способом это ваше "специальное место" с признаком изменения страниц после полного
бэкапа на диск попадёт? Телемагически?..

Posted via ActualForum NNTP Server 1.5

13 окт 13, 13:31    [14962726]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Yo.!
ога, майкрософт стайл, к черту транзакции дольше 5 минут, а это был пересчет процентов за год и письма уже клиентам ушли ... зато срубили не тривиально


Как ушли, если транзакция еще не закоммитилась? Это в Oracle принято отправлять письма до COMMITа?
13 окт 13, 13:32    [14962729]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Dimitry Sibiryakov
А каким способом это ваше "специальное место" с признаком изменения страниц после полного
бэкапа на диск попадёт? Телемагически?..


А какое будет влияние этого места на общее IO при DML?
13 окт 13, 13:33    [14962731]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
Dimitry Sibiryakov
Member

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

pkarklin
А какое будет влияние этого места на общее IO при DML?

При записи каждой изменившейся страницы придётся записать и признак что эта страница
изменилась. Удвоение объёма записи, однако...

Posted via ActualForum NNTP Server 1.5

13 окт 13, 13:39    [14962738]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Dimitry Sibiryakov
При записи каждой изменившейся страницы придётся записать и признак что эта страница
изменилась. Удвоение объёма записи, однако...


Откуда удвоение то?! Запись на странице изменилась. В системной странице для изменной страницы поставили признак модификации.
13 окт 13, 13:41    [14962741]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
Dimitry Sibiryakov
Member

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

pkarklin
Откуда удвоение то?! Запись на странице изменилась. В системной странице
для изменной страницы поставили признак модификации.

А дальше? Записывать эти две изменённые страницы на диск собираетесь или они будут ждать
внезапной перезагрузки компа в ОЗУ?..

Posted via ActualForum NNTP Server 1.5

13 окт 13, 13:44    [14962743]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Dimitry Sibiryakov
А дальше? Записывать эти две изменённые страницы на диск собираетесь или они будут ждать
внезапной перезагрузки компа в ОЗУ?..


Еще раз. Откуда удвоение? Сколько нужно системных страниц для хранения признака изменения у несистемных?
13 окт 13, 13:46    [14962745]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4919
Блог
Alexander Ryndin
pkarklin
пропущено...


Конечно! Если автор до этого имел бд в Full Recovery Model и ничего не делал с логом.
Можно для тупых? Зачем при дифференциальном копировании нужен лог? Ну лежит он у меня и лежит. Что с того.

P.S. про Simple поржал, да
Так объясните мне кто-нибудь механику, зачем при diff backup нам нужен лог?
13 окт 13, 13:50    [14962752]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
ViPRos
Member

Откуда:
Сообщений: 9967
Alexander Ryndin,

да затем, что майкрософт так решила
13 окт 13, 13:53    [14962757]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
Yo.!
Guest
Alexander Ryndin
Можно для тупых? Зачем при дифференциальном копировании нужен лог? Ну лежит он у меня и лежит. Что с того.

P.S. про Simple поржал, да

так мсскл по другому не могет. бэкап делает неконсистентеую копию, а лог нужен для того, что бы откатить незакомиченные транзакции. посему если лог раздуло
13 окт 13, 13:55    [14962762]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
Dimitry Sibiryakov
Member

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

pkarklin
Еще раз. Откуда удвоение? Сколько нужно системных страниц для хранения
признака изменения у несистемных?

Это неважно. Важно то, что каждый раз их надо записывать на диск иначе у транзакций из
ACID пропадёт D.

Смотри сюда: если страницу данных на диск записали, а системную отложили "на потом", то
при приходе внезапного сбоя с последующей перезагрузкой эта страница данных уже не будет
помечена как изменённая (ведь в записанной ранее системной странице такой пометки ещё нет,
а свежая версия системной страницы ещё не была записана и из ОЗУ испарилась) и в
дифференциальный бэкап уже не попадёт. Так работает MS SQL? Или всё-таки его писали не
идиоты и записывают изменившуюся страницу данных и соответствующую ей системную вместе,
при коммите?

Posted via ActualForum NNTP Server 1.5

13 окт 13, 13:56    [14962764]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Dimitry Sibiryakov
Так работает MS SQL? Или всё-таки его писали не
идиоты и записывают изменившуюся страницу данных и соответствующую ей системную вместе,
при коммите?


MS SQL при коммите вообще ничего не записывает для страниц данных. http://technet.microsoft.com/en-us/library/aa337560(v=sql.105).aspx
13 окт 13, 13:59    [14962775]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Alexander Ryndin
Так объясните мне кто-нибудь механику, зачем при diff backup нам нужен лог?


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

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

Вы же:

1. Имеете бд в Full Recovery Mode;
2. Не делаете бэкап лога, ибо только он (а не дифф или фулл бэкап) очищает лог.

Вы можете продолжить свой эксперимент. Выполнить модификации после дифф. бэкапа. Затем сделать еще один полный бэкап. Затем удалить дифф и второй полный бэкап. Сделать бэкап лога и восстановить бд на любой момент времени, подняв первый полный бэкап и необходимую Вам часть из бэкапа лога.
13 окт 13, 14:15    [14962795]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67463
Блог
iv_an_ru
OYM
Из точки А в точку Б, всегда хочется добраться менее трудозатратным и кратчайшим путем...
Готовый лозунг "детей мадженты", ага.

+1

Вообще про "менее трудозатратный и кратчайший путь", не вынуждающий при этом жертвовать качеством, очень толково было написано на баше.
13 окт 13, 17:50    [14963076]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4919
Блог
pkarklin
Alexander Ryndin
Задача по партицированию таблицы и смене типов данных в ONLINE решаются одной и той же технологией - DBMS_REDEFINITION.
Ничего похожего в MSSQL нет. Единственный вариант - это использовать репликацию, но у MSSQL и нормальной репликации, которая могла бы это сделать, кажется нет.


Изменения типа данных это онлайн операция, требущая очень короткой блокировки Sch-M (модификация схемы) при выполнении инструкции:

ALTER TABLE dbo.SomeTable ALTER COLUMN SomeColumn <тут новый тип данных>
Хм... вот на 2008R2 у меня зависает надолго (видать выполняет full scan). При этом висит монопольная блокировка, которая не дает даже читать таблицу. Перед этим включал row versioning, который (по идее) должен позволить читать таблицу паралелльно со всякими такими операциями. Что я делаю не так?
ALTER DATABASE db1
    SET READ_COMMITTED_SNAPSHOT ON;

pkarklin
С партицированием и перепатрицированием ((с) автор) тоже самое. Это онлайн операция, требующая очень короткой блокировки Sch-M
Давайте я для вас еще раз объясню. Медленно. Могу 2 раза.
1) У меня есть таблица ORDERS. В ней 100 млн. записей. Есть поле ORDER_DATE. Даты в поле ORDER_DATE начинаются с 1 января 2010, заканчиваются 31 декабря 2011. Партицирования нет.
2) Хочется иметь эту же таблицу. Но партицированную по полю ORDER_DATE с месячным интервалом.
3) Прерывать работу DML над этой таблицей нельзя.

Как мне это сделать в MSSQL?
13 окт 13, 19:30    [14963283]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4919
Блог
pkarklin
Alexander Ryndin
Так объясните мне кто-нибудь механику, зачем при diff backup нам нужен лог?

1. Имеете бд в Full Recovery Mode;
2. Не делаете бэкап лога, ибо только он (а не дифф или фулл бэкап) очищает лог.
Ага. Понятно. Это просто защита от дурака - при каждом diff backup делается сам diff backup и обязательно резервная копия лога, начиная с предыдущего full backup. Сделано это для того, чтобы можно было восстановиться в режиме POINT-IN-TIME.
В этом плане Oracle гораздо более гибкий - он позволяет мне не backupить каждый раз лог. Тем более весь лог с предыдущего full - мне ведь может и не хотеться иметь возможность POINT-IN-TIME в обмен на меньший объем резервной копии.
13 окт 13, 19:37    [14963297]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
OYM
Member

Откуда:
Сообщений: 236
Yo.!
pkarklin
KILL <spid>
или
sp_removedbreplication
нетривиальные скрипты? Или нетривиальным считается
DBCC OPENTRAN
?

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

pkarklin
Огласите весь список, пожалуйста! ((с) х\ф Операция Ы и другие приключения шурика)

я знаю людей которые многое бы отдали за такой список ...


А зачем усекать лог? Достаточно сделать резервное копирование лога. Или у вас супер длинная транзакция? Я не представляю как нужно проектировать систему, чтобы активная часть журнала занимала сотни гигабайт. Допустим у вас файл журнала имеет размер 200 Гб. Когда Вы сделаете резервное копирование журнала, то размер и останется 200 Гб, но он будет пустой не в активной части. И работайте себе на здоровье, зачем делать эту дурацкую процедуру усечения?
13 окт 13, 22:44    [14963902]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
OYM
Member

Откуда:
Сообщений: 236
Victor Metelitsa
Yo.!
в плане бэкапа язык дело десятое, учитывая, что у всех уже с десяток лет гуй для зеленых пользователей имеется. главное, что в оракле один раз можно написать нехитрый скрипт и спать спокойно


А вот и нет. Мало сделать бекап, нужно ещё суметь из него восстановить, причём действия могут разниться в разной обстановке. Отсюда, в случае Oracle, нужно понимать его весьма сложные внутренности. Потому про бекапы/восстановления - половина экзамена OCP!
g
Много людей ходят на курсы администрирования Оракла по 2-3 мес. и даже после этого не могут восстановиться. В SQL Server за пару дней можно освоить базовые вещи восстановления без курсов.
13 окт 13, 22:49    [14963924]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4919
Блог
OYM
Victor Metelitsa
пропущено...


А вот и нет. Мало сделать бекап, нужно ещё суметь из него восстановить, причём действия могут разниться в разной обстановке. Отсюда, в случае Oracle, нужно понимать его весьма сложные внутренности. Потому про бекапы/восстановления - половина экзамена OCP!
g
Много людей ходят на курсы администрирования Оракла по 2-3 мес. и даже после этого не могут восстановиться. В SQL Server за пару дней можно освоить базовые вещи восстановления без курсов.

Вы считаете невозможно научиться человпка кликать мышкой, как показано в видео за 2-3 месяца? Мда... Мне кажется это может освоить младенец за 15 минут.
Кстати, при учете всяких проблем с усеканием лога MSSQL - по резервному копированию в MSSQL нужно знать даже больше.

13 окт 13, 23:08    [14963966]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Alexander Ryndin
В этом плане Oracle гораздо более гибкий - он позволяет мне не backupить каждый раз лог. Тем более весь лог с предыдущего full - мне ведь может и не хотеться иметь возможность POINT-IN-TIME в обмен на меньший объем резервной копии.
Если в MSSQL не нужен point-in-time recovery, базу данных переводят в режим восстановления simple. После чего остаётся возможность восстановления на моменты снятия фулл бэкапа или дифф бэкапа. Меньший объём резервной копии прилагается.
Alexander Ryndin
про Simple поржал, да
Мысль не ясна. Что смешного в этом режиме восстановления?
14 окт 13, 00:17    [14964192]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4919
Блог
Гость333
Alexander Ryndin
В этом плане Oracle гораздо более гибкий - он позволяет мне не backupить каждый раз лог. Тем более весь лог с предыдущего full - мне ведь может и не хотеться иметь возможность POINT-IN-TIME в обмен на меньший объем резервной копии.
Если в MSSQL не нужен point-in-time recovery, базу данных переводят в режим восстановления simple. После чего остаётся возможность восстановления на моменты снятия фулл бэкапа или дифф бэкапа. Меньший объём резервной копии прилагается.
Alexander Ryndin
про Simple поржал, да
Мысль не ясна. Что смешного в этом режиме восстановления?
1) А как тогда выполнить восстановление одного умершего файла данных? Не хочется из-за одного 1Гб файла восстанавливать всю базу в 20 Тб, да еще и терять все изменения в 20 Тб базе из-за этого дурацкого 1 Гб файлика.

2) Ну и как бы point-in-time recovery мне не нужен такой ценой, но я точно не хочу отказываться от возможностью восстановить все данные, если не умер transaction log. А в Simple я не смогу восстановить базу без потери транзакций.

P.S. кстати, а есть ли возможность в MSSQL для надежности задублировать транзакционные журнал на примонтированный диск?
14 окт 13, 00:29    [14964217]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 9 10 11 12 13 [14] 15 16 17 18 .. 54   вперед  Ctrl
Все форумы / Сравнение СУБД Ответить