powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Выбор бюджетной базы для замены Postgres.
25 сообщений из 162, страница 4 из 7
Выбор бюджетной базы для замены Postgres.
    #36094487
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
SergSuper
т.е. правильно было бы сказать что Оракл имеет функционал версионника,
но реализован не по технологии, изначально разработанной для
версионников


Пока он плюётся своим "Snapshot too old", то я бы в лучшем случае
говорил, что "Оракл имеет некоторую эмуляцию версионности". Вот когда он
перестанет из логов выплёскивать вместе с мусором версии, в которых
кто-нибудь заинтересован - станет версионником.

"Snapshot too old" - это единственная проблема у "нечистых" версионников? есть различия в функционале?
по идее мне всё равно как оно там реализовано если работает так как я хочу
...
Рейтинг: 0 / 0
Выбор бюджетной базы для замены Postgres.
    #36094516
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuper
по идее мне всё равно как оно там реализовано если работает так как я хочу

Дык в том и дело, что эта ошибка - признак того, что оно не работает.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Выбор бюджетной базы для замены Postgres.
    #36094531
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuper пишет:

> т.е. это разные технологии реализации, не влияющие на функционал?

В общем, да. Есть незначительные нюансы, типа того, что указал
mikron в начале топика -- одни лезут за ЛЮБЫМИ версиями
в страницы данных только чтобы понять, что версии устарели,
другие -- нет, в одних есть проблема "Snapshot is too old", а в других --
нет. Но в общем, цель достигается одна и та же --- обеспечить
уровень изоляции snapshot isolation (2).


> т.е. правильно было бы сказать /что Оракл имеет функционал версионника,
> но реализован не по технологии, изначально разработанной для версионников/
> с такой формулировкой и Вы и Yo согласны?

Нет, я не согласен. С "технологии, изначально разработанной для версионников"
не согласен. Просто это два разных подхода к реализации версионности.
При этом кажется даже ORACLE-овский похдод был придуман раньше, чем
"чистый версионный", но не уверен, надо знать историю IB и ORACLE хорошо,
а я не знаю.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Выбор бюджетной базы для замены Postgres.
    #36094534
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikron пишет:

> >> разные версии записей реально присутствуют на страницах данных
> получается по его-же определению т.к.
> у оракла разные версии находятся на страница данных (в логе)
> он - версионник :)

Страницы данных и лог -- разные вещи.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Выбор бюджетной базы для замены Postgres.
    #36094535
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Apex пишет:

> Чем snapshot too old по своей природе, отличается от какой-нибудь "no
> free disk space" когда "настоящим" версионникаам уже писать эти версии
> некуда?

Вообще-то отличается. Если вообще нет места для новых данных, то система
в принципе не может функционировать. Это -- неизбежный сбой.
А что старая часть лога затёрлась новой -- это не сбой даже, это --
нормальное явление. Вот и получается, что одна СУБД работает
до тех пор, пока может, а другая -- как бы то работает, то не работает.

Но я скажу сразу, я не являюсь сторонником идеи, что одна реализация
лучше другой (я вообще люблю блокировочники ).
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Выбор бюджетной базы для замены Postgres.
    #36094542
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Apex
Чем snapshot too old по своей природе, отличается от какой-нибудь "no free disk space" когда "настоящим" версионникаам уже писать эти версии некуда?
в том то и дело, что разница огромна - "no free disk space" вырубит ВЕСЬ сервер, версионник с UNDO откатит только одну транзакцию, причем на длинные транзакции можно выделить отдельный UNDO. имхо самый неудачный вариант это хранить в блоках таблиц - тут же получаем тормоза с вакумом, дополнительное и/о и невозможность это и/о оттюнить, ну и главное - отсутствие защиты от бесконечного распухания версий из-за одной длинной транзакции - короче примитив.

Dimitry Sibiryakov
Тем, что наступает гораздо быстрее.


