Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 5 [6] 7 8 9 10 .. 14   вперед  Ctrl
 Re: Firebird, PostgreSQL, MsSql, Oracle  [new]
Любитель MSSQL
Guest
Ivan Durak
Любитель MSSQL
У многих адептов IB/FB здесь есть не совсем верное понимание об архитектуре MS SQL:

1. Все изменения страниц происходят в ОЗУ. Если данной страницы в ОЗУ нет, ее подгружает сервер из файла данных.
2. Измененная страница не попадает сразу в файл данных, а хранится в ОЗУ и все новые запросы к ней обращаются именно к измененному состоянию страницы, которое хранится в ОЗУ
3. Все запросы читают данные из ОЗУ, если их там нет, то они подгружаются
4. Если "грязная" страница не сброшена на диск и опять подвергается изменению, она просто становится более "грязнее" (это к вопросу hvlad) и когда-нибудь она будет сброшена на диск в последнем состоянии.
5. Сброс на диск (он же чекпойнт) процедура вовсе некритически важная для целостности базы. Вся информация о странице есть в журнале транзакций.
6. Каждая страница в файле данных имеет номер транзакции после последнего сброса, и в случае сбоя, при восстановлении базы сервер сравнивает последний номер транзакции базы с последним номером данной страницы, и принимается решение о накате или откате.
7. То есть SQL Server проводит "красной нитью" концепцию "меньше работаем с файлами данных на запись", "все делаем в ОЗУ", "последовательно пишем в журнал".

Хотя я могу ошибаться, но многоуважаемый мною pkarklin меня думаю поправит.

чето я одного не понимаю?? Есть субд где это не так (мускл оставим). Асинхронный сброс на диск чекпоинтами - это стандарт давно же, не??

Любая файл-серверная СУБД. И до вчерашнего дня по-моему мнению и Firebird (оказывается я ошибался, каюсь, думал, что у ФБ не только нет лога, но кэша данных, таким образом непреднамеренно опустил ФБ ниже плинтуса, чем навлек на себя гнев его адептов).
P.S.
Также я пытался донести до kdv, что в файл данных в MS измененные страницы попадают не из журнала, а из ОЗУ,
и пытался пояснить hvlad его домысел (хотя, наверное неправильно понял его цитату), что страница может быть "грязнее" чем была с момента старта чекпойнта, он просто написал, что якобы при чекпойнте в ОЗУ блокируется страницы на запись до его окончания, и якобы из-за существует вероятность при плотном потоке, что контроллер диска не будет "успевать" делать свою работу ("бутылочное горлышко", мол транзакцию прут и прут, кэш заблокирован чекпойнтом, а контроллер никак не может все быстро сбросить), таким образом все может захлебнуться. Я вырвал фразу из контекста. А hvlad после комментария pkarklinа о фантасмагории, сказал, что тут не с кем разговаривать.
5 мар 15, 11:59    [17345909]     Ответить | Цитировать Сообщить модератору
 Re: Firebird, PostgreSQL, MsSql, Oracle  [new]
Dimitry Sibiryakov
Member

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

Любитель MSSQL
он просто написал, что якобы при чекпойнте в ОЗУ блокируется страницы
на запись до его окончания

Нет, он писал совсем не это. Он писал, что страница блокируется от момента начала её
записи до момента окончания её записи. Просто, по своей привычке пропустил несколько слов.

Posted via ActualForum NNTP Server 1.5

5 мар 15, 12:16    [17346009]     Ответить | Цитировать Сообщить модератору
 Re: Firebird, PostgreSQL, MsSql, Oracle  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 11092
Любитель MSSQL,

Влад тебе не о том говорил. Конечно же не все страницы блокируются на время чекпойнта, а та что скидывается на диск, а может ещё несколько связанных страниц.
5 мар 15, 12:23    [17346045]     Ответить | Цитировать Сообщить модератору
 Re: Firebird, PostgreSQL, MsSql, Oracle  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 11092
Dimitry Sibiryakov,

+1
5 мар 15, 12:24    [17346052]     Ответить | Цитировать Сообщить модератору
 Re: Firebird, PostgreSQL, MsSql, Oracle  [new]
