Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5 6 7   вперед  Ctrl      все
 Re: Выбор бюджетной базы для замены Postgres.  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
Dimitry Sibiryakov

SergSuper

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


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

"Snapshot too old" - это единственная проблема у "нечистых" версионников? есть различия в функционале?
по идее мне всё равно как оно там реализовано если работает так как я хочу
16 июл 09, 22:35    [7426583]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бюджетной базы для замены Postgres.  [new]
Dimitry Sibiryakov
Member

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

SergSuper

по идее мне всё равно как оно там реализовано если работает так как я хочу

Дык в том и дело, что эта ошибка - признак того, что оно не работает.

Posted via ActualForum NNTP Server 1.4

16 июл 09, 23:00    [7426668]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бюджетной базы для замены Postgres.  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34709

SergSuper пишет:

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

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


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

Нет, я не согласен. С "технологии, изначально разработанной для версионников"
не согласен. Просто это два разных подхода к реализации версионности.
При этом кажется даже ORACLE-овский похдод был придуман раньше, чем
"чистый версионный", но не уверен, надо знать историю IB и ORACLE хорошо,
а я не знаю.

Posted via ActualForum NNTP Server 1.4

16 июл 09, 23:25    [7426732]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бюджетной базы для замены Postgres.  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34709

mikron пишет:

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

Страницы данных и лог -- разные вещи.

Posted via ActualForum NNTP Server 1.4

16 июл 09, 23:27    [7426739]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бюджетной базы для замены Postgres.  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34709

Apex пишет:

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

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

Но я скажу сразу, я не являюсь сторонником идеи, что одна реализация
лучше другой (я вообще люблю блокировочники ).

Posted via ActualForum NNTP Server 1.4

16 июл 09, 23:30    [7426746]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бюджетной базы для замены Postgres.  [new]
Yo.!
Guest
Apex

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

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

Dimitry Sibiryakov

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


с UNDO_RETENTION=2^32 ??
16 июл 09, 23:38    [7426768]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бюджетной базы для замены Postgres.  [new]
mikron
Member

Откуда:
Сообщений: 888
Может-ли кто-нить сказать, по какому принципу Субасе СА работает?
(Версионник, блокировшик, а ла оракле?)

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

Пока не понял, как у него статистику собирать. Может кто выстрелит с бедра линком?
16 июл 09, 23:58    [7426808]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бюджетной базы для замены Postgres.  [new]
Yo.!
Guest
2mikron

Sybase SA блокировочник, но в последней версии вроде прикрутили версионный уровень изолированности Snapshot. скорее всего там так же как у майкрософта версионность нужно "включить" - после этого можно использовать snapshot.
17 июл 09, 00:22    [7426861]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бюджетной базы для замены Postgres.  [new]
hvlad
Member

Откуда:
Сообщений: 11555
Yo.!
"no free disk space" вырубит ВЕСЬ сервер
С какой стати ?
17 июл 09, 00:43    [7426890]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бюджетной базы для замены Postgres.  [new]
ОКТОГЕН
Member

Откуда:
Сообщений: 2498
А отсутствие места на диске не вырубит оракл?
И база не встанет, типа.
17 июл 09, 01:13    [7426941]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бюджетной базы для замены Postgres.  [new]
Yo.!
Guest
ОКТОГЕН
А отсутствие места на диске не вырубит оракл?
И база не встанет, типа.

естественно не вырубит. UNDO log вещь циклическая - когда место заканчивается он начинает с конца писать поверх самых старых версий строк, соответственно вырубит с ошибкой snapshot too old те транзакции которым нужны были те самые старые версии, грубо говоря тех виновников которые заставляли "пухнуть" лог (если бы он не был бы цикличным).
а в том же Firebird "виновника" вырубить некому, этот "виновник" не позволит вакуму вычищать старые версии строк из датафайла, заставляя их пухнуть бесконечно, а место под датафайлы говорят не резиновое....

2hvlad
есть что-то возразить ?
17 июл 09, 01:51    [7426993]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бюджетной базы для замены Postgres.  [new]
Di_LIne
Member

Откуда: Тропик Скорпиона
Сообщений: 32554
За циклическую перезапись логов в Винде Мелкомягких в свое время распустили на грелки...
17 июл 09, 04:27    [7427029]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бюджетной базы для замены Postgres.  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
MasterZiv

Помимо этого существуют т.н. "псевдоверсионники" (термин также произвольный).

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