с UNDO_RETENTION=2^32 ??
...
Рейтинг: 0 / 0
Выбор бюджетной базы для замены Postgres.
    #36094553
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может-ли кто-нить сказать, по какому принципу Субасе СА работает?
(Версионник, блокировшик, а ла оракле?)

Первая проблема с СА: после того как уронил сервер на долгой транзакции
уже болше час востанавливат базу. Ето нормално? 8-|

Пока не понял, как у него статистику собирать. Может кто выстрелит с бедра линком?
...
Рейтинг: 0 / 0
Выбор бюджетной базы для замены Postgres.
    #36094562
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2mikron

Sybase SA блокировочник, но в последней версии вроде прикрутили версионный уровень изолированности Snapshot. скорее всего там так же как у майкрософта версионность нужно "включить" - после этого можно использовать snapshot.
...
Рейтинг: 0 / 0
Выбор бюджетной базы для замены Postgres.
    #36094573
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!"no free disk space" вырубит ВЕСЬ серверС какой стати ?
...
Рейтинг: 0 / 0
Выбор бюджетной базы для замены Postgres.
    #36094589
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А отсутствие места на диске не вырубит оракл?
И база не встанет, типа.
...
Рейтинг: 0 / 0
Выбор бюджетной базы для замены Postgres.
    #36094596
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ОКТОГЕНА отсутствие места на диске не вырубит оракл?
И база не встанет, типа.
естественно не вырубит. UNDO log вещь циклическая - когда место заканчивается он начинает с конца писать поверх самых старых версий строк, соответственно вырубит с ошибкой snapshot too old те транзакции которым нужны были те самые старые версии, грубо говоря тех виновников которые заставляли "пухнуть" лог (если бы он не был бы цикличным).
а в том же Firebird "виновника" вырубить некому, этот "виновник" не позволит вакуму вычищать старые версии строк из датафайла, заставляя их пухнуть бесконечно, а место под датафайлы говорят не резиновое....

2hvlad
есть что-то возразить ?
...
Рейтинг: 0 / 0
Выбор бюджетной базы для замены Postgres.
    #36094612
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
За циклическую перезапись логов в Винде Мелкомягких в свое время распустили на грелки...
...
Рейтинг: 0 / 0
Выбор бюджетной базы для замены Postgres.
    #36094714
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
Помимо этого существуют т.н. "псевдоверсионники" (термин также произвольный).

А на самом деле при ближайшем рассмотрении блокировочники?
Или типа ни то ни се?

В этих СУБД непосредственно на страницах данных храняться
только последняя закоммиченая версия записи, в одном экземпляре.
Старые версии записей, в разных вариантах, берутся из журнала
транзакций, сегмента отката, roll-backward log и т.д. и т.п. --
у кого что есть. Это решение немного "хуже", поскольку у разных
версий разные способы хранения, они не совсем равноправны. Ну и
очевидно, что журнал транзакция удаляется постепенно, и очень
старые версии записей становяться недоступными, это -- главный
недостаток такого подхода.
[/quot]
Что скрывается за понятием страница данных? У Оракла в явном виде такого понятия вроде как нет. Есть блоки, которые хранятся на диске либо в датафайлах, либо в сегментах отката.
При этом может быть несколько версий в момент изменения блоков.
Изменяемый блок до коммита ну типа хранится тока в оперативной памяти, если не считать инфу о всех изменениях и его в частности в журналах повторного выполнения.
Остальные сбрасываются в сегменты отката, но тоже када нужны в ОП.
Типа они как бы ведомые? Или какие данные ведомые если сравнивать с равноправными в "чистых" типа моделях или механизмах или "технолгий" или еще чем-то? И что же это что-то: модель, механизм или что?
...
Рейтинг: 0 / 0
Выбор бюджетной базы для замены Postgres.
    #36094721
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!вырубит с ошибкой snapshot too old те транзакции
А надо разработчиков вырубать, которые эти самые транзакции допускают
...
Рейтинг: 0 / 0
Выбор бюджетной базы для замены Postgres.
    #36094875
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2mikron:
конкретные вопросы по работе SA лучше задавать в профильной сайбезовой ветке форума.
...
Рейтинг: 0 / 0
Выбор бюджетной базы для замены Postgres.
    #36094885
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и непонятно а каокй статистике вы говорите. Если о распределении величин в талице, то она ведется автоматически. А если параметры работы сервера, то это можно проще всего сделать в централе. Надо только выбрать что из парамтеров, что хотите мониторить.
...
Рейтинг: 0 / 0
Выбор бюджетной базы для замены Postgres.
    #36095057
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!а в том же Firebird "виновника" вырубить некому, этот "виновник" не позволит вакуму вычищать старые версии строк из датафайла, заставляя их пухнуть бесконечно, а место под датафайлы говорят не резиновое....

2hvlad
есть что-то возразить ?Есс-но. В Firebird, при нехватке места на диске, тр-ция (тр-ции), которые создают версии, получат ошибку и спокойно продолжат работу. С какой стати что-то должно останавливаться ? Особенно читатели...

"Виновник" - долгоиграющая тр-ция. Если она получит такую ошибку, то вероятнее всего приложение её завершит. Если же она просто спит, то тут да, пока нет автоматического киллера в движке. Но админ в состоянии прибить её и разблокировать сборку мусора.

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

Ну и напоследок - Firebird (как и многие другие), выделяет место на диске с небольшим запасом и при нехватке места под этот "запас" сразу пишет сообщение в firebird.log. Так что админ может принять меры до того, как место реально закончится.
...
Рейтинг: 0 / 0
Выбор бюджетной базы для замены Postgres.
    #36095181
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvladЕсс-но. В Firebird, при нехватке места на диске, тр-ция (тр-ции), которые создают версии, получат ошибку и спокойно продолжат работу. С какой стати что-то должно останавливаться ? Особенно читатели...
вот так и продолжат получая ошибку
в отличие от оракла стопорнут все пишущие транзакции, т.к. даже модифицирующим некуда будет версии строк сложить.

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

Di_LIneЗа циклическую перезапись логов в Винде Мелкомягких в свое время распустили на грелки...
какое интересное ассоциативное мышление у ребенка ! ведь действительно созвучно
...
Рейтинг: 0 / 0
Выбор бюджетной базы для замены Postgres.
    #36095233
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.! пишет:

> в том то и дело, что разница огромна - "no free disk space" вырубит ВЕСЬ
> сервер, версионник с UNDO откатит только одну транзакцию, причем на
> длинные транзакции можно выделить отдельный UNDO.

UNDO надо видимо выделять не на длинные транзакции (они обычно
вообще читающие, потому что snapshot isolation только на чтении
даёт выгоду), а на все остальные транзакции, кроме длинных.

Разве нет ?

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Выбор бюджетной базы для замены Postgres.
    #36095243
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Di_LIne пишет:

> За циклическую перезапись логов в Винде Мелкомягких в свое время
> распустили на грелки...

Это -- общая практика в большинстве СУБД. И это -- логично.
А чем вам это не нравится ?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Выбор бюджетной базы для замены Postgres.
    #36095267
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfo пишет:

> А на самом деле при ближайшем рассмотрении блокировочники?
> Или типа ни то ни се?

Блокировочники конечно. Потому что WRITER-ов они разводят
путём применения блокировок.

> Что скрывается за понятием страница данных? У Оракла в явном виде такого
> понятия вроде как нет. Есть блоки, которые хранятся на диске либо в

Ну тут я имел в виду всё, что не лог.

> датафайлах, либо в сегментах отката.

Значит, в сегментах отката.

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

Я тебе скажу, он (блок данных) и после коммита может только в
памяти остаться.

> Остальные сбрасываются в сегменты отката, но тоже када нужны в ОП.
> Типа они как бы ведомые? Или какие данные ведомые если сравнивать с
> равноправными в "чистых" типа моделях или механизмах или "технолгий" или
> еще чем-то? И что же это что-то: модель, механизм или что?

Я не очень понял, что ты тут спрашиваешь. Ну да, как бы данные в логах
всегда "главнее" данных в блоках данных.

А прикол в том, что в версионниках не было изначально лога вообще.
В IB по крайней мене. Но это, опять -таки, давало отрицательный
эффект -- изменённые страницы данных надо было по commit физически
сбрасывать на диск. Но положительный эффект -- что у БД нет recovery,
так что сервер включил -- и он уже работает.

Но время показало, что такой подход слабо оправдан, поэтому в IB логи
реализовали.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Выбор бюджетной базы для замены Postgres.
    #36095301
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: MasterZiv
> А прикол в том, что в версионниках не было изначально лога вообще.
> В IB по крайней мене. Но это, опять -таки, давало отрицательный
> эффект -- изменённые страницы данных надо было по commit физически
> сбрасывать на диск. Но положительный эффект -- что у БД нет recovery,
> так что сервер включил -- и он уже работает.
>
> Но время показало, что такой подход слабо оправдан, поэтому в IB логи
> реализовали.

А какая разница, что сбрасывать на диск, сами данные или лог для возможной recovery в любом случае диск затрагивается?


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Выбор бюджетной базы для замены Postgres.
    #36095453
Yо.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Игорь Горбонос

А какая разница, что сбрасывать на диск, сами данные или лог для возможной recovery в любом случае диск затрагивается?


последовательно в лог быстрее
...
Рейтинг: 0 / 0
Выбор бюджетной базы для замены Postgres.
    #36095487
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос пишет:

> А какая разница, что сбрасывать на диск, сами данные или лог для
> возможной recovery в любом случае диск затрагивается?

Лог тупо короче. И компактнее. Лог содержить только данные
о изменении данных и они все лежать где-то в конце лога обычно.

Страница данных же может содержать как изменённые, так и неизменённые
данные, а сбрасывать надо всю страницу целиком. Например, если
есть таблица из 100 страниц, и UPDATE, который меняет 10 записей,
но так, что на каждую из 100 страниц таблицы попадает по одной записи,
то по COMMIT-у в СУБД без журналирования придётся сбросить все
страницы таблицы, т.е. всю таблицу. Это очень плохо. Если записывать
только изменения в лог, и сбрасывать только лог, то скорее всего
это будет 1-2 страницы лога. Итого экономия порядка в 100 раз.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Выбор бюджетной базы для замены Postgres.
    #36095507
Фотография Apex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
Игорь Горбонос пишет:

> А какая разница, что сбрасывать на диск, сами данные или лог для
> возможной recovery в любом случае диск затрагивается?

Лог тупо короче. И компактнее. Лог содержить только данные
о изменении данных и они все лежать где-то в конце лога обычно.

Страница данных же может содержать как изменённые, так и неизменённые
данные, а сбрасывать надо всю страницу целиком. Например, если
есть таблица из 100 страниц, и UPDATE, который меняет 10 записей,
но так, что на каждую из 100 страниц таблицы попадает по одной записи,
то по COMMIT-у в СУБД без журналирования придётся сбросить все
страницы таблицы, т.е. всю таблицу. Это очень плохо. Если записывать
только изменения в лог, и сбрасывать только лог, то скорее всего
это будет 1-2 страницы лога. Итого экономия порядка в 100 раз.

Помнится один из разработчиков FB сказал мне в ответ на тоже самое, что в реальных систмах разницы почти нет. Ну, типа никто ж специально не мерял, сколько там чего куда сбрасывается.
...
Рейтинг: 0 / 0
25 сообщений из 162, страница 4 из 7
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Выбор бюджетной базы для замены Postgres.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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