Вася Уткин
Guest
pkarklin
hvlad
При плотном потоке изменений Lazy Writer не будет успевать сбросить все грязные страницы между чекпойнтами и\или предотвратить заполнение всего кеша грязными страницами.
На более низком уровне - контроллер диска обработает меньше запросов на чтение, при наличии потока запросов на запись.
И т.д. Я не удивлюсь, если там есть ещё связи, которые мне отсюда не видны.


А можно это фантасмогорию представить в виде репро? Я готов в выходные потратить время на прогоне этого всего на Stage окружении.

Адепты бесплатных СУБД привыкли использовать бесплатные сервера с 1ГБ и бесплатных админов, поэтому такое репро возможно только в голове hvlad

Пока большая часть 128 ГБ ОЗУ не заполниться грязными страницами, асинхронная запись в БД будет иметь меньший приоритет в очереди на диск, чем чтение. "меньше запросов на чтение, при наличии потока запросов на запись" - очевидное не понимание работы очереди с приоритетами, но никто его не поправит, неужели у них такая солидарность в малограмотности?
5 мар 15, 12:31    [17346095]     Ответить | Цитировать Сообщить модератору
 Re: Firebird, PostgreSQL, MsSql, Oracle  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 9882
Вася Уткин
Пока большая часть 128 ГБ ОЗУ не заполниться грязными страницами, асинхронная запись в БД будет иметь меньший приоритет в очереди на диск, чем чтение. "меньше запросов на чтение, при наличии потока запросов на запись" - очевидное не понимание работы очереди с приоритетами, но никто его не поправит, неужели у них такая солидарность в малограмотности?

Откуда такие сведения? Где можно почитать?

Интересовался в плане настройки OS Linux для PostgreSQL (Oracle работает мимо кеша ОС, т.ч. для него не так актуально).

Насколько я понял, приоритеты при операциях на диск контролирует "планировщик дисков" и то, если он установлен "правильный". Как я понял, для БД "правильный" это Deadline (а не новомодный CFG).

НО даже при планировщике поведения "Пока большая часть 128 ГБ ОЗУ не заполниться грязными страницами, асинхронная запись в БД будет иметь меньший приоритет в очереди на диск, чем чтение" не будет:
1) Запись из очереди на устройство должна будет инициироваться по write_expire (по умолчанию для записи 5 сек)
2) Запись из очереди на устройство должна будет инициироваться по writes_starved (по умолчанию 2)

IMHO & AFAIK

Про другие СУБД не скажу, но PostgreSQL запись из буферов будет производить отдельным процессом. Опять таки по таймауту и/или разгребая нужное кол-во места в буферном кэше, а не исходя из "пока большая часть ... ОЗУ не заполниться". Аналогично, насколько я помню, и Oracle. И никакого приоритета "записи перед чтением" в описании потоков "скидывания буферов на диск" ни у PostgreSQL, ни у Oracle у не помню.

IMHO & AFAIK

Могу ошибаться. Вообще плохо представляю себе работу Linux и взаимодействие кэша ОС + очереди на диск.
5 мар 15, 14:16    [17346897]     Ответить | Цитировать Сообщить модератору
 Re: Firebird, PostgreSQL, MsSql, Oracle  [new]
Вася Уткин
Guest
Leonid Kudryavtsev, плюс ещё есть планировщик в самой СУБД.
5 мар 15, 14:19    [17346923]     Ответить | Цитировать Сообщить модератору
 Re: Firebird, PostgreSQL, MsSql, Oracle  [new]
Таблоид
Member

Откуда:
Сообщений: 9456
Блог
Вася Уткин
Пока большая часть 128 ГБ ОЗУ не заполниться грязными страницами, асинхронная запись в БД будет иметь меньший приоритет в очереди на диск, чем чтение.
Откройте для себя forced writes = OFF (выставляется просто: gfix -w async /path/file.fdb). При работе под виндузой, если будет выставлено это fw = off, также надо установить в firebird.conf параметры:
MaxUnflushedWrites = -1
MaxUnflushedWriteTime = -1

-- и тогда Firebird не будет ждать отклика от ОСи об окончании записи грязных страниц, это будет уже только проблема операционки. При работе в linux это приводит примерно к 2х увеличению произв-сти.
Разумеется, ваш продакшен должен при этом реплицироваться или иметь shadow-копию на nfs - но это уже другой вопрос.
5 мар 15, 14:20    [17346933]     Ответить | Цитировать Сообщить модератору
 Re: Firebird, PostgreSQL, MsSql, Oracle  [new]
