powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Firebird, PostgreSQL, MsSql, Oracle
25 сообщений из 343, страница 6 из 14
Firebird, PostgreSQL, MsSql, Oracle
    #38895730
Фотография Любитель MSSQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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а о фантасмагории, сказал, что тут не с кем разговаривать.
...
Рейтинг: 0 / 0
Firebird, PostgreSQL, MsSql, Oracle
    #38895762
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Любитель MSSQLон просто написал, что якобы при чекпойнте в ОЗУ блокируется страницы
на запись до его окончания
Нет, он писал совсем не это. Он писал, что страница блокируется от момента начала её
записи до момента окончания её записи. Просто, по своей привычке пропустил несколько слов.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird, PostgreSQL, MsSql, Oracle
    #38895778
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Любитель MSSQL,

Влад тебе не о том говорил. Конечно же не все страницы блокируются на время чекпойнта, а та что скидывается на диск, а может ещё несколько связанных страниц.
...
Рейтинг: 0 / 0
Firebird, PostgreSQL, MsSql, Oracle
    #38895780
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

+1
...
Рейтинг: 0 / 0
Firebird, PostgreSQL, MsSql, Oracle
    #38895792
Вася Уткин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pkarklinhvladПри плотном потоке изменений Lazy Writer не будет успевать сбросить все грязные страницы между чекпойнтами и\или предотвратить заполнение всего кеша грязными страницами.
На более низком уровне - контроллер диска обработает меньше запросов на чтение, при наличии потока запросов на запись.
И т.д. Я не удивлюсь, если там есть ещё связи, которые мне отсюда не видны.

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

Пока большая часть 128 ГБ ОЗУ не заполниться грязными страницами, асинхронная запись в БД будет иметь меньший приоритет в очереди на диск, чем чтение. "меньше запросов на чтение, при наличии потока запросов на запись" - очевидное не понимание работы очереди с приоритетами, но никто его не поправит, неужели у них такая солидарность в малограмотности?
...
Рейтинг: 0 / 0
Firebird, PostgreSQL, MsSql, Oracle
    #38895988
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вася УткинПока большая часть 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 и взаимодействие кэша ОС + очереди на диск.
...
Рейтинг: 0 / 0
Firebird, PostgreSQL, MsSql, Oracle
    #38895996
Вася Уткин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsev, плюс ещё есть планировщик в самой СУБД.
...
Рейтинг: 0 / 0
Firebird, PostgreSQL, MsSql, Oracle
    #38896001
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вася УткинПока большая часть 128 ГБ ОЗУ не заполниться грязными страницами, асинхронная запис ь в БД будет иметь меньший приоритет в очереди на диск, чем чтение.Откройте для себя forced writes = OFF (выставляется просто: gfix -w async /path/file.fdb). При работе под виндузой, если будет выставлено это fw = off, также надо установить в firebird.conf параметры:
MaxUnflushedWrites = -1
MaxUnflushedWriteTime = -1

-- и тогда Firebird не будет ждать отклика от ОСи об окончании записи грязных страниц, это будет уже только проблема операционки. При работе в linux это приводит примерно к 2х увеличению произв-сти.
Разумеется, ваш продакшен должен при этом реплицироваться или иметь shadow-копию на nfs - но это уже другой вопрос.
...
Рейтинг: 0 / 0
Firebird, PostgreSQL, MsSql, Oracle
    #38896015
этта
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таблоид<>Откройте для себя forced writes = OFF<>
и сразу закройте
, вместе с резюме таблоида, переложив его в пачечку соискателей метлы и совка.
...
Рейтинг: 0 / 0
Firebird, PostgreSQL, MsSql, Oracle
    #38896020
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид,

ну его нафиг. Вот если бы был журнал, тогда в этом режиме можно было бы работать. А так я не готов рисковать своей базой.
...
Рейтинг: 0 / 0
Firebird, PostgreSQL, MsSql, Oracle
    #38896027
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисВот если бы был журнал, тогда в этом режиме можно было бы работать.
достаточно синхронной репликации
...
Рейтинг: 0 / 0
Firebird, PostgreSQL, MsSql, Oracle
    #38896029
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вася Уткин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. Могу ошибаться. Не админ
...
Рейтинг: 0 / 0
Firebird, PostgreSQL, MsSql, Oracle
    #38896032
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидОткройте для себя
он тебе про Фому (MSSQL), а ты ему про Ерему (FBSQL). Продолжайте в том же духе :-)
...
Рейтинг: 0 / 0
Firebird, PostgreSQL, MsSql, Oracle
    #38896033
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr,

хотябы
...
Рейтинг: 0 / 0
Firebird, PostgreSQL, MsSql, Oracle
    #38896087
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Любитель MSSQLIvan Durakпропущено...

