powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Почему в Oracle нет vacuum
25 сообщений из 64, страница 2 из 3
Почему в Oracle нет vacuum
    #39434344
xtenderКак это делит ничего не занимает?Помимо пометки строки в таблице, новых данных не возникает и дополнительного места не требуется. В оракле "пометка" плюс новое место в ундо.
Но действительно, в постгресе стоит рассматривать помеченную удалением строку как элемент унды, так как ее место нельзя занимать, пока доудаленная версия строки может потребоваться какой-либо из незавершенных транзакций.
...
Рейтинг: 0 / 0
Почему в Oracle нет vacuum
    #39434348
ундевидАпдейт одного поля в постгресе создает копию строки целиком. зато делит ничего не занимает.А теперь подумай что же в типичной работе с БД бывает чаще и насколько - апдейт или делит?
...
Рейтинг: 0 / 0
Почему в Oracle нет vacuum
    #39434358
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
апдейт делитаА теперь подумай что же в типичной работе с БД бывает чаще и насколько - апдейт или делит?

Если БД спроектирована нормально, а операторы не вносят чушь, которую потом приходится
изменять на правильную - делит.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Почему в Oracle нет vacuum
    #39434413
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Dimitry Sibiryakov,

бред какой-то... Это уже неправильное использование базы... То есть по-твоему, те же изменения статусов у сущностей надо делать через делит-инсерт?
...
Рейтинг: 0 / 0
Почему в Oracle нет vacuum
    #39434414
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
или еще хуже - сущности вообще не должны изменяться? это уже лог, а не база
...
Рейтинг: 0 / 0
Почему в Oracle нет vacuum
    #39434419
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xtenderТо есть по-твоему, те же изменения статусов у сущностей надо делать через делит-инсерт?

Обычно бизнесу нужна также и история статусов, так что да - через инсерт и, возможно,
делит вместе с сущностью.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Почему в Oracle нет vacuum
    #39434433
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xtenderили еще хуже - сущности вообще не должны изменяться? это уже лог, а не базаЭто BigData, сэр.
Правда Hive уже стал поддерживать updates правда кривенько.
Dimitry SibiryakovxtenderТо есть по-твоему, те же изменения статусов у сущностей надо делать через делит-инсерт?

Обычно бизнесу нужна также и история статусов, так что да - через инсерт и, возможно,
делит вместе с сущностью.
Ты в предыдущем сообщении говорил, что delete чаще, а тут уже "возможно".
Вбрасывать надо продуманнее.
...
Рейтинг: 0 / 0
Почему в Oracle нет vacuum
    #39434436
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя главный тролль, конечно, ТС.
Этот форум позволяет удобненько смотреть статистику по сообщениям и видно,
что персонаж минимум 10 лет с Ораклом, при этом он ровно год не писал в форум, чтоб появиться, вбросить и снова исчезнуть.
...
Рейтинг: 0 / 0
Почему в Oracle нет vacuum
    #39434464
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopа тут уже "возможно".
Это "возможно", если кто не понял, относится к "вместе с сущностью", ибо удалять историю
состояний сущности без ней самой как-то не слишком осмысленное действо...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Почему в Oracle нет vacuum
    #39434468
Фотография RA\/EN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovdbms_photoshopа тут уже "возможно".
Это "возможно", если кто не понял, относится к "вместе с сущностью", ибо удалять историю
состояний сущности без ней самой как-то не слишком осмысленное действо...

Вот как раз удаление записей в штатном режиме основных бизнес-процессов как раз наводит на мысль, что уровень бизнеса явно не соответствует тем компаниям, где нужен оракл с поддержкой . Даже мучительное натягивание ентерпрайзных масштабов на стандартную редакцию к такому не приводит.
...
Рейтинг: 0 / 0
Почему в Oracle нет vacuum
    #39434661
AlexGru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopХотя главный тролль, конечно, ТС.
Этот форум позволяет удобненько смотреть статистику по сообщениям и видно,
что персонаж минимум 10 лет с Ораклом, при этом он ровно год не писал в форум, чтоб появиться, вбросить и снова исчезнуть.

Уважаемый, это не совсем так. Последний год не было нужды пользоваться форумом. Сейчас приперло все везде переводить с Oracle на Postgres (импортозамещение жеж) и стали возникать вопросы.

Для многих нет особой разницы субд и субд, только одна дорогая, а другая дешевая. Логично ведь, что "при прочих равных", надо переходить на дешёвую.

Мне вот интересна аналогия СУБД с ТС.

Oracle - гелик v12 biturbo в максималке. Можно и на работу ездить и по лесу. И мелкую речку переехать. И трактор тащить из грязи. В общем сильный, надежный, удобный универсал.

Всякие разные MongoDb это как узкоспециализированные решения - квадрик, катер - хорошо выполняют свою узкоспец. задачу.

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

Ну как-то так.