В этих СУБД непосредственно на страницах данных храняться
только последняя закоммиченая версия записи, в одном экземпляре.
Старые версии записей, в разных вариантах, берутся из журнала
транзакций, сегмента отката, roll-backward log и т.д. и т.п. --
у кого что есть. Это решение немного "хуже", поскольку у разных
версий разные способы хранения, они не совсем равноправны. Ну и
очевидно, что журнал транзакция удаляется постепенно, и очень
старые версии записей становяться недоступными, это -- главный
недостаток такого подхода.
[/quot]
Что скрывается за понятием страница данных? У Оракла в явном виде такого понятия вроде как нет. Есть блоки, которые хранятся на диске либо в датафайлах, либо в сегментах отката.
При этом может быть несколько версий в момент изменения блоков.
Изменяемый блок до коммита ну типа хранится тока в оперативной памяти, если не считать инфу о всех изменениях и его в частности в журналах повторного выполнения.
Остальные сбрасываются в сегменты отката, но тоже када нужны в ОП.
Типа они как бы ведомые? Или какие данные ведомые если сравнивать с равноправными в "чистых" типа моделях или механизмах или "технолгий" или еще чем-то? И что же это что-то: модель, механизм или что?
17 июл 09, 08:41    [7427187]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бюджетной базы для замены Postgres.  [new]
FreemanZAV
Member

Откуда:
Сообщений: 2434
Yo.!
вырубит с ошибкой snapshot too old те транзакции

А надо разработчиков вырубать, которые эти самые транзакции допускают
17 июл 09, 08:51    [7427204]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бюджетной базы для замены Postgres.  [new]
Ggg_old
Member

Откуда: Одесса
Сообщений: 1342
2mikron:
конкретные вопросы по работе SA лучше задавать в профильной сайбезовой ветке форума.
17 июл 09, 10:09    [7427480]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бюджетной базы для замены Postgres.  [new]
Ggg_old
Member

Откуда: Одесса
Сообщений: 1342
и непонятно а каокй статистике вы говорите. Если о распределении величин в талице, то она ведется автоматически. А если параметры работы сервера, то это можно проще всего сделать в централе. Надо только выбрать что из парамтеров, что хотите мониторить.
17 июл 09, 10:12    [7427501]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бюджетной базы для замены Postgres.  [new]
hvlad
Member

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

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

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

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

Ну и напоследок - Firebird (как и многие другие), выделяет место на диске с небольшим запасом и при нехватке места под этот "запас" сразу пишет сообщение в firebird.log. Так что админ может принять меры до того, как место реально закончится.
17 июл 09, 11:06    [7427883]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бюджетной базы для замены Postgres.  [new]
Yo.!
Guest
hvlad
Есс-но. В Firebird, при нехватке места на диске, тр-ция (тр-ции), которые создают версии, получат ошибку и спокойно продолжат работу. С какой стати что-то должно останавливаться ? Особенно читатели...

вот так и продолжат получая ошибку
в отличие от оракла стопорнут все пишущие транзакции, т.к. даже модифицирующим некуда будет версии строк сложить.

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

чукча писатель ;)

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

какое интересное ассоциативное мышление у ребенка ! ведь действительно созвучно
17 июл 09, 11:40    [7428182]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бюджетной базы для замены Postgres.  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34709

Yo.! пишет:

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

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

Разве нет ?

Posted via ActualForum NNTP Server 1.4

17 июл 09, 12:00    [7428322]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бюджетной базы для замены Postgres.  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34709

Di_LIne пишет:

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

Это -- общая практика в большинстве СУБД. И это -- логично.
А чем вам это не нравится ?

Posted via ActualForum NNTP Server 1.4

17 июл 09, 12:02    [7428340]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бюджетной базы для замены Postgres.  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34709

vadiminfo пишет:

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

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

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

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

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

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

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

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

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

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

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

Но время показало, что такой подход слабо оправдан, поэтому в IB логи
реализовали.

Posted via ActualForum NNTP Server 1.4

17 июл 09, 12:10    [7428395]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бюджетной базы для замены Postgres.  [new]
Игорь Горбонос
Member

Откуда: Днепропетровск
Сообщений: 4236

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

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


Posted via ActualForum NNTP Server 1.4

17 июл 09, 12:20    [7428472]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бюджетной базы для замены Postgres.  [new]
Yо.!
Guest
Игорь Горбонос


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


последовательно в лог быстрее
17 июл 09, 13:05    [7428766]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бюджетной базы для замены Postgres.  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34709

Игорь Горбонос пишет:

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

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

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

Posted via ActualForum NNTP Server 1.4

17 июл 09, 13:17    [7428850]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бюджетной базы для замены Postgres.  [new]
Apex
Member

Откуда: Made in USSR
Сообщений: 3910
MasterZiv

Игорь Горбонос пишет:

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

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

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

Помнится один из разработчиков FB сказал мне в ответ на тоже самое, что в реальных систмах разницы почти нет. Ну, типа никто ж специально не мерял, сколько там чего куда сбрасывается.
17 июл 09, 13:23    [7428891]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5 6 7   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить