powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Почему в Oracle нет vacuum
14 сообщений из 64, страница 3 из 3
Почему в Oracle нет vacuum
    #39434866
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
dbpatchА вот когда начинается вопрос вставки многих десятков тысяч фактов в секунду (всякие биржевые роботы, показы рекламы и т.п.) и обновлений оных, то Oracle вполне ожидаемо...
ну не то чтобы садится в лужу, но начинает работать не настолько хорошо, быстро и с несколько НЕ гарантированным временем реакции. ?! что за бред-то? С этим обычно вообще никаких проблем не бывает, кроме как конкуренции за последние блоки индекса, которые тем не менее очень легко лечатся. Для каких-нибудь сотовых операторов это вообще мелочи...
...
Рейтинг: 0 / 0
Почему в Oracle нет vacuum
    #39434871
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
dbpatchнужно максимально эффективно иметь возможность получить из базы данных последнее состояние.для максимально эффективного обычно используют scd 4 - то есть в одной таблице как раз хранятся только текущие состояния, а прошлые в отдельной исторической таблице.
...
Рейтинг: 0 / 0
Почему в Oracle нет vacuum
    #39434872
dbpatch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsevdbpatch... на терабайты в день, в RAM просто не помещаются...
Добавить RAM )))

физически невозможно, и так все слоты забиты
...
Рейтинг: 0 / 0
Почему в Oracle нет vacuum
    #39434874
dbpatch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xtenderDimitry SibiryakovОбычно бизнесу нужна также и история статусов, так что да - через инсерт и, возможно,
делит вместе с сущностью.
dbpatchИ все что остается в этом случае - это все UPDATE и даже DELETE приводить к INSERT, даже есть концепция такая, кажется называется Temporal Databaseгоспидя, откуда у вас такая каша то в головах?!
Во-первых, большинство реализаций SCD2/Temporal Validity включают в себя апдейт текущей записи и инсерт новой.
Во-вторых, это никоим образом не оптимизация по доступу, т.к. селекты в данном случае становятся на порядки медленнее, а их как раз обычно на порядки больше, чем инсертов/апдейтов/делитов вместе взятых.

у тебя каша в голове? ну ок.

да, иногда в подобных реализациях есть апдейт. если нагрузка небольшая, то даже работает - ну, когда один поток в 8000recs/s падает до 700rec/s за счет апдейта и тебя это вполне устраивает :)

селекты на порядки медленнее? селектов на порядки больше, это на сколько? в два раза, в десять раз медленее?

а как насчет всего одного селекта в раз в полчаса (на 80к вставок в секунду)?

или ты решил животрепещуще описать свою базу данных размером в 10 гигабайт с проводками?
...
Рейтинг: 0 / 0
Почему в Oracle нет vacuum
    #39434879
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
dbpatch,

awr dump в студию, там и посчитаем сколько у тебя селектов/сколько инсертов или дальше будешь нести бред?
...
Рейтинг: 0 / 0
Почему в Oracle нет vacuum
    #39434880
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
dbpatchа как насчет всего одного селекта в раз в полчаса (на 80к вставок в секунду)?тогда хоть в файлики, хоть в хадуп пишите...
...
Рейтинг: 0 / 0
Почему в Oracle нет vacuum
    #39434885
dbpatch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xtenderdbpatch,

awr dump в студию, там и посчитаем сколько у тебя селектов/сколько инсертов или дальше будешь нести бред?

больше тебе ничего не нужно запостать?

и да, мы не делаем AWR, ибо это довольно глупая и бессмысленная трата времени, мерять среднее по больнице. DBA делать нечего - пусть они их и рассматривают
...
Рейтинг: 0 / 0
Почему в Oracle нет vacuum
    #39434886
dbpatch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xtenderdbpatchа как насчет всего одного селекта в раз в полчаса (на 80к вставок в секунду)?тогда хоть в файлики, хоть в хадуп пишите...

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

а так да, задача примерно из этой области
...
Рейтинг: 0 / 0
Почему в Oracle нет vacuum
    #39434889
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
dbpatchSELECT v2 ... FROM NOT EXISTS ( v1.id = v2.id and v1.change_time > v2.change_time)dbpatchнам нужно максимально эффективно иметь возможность получить из базы данных последнее состояниеда уж все с вами ясно...
...
Рейтинг: 0 / 0
Почему в Oracle нет vacuum
    #39434897
dbpatch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xtenderdbpatchSELECT v2 ... FROM NOT EXISTS ( v1.id = v2.id and v1.change_time > v2.change_time)dbpatchнам нужно максимально эффективно иметь возможность получить из базы данных последнее состояниеда уж все с вами ясно...

это хорошо, что тебе уже все ясно, а то создалось впечатление, что ты нечитатель - я вроде довольно подробно описал специфику задачи, для которой UNDO не подходит и нужно делать вакуум вручную, а ты начал про превышение на порядки SELECT-ов над UPDATE

видно, что ты что-то хотел сказать о своем, о наболевшем, но... не получилось? бывает.
...
Рейтинг: 0 / 0
Почему в Oracle нет vacuum
    #39434922
simplekindoflie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbpatchА вот когда начинается вопрос вставки многих десятков тысяч фактов в секунду (всякие биржевые роботы, показы рекламы и т.п.) и обновлений оных, то 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
    #39434957
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbpatch задачи, для которой UNDO не подходит и нужно делать вакуум вручнуюСначала ты заменил апдейт ни инсерт, теперь делаешь вручную вакуум ундо.
Лучше напиши для твоей "специфики" конкретные цифры сколько куда пишется байт по какой операции.
...
Рейтинг: 0 / 0
Почему в Oracle нет vacuum
    #39435239
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexGruВернее, почему проблема так остро не стоит? Почитать бы по этому аспекту что-то

MVCC в Oracle и PostgreSQL .
...
Рейтинг: 0 / 0
Почему в Oracle нет vacuum
    #39435613
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbpatchКогда любой DML это по сути операция copy on write, т.е. гарантированно делается только один iops. А как гарантированно получить только один IO? Без индексов чтоли жить?
...
Рейтинг: 0 / 0
14 сообщений из 64, страница 3 из 3
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Почему в Oracle нет vacuum
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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