С другой стороны все в праве и по средствам выбирать. Частная страховая или банки могут позволить себе Oracle и пожалуйста, а гос сектор платит не своими, а нашими, поэтому и на четырках могут поездить. Действительно ведь так.
...
Рейтинг: 0 / 0
Почему в Oracle нет vacuum
    #39434688
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexGruгос сектор платит не своими, а нашими, поэтому ...Чтобы делать какие-то выводы, нужно сначала сравнить бюджеты регионов 2013 и 2017 по статьям, связанным с информационными системами. На сколько сократились?
...
Рейтинг: 0 / 0
Почему в Oracle нет vacuum
    #39434697
AlexGru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-,

Не могу сказать на сколько.
...
Рейтинг: 0 / 0
Почему в Oracle нет vacuum
    #39434735
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexGruУважаемый ...Потрудись в следующий раз избегать обращений как к официанту.
Не совсем понятно к чему этот поток сознания про гелики, катера, Mongo DB, реки и леса.
Еще немного одушевленных персонажей и может вполне себе получиться детская сказочка.
...
Рейтинг: 0 / 0
Почему в Oracle нет vacuum
    #39434746
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexGruСейчас приперло все везде переводить с Oracle на Postgres (импортозамещение жеж) и стали возникать вопросы.
Всегда интересовал вопрос зачем что-то куда-то переводить, если можно просто не платить за поддержку, я как-то особой разницы (с т.з. поддержки) не вижу между ораклом без поддержки и PosgreSQL с "поддержкой сообщества", у этого "сообщества" вообще самая популярная рекомендация выглядит как "если что-то тупит, то нужно первым делом сделать vacuum full analyze - вдруг перестанет тупить"
...
Рейтинг: 0 / 0
Почему в Oracle нет vacuum
    #39434759
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вообще, смысл очевиден.

За 15 лет номинальный ВВП вырос в 30 раз в рублях и почти в 10 раз в долларах! При значительно ))) меньшем росте реального ВВП ))).

А Oracle всюду, куда можно, уже внедрили. Как расти и развиваться дальше? Правильно - внедрять PostgreSQL. Он может и бесплатный, но внедряют то все равно за деньги! Вот ВВП еще раз в 30 и вырастет.... Разумеется, номинальный. Ну если не вырастит ВВП, то на хлеб с маслом, икрой, виллу в Италии нужным людям все равно хватит )))
...
Рейтинг: 0 / 0
Почему в Oracle нет vacuum
    #39434772
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev,

совсем не дальновидно кмк, PostgreSQL догонит по фичам оракл лет через десять, а дальше что? на другую базу двигать? а вдруг такой фокус уже не прокатит? Нужно сразу брать что-то с перспективой на 20-30 лет, линтер какой-нибудь.
...
Рейтинг: 0 / 0
Почему в Oracle нет vacuum
    #39434809
dbpatch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexGruВернее, почему проблема так остро не стоит? Почитать бы по этому аспекту что-то

Как уже сказали выше - в Oracle вместо write ahead log - реализован механизм UNDO.
Для баз данных с относительно небольшим объемом вставки/обновления данных подобная реализация вполне приемлима.

Т.е. для задач класса бухгалтерия - 2.5 бухалтера вносят максимум по три изменения в секунду. В этих условиях
вполне можно позволить себе и не такую роскошь - а еще и форинкеи, идексы и прочие праймари-уникеи всякие, чай мейнфрейм класс выдержит это все рандомное чтение-запись на микроскопической нагрузке (99% случаев применения RDBMS).


А вот когда начинается вопрос вставки многих десятков тысяч фактов в секунду (всякие биржевые роботы, показы рекламы и т.п.) и обновлений оных, то Oracle вполне ожидаемо...
ну не то чтобы садится в лужу, но начинает работать не настолько хорошо, быстро и с несколько НЕ гарантированным временем реакции.



И все что остается в этом случае - это все UPDATE и даже DELETE приводить к INSERT, даже есть концепция такая, кажется называется Temporal Database (Oracle Workplace - частный случай) https://en.wikipedia.org/wiki/Temporal_database

Т.е. база данных только делает INSERT (его время реакции ожидамое, UNDO не используется), вставляя эдакий version_id или change_time (primary key, естественно, уже невозможен)

А текущее/последнее состояние делать через SELECT v2 ... FROM NOT EXISTS ( v1.id = v2.id and v1.change_time > v2.change_time)


Тем самым получается тот самый WAL. А vacuum потом можно сделать уже вручную - через CREATE new_table AS SELECT ... NOT EXISTS, когда данные из OLTP класса перейдут в DHW - т.е. факты уже обновляться не будут, только читаться, это уже скорее задача ETL
...
Рейтинг: 0 / 0
Почему в Oracle нет vacuum
    #39434812
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbpatchКак уже сказали выше - в Oracle вместо write ahead log - реализован механизм UNDO.

Вообще-то write ahead log это redo, так что undo реализован не "вместо" а "в дополнение".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Почему в Oracle нет vacuum
    #39434818
dbpatch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovdbpatchКак уже сказали выше - в Oracle вместо write ahead log - реализован механизм UNDO.

