Size: a a a

pgsql – PostgreSQL

2021 January 16

YS

Yaroslav Schekin in pgsql – PostgreSQL
The
И ни одного ответа по существу, как и у всех бартуноидов. Нет бы затёрли про pacelc, ipc и dlm, а не пытались в ad hominem. Хотя какая разница, когда Oracle, MS и Percona как-то смогли, а хайлоадеры мучаются кворум-нашлёпками или древним гринпламом с DTM.
"Разница" в том, что по отношению к надёжному (full-ACID) и производительному multimaster RDBMS бывают примерно трёх видов:
1. Те, где его нет.
2. Те, которые врут, что он там есть.
3. Распределённые СУБД.
;)

И это не случайность, а обусловлено устройством нашего мира (и есть же соответствующие теоремы).
источник

VN

V N in pgsql – PostgreSQL
The
В mssql таки осилили MVCC, когда точно, не вспомню. А вот в постгре до сих пор не смогли в изоляцию repeatable read и sequential.
источник

T

The in pgsql – PostgreSQL
Хорошее чтиво, но мне больше PostgreSQL Internals понравился, там детальнее.
источник

VN

V N in pgsql – PostgreSQL
The
Хорошее чтиво, но мне больше PostgreSQL Internals понравился, там детальнее.
Ну это и не статья а презентация...
источник

VN

V N in pgsql – PostgreSQL
The
Хорошее чтиво, но мне больше PostgreSQL Internals понравился, там детальнее.
есть и интерналс в картинках https://momjian.us/main/writings/pgsql/internalpics.pdf
источник

L

Livegeny in pgsql – PostgreSQL
The
Хорошее чтиво, но мне больше PostgreSQL Internals понравился, там детальнее.
имеется в виду https://www.interdb.jp/pg/ ?
источник

T

The in pgsql – PostgreSQL
Yaroslav Schekin
"Разница" в том, что по отношению к надёжному (full-ACID) и производительному multimaster RDBMS бывают примерно трёх видов:
1. Те, где его нет.
2. Те, которые врут, что он там есть.
3. Распределённые СУБД.
;)

И это не случайность, а обусловлено устройством нашего мира (и есть же соответствующие теоремы).
Всё верно, об этом и речь в CAP/PACELC. (Хотя это скорее постулат, а не теорема.)
Hикто не против иных вариантов помимо CA, с некоторым tradeoff. Для систем важнее сайта для кошачьего корма доступность важнее, чем реплика с протухшим timeline id.
Беда в том, что postgres слишком завязан на локальные ресурсы системы. Внутреннего кворумного механизма между транзакциями и данными пока не сделали. А внешний сломается после первого partitioning-а, уже проверено многократно.
источник

T

The in pgsql – PostgreSQL
Да, этот. Считаю его довольно неплохим ресурсом, пусть и несколько устаревшим.
источник

N

Nastasya in pgsql – PostgreSQL
Скорее всего обращаюсь не туда, но может кто то подскажет учебник об информационных системах(базы данных проектирование и тд) русский, старше 2015 года?
Нужна инфа о фактографических системах.
Спасибо.
источник

IK

Ivan Karniyenka in pgsql – PostgreSQL
всем привет. у меня есть таблица с разными измерениями типа 1) стол : 40-70 *40-60*20 -50см, 2) стул : 100-150 *12-35*12-56 см, 3) кружка : 5-55*5-85*5-125 мм 4) ручка : 2-30*2-29*3-35 дюйм
и хочу получить все строки, у которых, в диапазонах есть размеры -  45*45*45 см. сюда подходит 1 , 3, 4 строки.
могу делать несколько запросов, делая перевод в каждуюединицу измерений. но надо как то уместить это все в один.
может кто знает - где это искать, или как называется?
источник

P

Petr in pgsql – PostgreSQL
Ivan Karniyenka
всем привет. у меня есть таблица с разными измерениями типа 1) стол : 40-70 *40-60*20 -50см, 2) стул : 100-150 *12-35*12-56 см, 3) кружка : 5-55*5-85*5-125 мм 4) ручка : 2-30*2-29*3-35 дюйм
и хочу получить все строки, у которых, в диапазонах есть размеры -  45*45*45 см. сюда подходит 1 , 3, 4 строки.
могу делать несколько запросов, делая перевод в каждуюединицу измерений. но надо как то уместить это все в один.
может кто знает - где это искать, или как называется?
Универсального решения нету - юзай сабстринг, регулярки и т.д.
источник

am

a m in pgsql – PostgreSQL
Dmitriy
В реальном проекте вы в любом случае не обойдётесь одним только использованием PostgreSQL. Так или иначе, нужен хотя бы кеш. Например, Redis - и это уже вторая база. Всё равно вы из этой таблице сообщений чата (если в PostgreSQL всё же собираетесь сообщения хранить), данные будете постоянно удалять, потому что нет вообще никакого смысла хранить все сообщения, т.к. они очень быстро теряют актуальность и просто не нужны. PostgreSQL - хорошая СУБД, но использовать её везде - это, мне кажется, натягивание совы на глобус. Очереди тоже можно сделать с использованием PostgreSQL, но вы же не станете так делать, и возьмёте какой-нибудь RabbitMQ, надеюсь?
> Так или иначе, нужен хотя бы кеш.
Не нужен. [пляшет]

> нет вообще никакого смысла хранить все сообщения
Специалисты по таргетинговой рекламе сейчас подавились дорогим вином.