чето я одного не понимаю?? Есть субд где это не так (мускл оставим). Асинхронный сброс на диск чекпоинтами - это стандарт давно же, не??
Любая файл-серверная СУБД.
а конкретнее??? ну ассеss, раз. mysql там разный два. Кто еще?
...
Рейтинг: 0 / 0
Firebird, PostgreSQL, MsSql, Oracle
    #38896121
Фотография Любитель MSSQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan DurakЛюбитель MSSQLпропущено...

Любая файл-серверная СУБД.
а конкретнее??? ну ассеss, раз. mysql там разный два. Кто еще?
mysql -клиент-сервер!
...
Рейтинг: 0 / 0
Firebird, PostgreSQL, MsSql, Oracle
    #38896134
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Любитель MSSQLIvan Durakпропущено...

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

p.s. MyISAM же без логов?!
...
Рейтинг: 0 / 0
Firebird, PostgreSQL, MsSql, Oracle
    #38896370
зюзя топ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вася УткинАдепты бесплатных СУБД привыкли использовать бесплатные сервера с 1ГБ и бесплатных админов, поэтому такое репро возможно только в голове hvlad

Я дико извиняюсь, но ТС вел речь о сравнении именно бесплатных СУБД, и он сравнивает MSSQL Express с другими бесплатными СУБД. У вас есть что сказать по теме?
...
Рейтинг: 0 / 0
Firebird, PostgreSQL, MsSql, Oracle
    #38896384
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зюзя топ,

ТСу надо совершено другие критерии вводить в эту табличку, иначе это сравнение будет не в пользу MS SQL Express
...
Рейтинг: 0 / 0
Firebird, PostgreSQL, MsSql, Oracle
    #38896605
Фотография S.G.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Любитель MSSQLЭто не придумки, повторюсь. Если вам необходимо записать 1000 дисковых блоков "последовательно", то есть головка будет себе постепенно смещаться в соседние сектора. Или в случае FB, она будет елозить по всему диску 1000 раз туда-сюда... А если 100 000...? Цифру 50 пользователей я взял с потолка. Просто подумайте какая бешенная нагрузка на перемещение головки.
Любитель MSSQL,
pkarklinБыло бы здОрово, если бы вместо баек, приводились бы выкладки.
...
Рейтинг: 0 / 0
Firebird, PostgreSQL, MsSql, Oracle
    #38896622
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,

авторВы пытаетесь меня заставить что-то доказывать - я не вижу для себя смысла играть в ваши игры.
Боже упаси Вас что-либо доказывать мне. Вы привели довольно яркое описание некой ситуации, которая мне показалась "чепухой, невозможой вещью" (одно из значений для "фантасмагория").
авторВсё, что я написал выше легко проверить самостоятельно, при наличии желания.
Т.е. сами Вы с такой ситуацией не сталкивались и все, что Вами написано, это нечто "нереальное, призрачное, созданное мечтой, воображением, в бреду" (другое значение для "фантасмагория")?
авторЕсли вы с этим не согласны - ваше право, я не имею ни малейшего желания тут кого-то в чём-то убеждать.
Лучшее убеждение, это не слова, а скрипты и показания счетчиков производительности. Но раз не хотите, то и не надо.
...
Рейтинг: 0 / 0
Firebird, PostgreSQL, MsSql, Oracle
    #38896631
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Любитель MSSQLSSD не спасает, так как он не выигрывает по записи у обычного SAS.

Прааальна. Random Write у него такое же как Sequential Write. А это значит, что
преимущества у последовательной записи лога - исчезают, а недостатки двойной записи данных
- остаются.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird, PostgreSQL, MsSql, Oracle
    #38896634
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklin,

ему некогда. Есть дела поважнее
...
Рейтинг: 0 / 0
Firebird, PostgreSQL, MsSql, Oracle
    #38896636
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinБоже упаси Вас что-либо доказывать мнеТипичный снобизм и завышенная самооценка.
pkarklinНо раз не хотите, то и не надо.Именно, не хочу. С вами говорить - не хочу. Нет смысла.
...
Рейтинг: 0 / 0
Firebird, PostgreSQL, MsSql, Oracle
    #38896646
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladpkarklinБоже упаси Вас что-либо доказывать мнеТипичный снобизм и завышенная самооценка.
pkarklinНо раз не хотите, то и не надо.Именно, не хочу. С вами говорить - не хочу. Нет смысла.

Ну, совсем отлично. Теперь Вы решили "перейти на личности". Очень Вам к лицу!
...
Рейтинг: 0 / 0
25 сообщений из 343, страница 6 из 14
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Firebird, PostgreSQL, MsSql, Oracle
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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