Вообще-то write ahead log это redo, так что undo реализован не "вместо" а "в дополнение".


Называй как хочешь, но да есть концепция, по сути, write log only баз данных.
Частный случай - Interbase/Firebird (могу ошибаться), или из мира NoSQL/Embedded - LevelDB, LightningDB

Когда любой DML это по сути операция copy on write, т.е. гарантированно делается только один iops. Т.е. пишется, по сути, только лог, вся база данных - это лишь redo, а data/undo и прочего - просто нет как класса, только логи.

Имеет свое применение - потоковая запись (чтоб головки диска не гонять - рандомная запись - это мегабайт в секунду, линейная - 100 мегабайт, даже в случае SSD писать линейно намного быстрее)

И в Oracle такое можно достичь только принудительным путем - делать только INSERT (приводя UPDATE/DELETE к INSERT), да еще и с APPEND NOLOGGING - т.е. датафайл использовать просто как лог файл (изврат, но иногда приходится и на такое идти, чтоб справиться с потоком фактов).
...
Рейтинг: 0 / 0
Почему в Oracle нет vacuum
    #39434824
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Offtopic on

Андрей ПанфиловLeonid Kudryavtsev,

совсем не дальновидно кмк, PostgreSQL догонит по фичам оракл лет через десять, а дальше что? на другую базу двигать? а вдруг такой фокус уже не прокатит? Нужно сразу брать что-то с перспективой на 20-30 лет, линтер какой-нибудь.

Присутствовал при разговоре по этому поводу в крупной структуре нашей газовой отрасли....

Если уж импортозамещение и все равно деньги Газпром в бюджете выделит, нафига Вам буржуйный PostgreSQL, лучше уж возьмите Линтер. К тому же, по __функциям__ он больше подходил под их задачу. Ну и команда разработчиков Линтера обещала всяческую помощь в проекте (т..к. для них он был важен, как минимум с точки зрения престижа) - никакого понимание у заказчика (около гос. структуры) не нашлось. PostgreSQL и все.

Но на деле, сказали просто... мы для галочки на PostgreSQL перейдем, раз очень большое начальство хочет, а как был Oracle, так он у нас и останется. Как-то так.
...
Рейтинг: 0 / 0
Почему в Oracle нет vacuum
    #39434836
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbpatchИ в Oracle такое можно достичь только принудительным путем....
А зачем в Oracle такое достигать? redo log на отдельном диске, а запись в файлы базы идет асинхронно. Дальше можно тюнить размер buffer и кол-во dirty buffer'ом. AFAIK По крайне мере в 8'ке. В PostgreSQL так же.

Если же подходить к настройке экземпляра по принципу "Oracle умный, ему виднее" ( C ) админы, то никакое принуждение не поможет ))). IMHO
...
Рейтинг: 0 / 0
Почему в Oracle нет vacuum
    #39434844
dbpatch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevdbpatchИ в Oracle такое можно достичь только принудительным путем....
А зачем в Oracle такое достигать? redo log на отдельном диске, а запись в файлы базы идет асинхронно. Дальше можно тюнить размер buffer и кол-во dirty buffer'ом. AFAIK По крайне мере в 8'ке. В PostgreSQL так же.

Если же подходить к настройке экземпляра по принципу "Oracle умный, ему виднее" ( C ) админы, то никакое принуждение не поможет ))). IMHO

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

т.е. в течение дня ты вставляешь факты просто в датафайлы, recovery нам не нужен ибо копия данных все равно есть на стороне аппсервера, а вот потом делаешь вакуум (последнее состояние) и уже его отправляешь в DWH

при этом фактов очень много, на терабайты в день, в RAM просто не помещаются, обновления оных приводят к дисковому IO, со всеми вытекающими

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


т.е. сотни миллионов мелких nested-loop на UPDATE/DELETE превращаются в один большой hash-join по требованию, по строкам, которые только INSERT
...
Рейтинг: 0 / 0
Почему в Oracle нет vacuum
    #39434856
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Dimitry SibiryakovОбычно бизнесу нужна также и история статусов, так что да - через инсерт и, возможно,
делит вместе с сущностью.
dbpatchИ все что остается в этом случае - это все UPDATE и даже DELETE приводить к INSERT, даже есть концепция такая, кажется называется Temporal Databaseгоспидя, откуда у вас такая каша то в головах?!
Во-первых, большинство реализаций SCD2/Temporal Validity включают в себя апдейт текущей записи и инсерт новой.
Во-вторых, это никоим образом не оптимизация по доступу, т.к. селекты в данном случае становятся на порядки медленнее, а их как раз обычно на порядки больше, чем инсертов/апдейтов/делитов вместе взятых.
...
Рейтинг: 0 / 0
Почему в Oracle нет vacuum
    #39434860
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbpatch... на терабайты в день, в RAM просто не помещаются...
Добавить RAM )))
...
Рейтинг: 0 / 0
25 сообщений из 64, страница 2 из 3
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Почему в Oracle нет vacuum
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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