> но вы же не станете так делать, и возьмёте какой-нибудь RabbitMQ, надеюсь
Конечно нет, ни за что. Мне заняться больше нечем, кроме как сломавшуюся мнезию чинить?
источник

IK

Ivan Karniyenka in pgsql – PostgreSQL
Petr
Универсального решения нету - юзай сабстринг, регулярки и т.д.
понял, спасибо
источник

VN

V N in pgsql – PostgreSQL
Ivan Karniyenka
всем привет. у меня есть таблица с разными измерениями типа 1) стол : 40-70 *40-60*20 -50см, 2) стул : 100-150 *12-35*12-56 см, 3) кружка : 5-55*5-85*5-125 мм 4) ручка : 2-30*2-29*3-35 дюйм
и хочу получить все строки, у которых, в диапазонах есть размеры -  45*45*45 см. сюда подходит 1 , 3, 4 строки.
могу делать несколько запросов, делая перевод в каждуюединицу измерений. но надо как то уместить это все в один.
может кто знает - где это искать, или как называется?
меняй модель хранения
источник

am

a m in pgsql – PostgreSQL
Radist
А ещё есть listen/notify чтобы не дёргать таблицу очереди в холостую.
Знаю. До сих пор даже не пытался попробовать, потому что: лень; дерганье вхолостую все равно намного менее затратно по ресурсам, чем работа не вхолостую, а поэтому нет ни малейшего смысла чего-то там оптимизировать.
Да, я ужасен!
источник

D

Dmitriy in pgsql – PostgreSQL
a m
> Так или иначе, нужен хотя бы кеш.
Не нужен. [пляшет]

> нет вообще никакого смысла хранить все сообщения
Специалисты по таргетинговой рекламе сейчас подавились дорогим вином.

> но вы же не станете так делать, и возьмёте какой-нибудь RabbitMQ, надеюсь
Конечно нет, ни за что. Мне заняться больше нечем, кроме как сломавшуюся мнезию чинить?
> Не нужен. [пляшет]

Не согласен. Допустим, есть некий сайт. На открытие его какой-то страницы требуется несколько запросов к бд (ну или один достаточно тяжёлый). Сколько суммарно у меня будет занимать выборка данных? Из того же Redis выборка в большинстве случаев будет быстрее. А поисковые системы сейчас достаточно требовательны к скорости загрузки страницы. Да и юзеры тоже. Если плевать на скорость работы сайта/сервиса, то кешировать, конечно, не нужно. Если плевать на количество запросов, которые к БД летят - тем более.

> Специалисты по таргетинговой рекламе сейчас подавились дорогим вином.

Вы точно уверены в том, что пишете?

> Конечно нет, ни за что

И что вместо него?
источник

R

Radist in pgsql – PostgreSQL
a m
Знаю. До сих пор даже не пытался попробовать, потому что: лень; дерганье вхолостую все равно намного менее затратно по ресурсам, чем работа не вхолостую, а поэтому нет ни малейшего смысла чего-то там оптимизировать.
Да, я ужасен!
При работе через jdbc стандартным драйвером, кстати, всё равно приходится вхолостую дёргать, но уже простой запрос типа пустого select. Как в других языках не знаю.
источник

am

a m in pgsql – PostgreSQL
Dmitriy
> Не нужен. [пляшет]

Не согласен. Допустим, есть некий сайт. На открытие его какой-то страницы требуется несколько запросов к бд (ну или один достаточно тяжёлый). Сколько суммарно у меня будет занимать выборка данных? Из того же Redis выборка в большинстве случаев будет быстрее. А поисковые системы сейчас достаточно требовательны к скорости загрузки страницы. Да и юзеры тоже. Если плевать на скорость работы сайта/сервиса, то кешировать, конечно, не нужно. Если плевать на количество запросов, которые к БД летят - тем более.

> Специалисты по таргетинговой рекламе сейчас подавились дорогим вином.

Вы точно уверены в том, что пишете?

> Конечно нет, ни за что

И что вместо него?
Я тут последние пару лет гонял личный проект с трафиком в 50 000 ежедневных рыл из поисковика. Вывалил так вывалил, ага. И я бы руки оторвал тому, кто бы мне кеш между базой данных и приложением намастерил. Кеш для поисковиков начинается с HTTP 304. И там же его можно закончить, поставив http reverse proxy вперед (нынче самый популярный способ это сделать — тупо подключить клаудфлару).

Ну и кеш — это черная магия, с которой надо работать предельно настороженно и под лупой. Если человек сходу заявляет «без кеша нельзя», то он, скорее всего, просто обчитался хабрахабра.

Если вы на сайте от тяжелых запросов кешем спасаетесь, то дайте мне его адрес — я повалю его за пять минут, просто морфируя запросы.

> Вы точно уверены в том, что пишете?

Конечно. Сообщения в чате — это драгоценные данные, которые надо хранить вечно. Если не это, то я не знаю, что еще имеет смысл хранить. Банковские балансы?

> И что вместо него?

Не знаю. Я тупо на постгресе велосипедю. Когда сломается под нагрузкой, тогда буду гуглить, чего там люди вообще придумали для очередей. Пока не сломалось.
источник

am

a m in pgsql – PostgreSQL
Я тут даже вспомнил про один «профессиональный» месседжер, который за платную подписку предлагает доступ к... истории сообщений. Интересно, кто-нибудь вообще ее покупает?
источник

am

a m in pgsql – PostgreSQL
источник