этта
Guest
Таблоид
<>Откройте для себя forced writes = OFF<>

и сразу закройте
, вместе с резюме таблоида, переложив его в пачечку соискателей метлы и совка.
5 мар 15, 14:25    [17346983]     Ответить | Цитировать Сообщить модератору
 Re: Firebird, PostgreSQL, MsSql, Oracle  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 11092
Таблоид,

ну его нафиг. Вот если бы был журнал, тогда в этом режиме можно было бы работать. А так я не готов рисковать своей базой.
5 мар 15, 14:27    [17347000]     Ответить | Цитировать Сообщить модератору
 Re: Firebird, PostgreSQL, MsSql, Oracle  [new]
dimitr
Member

Откуда: PNZ
Сообщений: 7000
Симонов Денис
Вот если бы был журнал, тогда в этом режиме можно было бы работать.

достаточно синхронной репликации
5 мар 15, 14:29    [17347022]     Ответить | Цитировать Сообщить модератору
 Re: Firebird, PostgreSQL, MsSql, Oracle  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 9882
Вася Уткин
Leonid Kudryavtsev, плюс ещё есть планировщик в самой СУБД.

Где?

Ткните носом в PostgreSQL и/или Oracle в режиме dedicated при БД на файловой системе.

1. Есть пользовательские потоки которые _обычно_ читают данные.
2. Есть DBWR который скидывает грязные блоки.

AFAIK и то и другое полностью независимо друг от друга. В PostgreSQL DBWR просыпается по таймауту и тупо записывает N штук наиболее грязных блоков на диск (по доке, сорцы не смотрел). N определяется или константой или по некой формуле исходя из нагрузки на буферный кэш со стороны пользовательских потоков.

О никаком "планировщике в СУБД" в доках не встречал

Единственно, где встречал такие слова, статьи на Redhat, где Deadline disk scheduler для СУБД рекомендуют настраивать в режиме "приоритет чтения перед записью", без конкретики и реальных тестов.
Вася Уткин
Пока большая часть 128 ГБ ОЗУ не заполниться грязными страницами

AFAIK современные СУБД пытаются не накапливать очень много "грязных страниц", т.к. в этом случае, может случиться "ой ой ой" в момент checkpoint'а (в современном Oracle "incremental checkpoint" вроде данную проблему решает). Поэтому DBWR и скидывает в фоне данные...
===
Все AFAIK. Могу ошибаться. Не админ
5 мар 15, 14:30    [17347026]     Ответить | Цитировать Сообщить модератору
 Re: Firebird, PostgreSQL, MsSql, Oracle  [new]
dimitr
Member

Откуда: PNZ
Сообщений: 7000
Таблоид
Откройте для себя

он тебе про Фому (MSSQL), а ты ему про Ерему (FBSQL). Продолжайте в том же духе :-)
5 мар 15, 14:31    [17347034]     Ответить | Цитировать Сообщить модератору
 Re: Firebird, PostgreSQL, MsSql, Oracle  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 11092
dimitr,

хотябы
5 мар 15, 14:31    [17347035]     Ответить | Цитировать Сообщить модератору
 Re: Firebird, PostgreSQL, MsSql, Oracle  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3789
Любитель MSSQL
Ivan Durak
пропущено...

чето я одного не понимаю?? Есть субд где это не так (мускл оставим). Асинхронный сброс на диск чекпоинтами - это стандарт давно же, не??

Любая файл-серверная СУБД.

а конкретнее??? ну ассеss, раз. mysql там разный два. Кто еще?
5 мар 15, 14:57    [17347252]     Ответить | Цитировать Сообщить модератору
 Re: Firebird, PostgreSQL, MsSql, Oracle  [new]
Любитель MSSQL
Guest
Ivan Durak
Любитель MSSQL
пропущено...

Любая файл-серверная СУБД.

а конкретнее??? ну ассеss, раз. mysql там разный два. Кто еще?

mysql -клиент-сервер!
5 мар 15, 15:12    [17347388]     Ответить | Цитировать Сообщить модератору
 Re: Firebird, PostgreSQL, MsSql, Oracle  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3789
Любитель MSSQL
Ivan Durak
пропущено...

а конкретнее??? ну ассеss, раз. mysql там разный два. Кто еще?

mysql -клиент-сервер!

тем более, так кто???

p.s. MyISAM же без логов?!
5 мар 15, 15:19    [17347454]     Ответить | Цитировать Сообщить модератору
 Re: Firebird, PostgreSQL, MsSql, Oracle  [new]
зюзя топ
Guest
Вася Уткин
Адепты бесплатных СУБД привыкли использовать бесплатные сервера с 1ГБ и бесплатных админов, поэтому такое репро возможно только в голове hvlad


Я дико извиняюсь, но ТС вел речь о сравнении именно бесплатных СУБД, и он сравнивает MSSQL Express с другими бесплатными СУБД. У вас есть что сказать по теме?
5 мар 15, 17:27    [17348620]     Ответить | Цитировать Сообщить модератору
 Re: Firebird, PostgreSQL, MsSql, Oracle  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 11092
зюзя топ,

ТСу надо совершено другие критерии вводить в эту табличку, иначе это сравнение будет не в пользу MS SQL Express
5 мар 15, 17:35    [17348672]     Ответить | Цитировать Сообщить модератору
 Re: Firebird, PostgreSQL, MsSql, Oracle  [new]
S.G.
Member

Откуда: cartoon network
Сообщений: 30611
Любитель MSSQL
Это не придумки, повторюсь. Если вам необходимо записать 1000 дисковых блоков "последовательно", то есть головка будет себе постепенно смещаться в соседние сектора. Или в случае FB, она будет елозить по всему диску 1000 раз туда-сюда... А если 100 000...? Цифру 50 пользователей я взял с потолка. Просто подумайте какая бешенная нагрузка на перемещение головки.
Любитель MSSQL,
pkarklin
Было бы здОрово, если бы вместо баек, приводились бы выкладки.
5 мар 15, 21:09    [17349466]     Ответить | Цитировать Сообщить модератору
 Re: Firebird, PostgreSQL, MsSql, Oracle  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
hvlad,

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

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

Т.е. сами Вы с такой ситуацией не сталкивались и все, что Вами написано, это нечто "нереальное, призрачное, созданное мечтой, воображением, в бреду" (другое значение для "фантасмагория")?
автор
Если вы с этим не согласны - ваше право, я не имею ни малейшего желания тут кого-то в чём-то убеждать.

Лучшее убеждение, это не слова, а скрипты и показания счетчиков производительности. Но раз не хотите, то и не надо.
5 мар 15, 21:39    [17349598]     Ответить | Цитировать Сообщить модератору
 Re: Firebird, PostgreSQL, MsSql, Oracle  [new]
Dimitry Sibiryakov
Member

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

Любитель MSSQL
SSD не спасает, так как он не выигрывает по записи у обычного SAS.

Прааальна. Random Write у него такое же как Sequential Write. А это значит, что
преимущества у последовательной записи лога - исчезают, а недостатки двойной записи данных
- остаются.

Posted via ActualForum NNTP Server 1.5

5 мар 15, 21:50    [17349639]     Ответить | Цитировать Сообщить модератору
 Re: Firebird, PostgreSQL, MsSql, Oracle  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 11092
pkarklin,

ему некогда. Есть дела поважнее
5 мар 15, 21:52    [17349645]     Ответить | Цитировать Сообщить модератору
 Re: Firebird, PostgreSQL, MsSql, Oracle  [new]
hvlad
Member

Откуда:
Сообщений: 11553
pkarklin
Боже упаси Вас что-либо доказывать мне
Типичный снобизм и завышенная самооценка.
pkarklin
Но раз не хотите, то и не надо.
Именно, не хочу. С вами говорить - не хочу. Нет смысла.
5 мар 15, 21:53    [17349648]     Ответить | Цитировать Сообщить модератору
 Re: Firebird, PostgreSQL, MsSql, Oracle  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
hvlad
pkarklin
Боже упаси Вас что-либо доказывать мне
Типичный снобизм и завышенная самооценка.
pkarklin
Но раз не хотите, то и не надо.
Именно, не хочу. С вами говорить - не хочу. Нет смысла.


Ну, совсем отлично. Теперь Вы решили "перейти на личности". Очень Вам к лицу!
5 мар 15, 22:03    [17349672]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 5 [6] 7 8 9 10 .. 14   вперед  Ctrl
Все форумы / Сравнение СУБД Ответить