powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Правильно ли тут описаны внутренности работы процедуры checkpoint в PostgreSQL?
20 сообщений из 45, страница 2 из 2
Правильно ли тут описаны внутренности работы процедуры checkpoint в PostgreSQL?
    #39743721
Hawkmoon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_developerС точки зрения системы хранения страничек Б-Дерева, нет ничего кроме страничек, набитых Key=Val, где в Val эта ваша вся доменно-столбцовая хрень и нам на уровне системы хранения страничек Б-Дерева совершенно пофиг на это.

Нет, студент, ты так слона не продашь диплом/диссер не защитишь.
потому что в СУБД под значением подразумевается допустимое значение домена. И если ты будешь замечательно рассказывать о ключе-значении чуваку, знающему реляционную АЛГЕБРУ, то ты порвешь мозг ему, также как порвал мозг всем тут.



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

Я бы как рецензент отправил бы человека, приславшего такую статью, далеко.
...
Рейтинг: 0 / 0
Правильно ли тут описаны внутренности работы процедуры checkpoint в PostgreSQL?
    #39743781
dbms_developer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Melkijdbms_developerНу а B+-Tree там есть, надо признать.
Неа.
Деревья (разные!) могут быть в содержимом страниц конкретных access method (AM)
Может быть потом когда-нибудь допилят pluggable storage и опять же на уровне чуть выше страницы данных можно будет найти дерево.
А heap - банальная вульгарная куча
Это уже не важно. Чаще всего там какое-то B+-Tree.
...
Рейтинг: 0 / 0
Правильно ли тут описаны внутренности работы процедуры checkpoint в PostgreSQL?
    #39743784
dbms_developer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hawkmoondbms_developerС точки зрения системы хранения страничек Б-Дерева, нет ничего кроме страничек, набитых Key=Val, где в Val эта ваша вся доменно-столбцовая хрень и нам на уровне системы хранения страничек Б-Дерева совершенно пофиг на это.

Нет, студент, ты так слона не продашь диплом/диссер не защитишь.
потому что в СУБД под значением подразумевается допустимое значение домена. И если ты будешь замечательно рассказывать о ключе-значении чуваку, знающему реляционную АЛГЕБРУ, то ты порвешь мозг ему, также как порвал мозг всем тут.



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

Я бы как рецензент отправил бы человека, приславшего такую статью, далеко.
Э-э-э, мы не говорим про СУБД и про реляционную алгебру.
...
Рейтинг: 0 / 0
Правильно ли тут описаны внутренности работы процедуры checkpoint в PostgreSQL?
    #39743812
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_developerЭто уже не важно.
Так если не важно - то при чём тут postgresql?
Берёте Transactional Information Systems Theory, Algorithms, and the Practice of Concurrency Control and Recovery авторства Gerhard Weikum и Gottfried Vossen и читаете. Про чекпойнты там тоже написано.
...
Рейтинг: 0 / 0
Правильно ли тут описаны внутренности работы процедуры checkpoint в PostgreSQL?
    #39743816
dbms_developer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Melkijdbms_developerЭто уже не важно.
Так если не важно - то при чём тут postgresql?
Берёте Transactional Information Systems Theory, Algorithms, and the Practice of Concurrency Control and Recovery авторства Gerhard Weikum и Gottfried Vossen и читаете. Про чекпойнты там тоже написано.
Мы обсуждаем систему checkpoint в постгресе. А реляционная алгебра и что точно хранится в страничках при этом - не очень важно.
Ваш кэпушка.
...
Рейтинг: 0 / 0
Правильно ли тут описаны внутренности работы процедуры checkpoint в PostgreSQL?
    #39743905
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_developer, главная ошибка автора текста по ссылке состоит в том, что он пытается натянуть видимо хорошо ему знакомую терминологию из условного Redis на совершенно по-другому устроенный PostgreSQL. Как результат, понять логику рассуждений сложно, ибо она построена на совершенно абсурдных предположениях. Для начала надо понять, что для постгреса неприменима логика восстановления в памяти состояния из дисковой копии ("снапшота"), ибо первичным является собственно состояние на диске, а память используется как буфер, временно хранящий обрабатываемые данные, причём размер этого буфера обычно несопоставимо меньше объёма данных, хранящихся на диске (в файлах).
...
Рейтинг: 0 / 0
Правильно ли тут описаны внутренности работы процедуры checkpoint в PostgreSQL?
    #39744022
Alex URS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Scott Tiger....для постгреса неприменима логика восстановления в памяти состояния из дисковой копии...

RTFM
pg_prewarm
...
Рейтинг: 0 / 0
Правильно ли тут описаны внутренности работы процедуры checkpoint в PostgreSQL?
    #39744031
Alex URS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Scott Tigerdbms_developer, главная ошибка автора текста по ссылке состоит в том, что он пытается натянуть видимо хорошо ему знакомую терминологию из условного Redis на совершенно по-другому устроенный PostgreSQL...

в postgresql всё уже давно есть - LRU caching

ask Tom Lane (core dev):
[..] But my opinion is that people who think they are smarter than an LRU caching algorithm are typically mistaken. If the table is all that heavily used, it will stay in memory just fine. If it's not sufficiently heavily used to stay in memory according to an LRU algorithm, maybe the memory space really should be spent on something else. [..]
...
Рейтинг: 0 / 0
Правильно ли тут описаны внутренности работы процедуры checkpoint в PostgreSQL?
    #39744040
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex URS,

pg_prewarm и цитата Тома — они несколько о другом.
Мы тут обсуждаем Нам рассказывают про механизмы попадающие под ‘D’ (Durability), и там важна другого рода производительность.
...
Рейтинг: 0 / 0
Правильно ли тут описаны внутренности работы процедуры checkpoint в PostgreSQL?
    #39744064
Alex URS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vyegorovAlex URS,

pg_prewarm и цитата Тома — они несколько о другом.
Мы тут обсуждаем Нам рассказывают про механизмы попадающие под ‘D’ (Durability), и там важна другого рода производительность.

если брать в целом - согласен
статью читал, но не понимаю одно:
если нам впаривают, что Key = Value, то это не так. Реляция это связь, но не Key - Value.
для реляционных баз данных верен информационный принцип: всё информационное наполнение базы данных представлено одним и только одним способом, а именно — явным заданием значений атрибутов в кортежах отношений; в частности, нет никаких указателей (адресов), связывающих одно значение с другим;
...
Рейтинг: 0 / 0
Правильно ли тут описаны внутренности работы процедуры checkpoint в PostgreSQL?
    #39744103
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex URSScott Tiger....для постгреса неприменима логика восстановления в памяти состояния из дисковой копии...

RTFM
pg_prewarm

Разогрев кэша - это _совсем_ про другое. Попробую с другой стороны объяснить: в том же Redis диск является _опциональным_ местом хранения данных на случай перезапуска при условии, что данные вообще нужны (если использовать Redis как просто кэш, данные можно и не хранить). Все данные, с которыми он работает, хранятся в оперативной памяти процесса Redis и, если это настроено, периодически сбрасываются на диск (RDB snapshot) и/или поток изменений записывается в журнал (AOF logging). Чувствуете разницу?
...
Рейтинг: 0 / 0
Правильно ли тут описаны внутренности работы процедуры checkpoint в PostgreSQL?
    #39744177
Alex URS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Scott TigerAlex URSпропущено...


RTFM
pg_prewarm

Разогрев кэша - это _совсем_ про другое. Попробую с другой стороны объяснить: в том же Redis диск является _опциональным_ местом хранения данных на случай перезапуска при условии, что данные вообще нужны (если использовать Redis как просто кэш, данные можно и не хранить). Все данные, с которыми он работает, хранятся в оперативной памяти процесса Redis и, если это настроено, периодически сбрасываются на диск (RDB snapshot) и/или поток изменений записывается в журнал (AOF logging). Чувствуете разницу?

оно то так, но пару лет назад на сайте Red Hat Magazine была статья Tip from an RHCE: Memory storage on PostgreSQL – One way to make sure your PostgreSQL (temporary) table is in memory ., так вот там описывалось, как сделать табличное пространство в PostgreSQL смонтированным репозиторием, расположенным именно в области memory (жаль у меня сохранилась только ссылка - теперь она не рабочая, статью удалили отовсюду)
так вот "лёгким движением руки" естественно не лёгким БД "превращалась" специально взял в кавычки в Redis
...
Рейтинг: 0 / 0
Правильно ли тут описаны внутренности работы процедуры checkpoint в PostgreSQL?
    #39744205
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex URS, если памяти не жалко, можно и так. Но это никак не поменяет архитектуру PostgreSQL, и Redis-ом она не станет, даже если PGDATA положить в рамдиск.
...
Рейтинг: 0 / 0
Правильно ли тут описаны внутренности работы процедуры checkpoint в PostgreSQL?
    #39744248
Hawkmoon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_developerЭ-э-э, мы не говорим про СУБД и про реляционную алгебру.

Веришь нет, мы на форуме про СУБД.
и говорим тут часто на языке select ... from ... join ...
И у тебя в нике dbms.
Но конечно, ни про первое ни про второе ни про третье ты не говоришь.

Еще раз повторяю: человек, который будет называть собак кошками на форуме кинологов, и при этом утверждать, что он прав, закончит дни в психушке.
...
Рейтинг: 0 / 0
Правильно ли тут описаны внутренности работы процедуры checkpoint в PostgreSQL?
    #39744284
dbms_developer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex URSvyegorovAlex URS,

pg_prewarm и цитата Тома — они несколько о другом.
Мы тут обсуждаем Нам рассказывают про механизмы попадающие под ‘D’ (Durability), и там важна другого рода производительность.

если брать в целом - согласен
статью читал, но не понимаю одно:
если нам впаривают, что Key = Value, то это не так. Реляция это связь, но не Key - Value.
для реляционных баз данных верен информационный принцип: всё информационное наполнение базы данных представлено одним и только одним способом, а именно — явным заданием значений атрибутов в кортежах отношений; в частности, нет никаких указателей (адресов), связывающих одно значение с другим;

Нет, этого вам не впаривают.
Игнорируйте впустую возбудившихся.
...
Рейтинг: 0 / 0
Правильно ли тут описаны внутренности работы процедуры checkpoint в PostgreSQL?
    #39744288
dbms_developer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Scott Tigerdbms_developer, главная ошибка автора текста по ссылке состоит в том, что он пытается натянуть видимо хорошо ему знакомую терминологию из условного Redis на совершенно по-другому устроенный PostgreSQL. Как результат, понять логику рассуждений сложно, ибо она построена на совершенно абсурдных предположениях. Для начала надо понять, что для постгреса неприменима логика восстановления в памяти состояния из дисковой копии ("снапшота"), ибо первичным является собственно состояние на диске, а память используется как буфер, временно хранящий обрабатываемые данные, причём размер этого буфера обычно несопоставимо меньше объёма данных, хранящихся на диске (в файлах).
Это понятно, но это не принципиально для темы обсужления.
...
Рейтинг: 0 / 0
Правильно ли тут описаны внутренности работы процедуры checkpoint в PostgreSQL?
    #39744310
dbms_developer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ясно, что для СУБД типично то, что дисковое/ленточное/бумажное хранилище первично по отношению к памяти. В этом смысле СУБД не пытается накатить состояние памяти из "снепшота", чтобы работать, и ОЗУ рассматривается чисто как кеш. Но это совершенно не отличается от того, как если бы у нас существовала некая Key=Value, которая умеет вытеснять из памяти часть данных и по необходимости ходить за ними на диск. Я считаю, что в современном мире систем хранения эта граница давно уже размыта. Что считать
"in-memory" хранилкой, что "дисковой" - уже строго деления давно нет. Все они держат что-то в памяти, что-то имеют право держать на диске. Если система держит на диске 95% своих данных, то "in-memory" или нет? А если через 1 минуту подгрузила всё в память и больше не выгружала - она стала "in memory" от этого? В общем это всё софистика с точки зрения темы топика. Мы можем реализовать тот же Redis на базе B+-Tree, а не на базе хеш-таблички и научить Redis при старте не зачитывать в память всё, а подгружать блоки B+-Tree при необходимости, а при желании скинуть что-то на диск, помимо записи журнала, иногда делать тот же самый checkpoint процесс со скидыванием грязных страничек.

Так что тема разговора просто про способ синхронизировать с диском набор грязных блоков, реализованный в Постгресе в виде постгресного checkpoint процесса. Что там в этих блоках лежало - многоверсионные кортежи, реляционно связанные с чем-то там ещё или просто россыпь Key=Value - имеет нулевую важность.
...
Рейтинг: 0 / 0
Правильно ли тут описаны внутренности работы процедуры checkpoint в PostgreSQL?
    #39744396
Alex URS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dbms_developerЯсно, что для СУБД типично то, что дисковое/ленточное/бумажное хранилище первично по отношению к памяти. В этом смысле СУБД не пытается накатить состояние памяти из "снепшота", чтобы работать, и ОЗУ рассматривается чисто как кеш. Но это совершенно не отличается от того, как если бы у нас существовала некая Key=Value, которая умеет вытеснять из памяти часть данных и по необходимости ходить за ними на диск. Я считаю, что в современном мире систем хранения эта граница давно уже размыта. Что считать
"in-memory" хранилкой, что "дисковой" - уже строго деления давно нет. Все они держат что-то в памяти, что-то имеют право держать на диске. Если система держит на диске 95% своих данных, то "in-memory" или нет? А если через 1 минуту подгрузила всё в память и больше не выгружала - она стала "in memory" от этого? В общем это всё софистика с точки зрения темы топика. Мы можем реализовать тот же Redis на базе B+-Tree, а не на базе хеш-таблички и научить Redis при старте не зачитывать в память всё, а подгружать блоки B+-Tree при необходимости, а при желании скинуть что-то на диск, помимо записи журнала, иногда делать тот же самый checkpoint процесс со скидыванием грязных страничек.

Так что тема разговора просто про способ синхронизировать с диском набор грязных блоков, реализованный в Постгресе в виде постгресного checkpoint процесса. Что там в этих блоках лежало - многоверсионные кортежи, реляционно связанные с чем-то там ещё или просто россыпь Key=Value - имеет нулевую важность.

смешались в кучу кони, люди (с)
1. по поводу нулевой важности - прочитайте про архитектуру Berkeley DB
2. система in-memory - это не совсем то, что вы пишите - это не место - это механизм, который подразумевает хранение в in-memory как минимум индексов к объекту

вообще я не понимаю такую вещь - SQL на порядок надёжнее, чем NOSQL из за математического способа структуризации, которого в NOSQL нет - как можно от NOSQL "тянуть" checkpoint в SQL(RDBMS) - это не логично
...
Рейтинг: 0 / 0
Правильно ли тут описаны внутренности работы процедуры checkpoint в PostgreSQL?
    #39744509
dbms_developer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex URSdbms_developerЯсно, что для СУБД типично то, что дисковое/ленточное/бумажное хранилище первично по отношению к памяти. В этом смысле СУБД не пытается накатить состояние памяти из "снепшота", чтобы работать, и ОЗУ рассматривается чисто как кеш. Но это совершенно не отличается от того, как если бы у нас существовала некая Key=Value, которая умеет вытеснять из памяти часть данных и по необходимости ходить за ними на диск. Я считаю, что в современном мире систем хранения эта граница давно уже размыта. Что считать
"in-memory" хранилкой, что "дисковой" - уже строго деления давно нет. Все они держат что-то в памяти, что-то имеют право держать на диске. Если система держит на диске 95% своих данных, то "in-memory" или нет? А если через 1 минуту подгрузила всё в память и больше не выгружала - она стала "in memory" от этого? В общем это всё софистика с точки зрения темы топика. Мы можем реализовать тот же Redis на базе B+-Tree, а не на базе хеш-таблички и научить Redis при старте не зачитывать в память всё, а подгружать блоки B+-Tree при необходимости, а при желании скинуть что-то на диск, помимо записи журнала, иногда делать тот же самый checkpoint процесс со скидыванием грязных страничек.

Так что тема разговора просто про способ синхронизировать с диском набор грязных блоков, реализованный в Постгресе в виде постгресного checkpoint процесса. Что там в этих блоках лежало - многоверсионные кортежи, реляционно связанные с чем-то там ещё или просто россыпь Key=Value - имеет нулевую важность.

смешались в кучу кони, люди (с)
1. по поводу нулевой важности - прочитайте про архитектуру Berkeley DB
2. система in-memory - это не совсем то, что вы пишите - это не место - это механизм, который подразумевает хранение в in-memory как минимум индексов к объекту

вообще я не понимаю такую вещь - SQL на порядок надёжнее, чем NOSQL из за математического способа структуризации, которого в NOSQL нет - как можно от NOSQL "тянуть" checkpoint в SQL(RDBMS) - это не логично
Не очень понял в чём вопрос.
У вас есть B+-Tree в большом файлике.
Вы нагрузили в память каких-то блоков этого B+-Tree, какими-то элементарными операциями меняете содержимое этих блоков, возможно порождаете новые.
Задача: хотелось бы скинуть на диск изменённые блоки. Как-нибудь.

Checkout process в Постгресе решает эту задачу своим способом.
Этот способ и обсуждается.
Чё там в этих блоках валяется - строки таблиц, Key=Value или ещё какая хрень - вообще пофигу. SQL тоже.
...
Рейтинг: 0 / 0
Правильно ли тут описаны внутренности работы процедуры checkpoint в PostgreSQL?
    #39744621
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.interdb.jp/pg/pgsql09.html - вот здесь в разделе 9.7 написано, как делается чекпоинт, и что куда пишется. Перевести на язык марсиан с Юпитера, которым написана статья https://telegra.ph/postgreSQL-checkpoint-logic-11-14 , я лично не возьмусь.
...
Рейтинг: 0 / 0
20 сообщений из 45, страница 2 из 2
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Правильно ли тут описаны внутренности работы процедуры checkpoint в PostgreSQL?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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