Size: a a a

pgsql – PostgreSQL

2021 February 08

SP

Slava Pinchuk in pgsql – PostgreSQL
Это вопрос к базе или нет
источник

am

a m in pgsql – PostgreSQL
(говорят, в 2010-м году какой-то японец решил задачу double spending’а даже для распределенной среди кого попоало базы данных)
источник

am

a m in pgsql – PostgreSQL
Slava Pinchuk
Это вопрос к базе или нет
Это вопрос к тому, что одного из бронировщиков надо послать ошибкой «денег нет».
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Slava Pinchuk
Вопрос простой.
Понятно, что если есть один сервис, который просит списать или положить бабло, то мы просто апдейтим запись. Е сли деклаин тоже апдейтим запись
А если таких сервисов 4 или 5?
То может быть таоке что в единицу времени ежечасно я заапрувил и снял деньги для одного сервиса(то есть сперв азабронировал денбги а потмо списал),  а второй раньше забронировал и потом надо списать, то уже писывать нечего так как первый списал ранее.

Конкурентое списнаие денег баланса... Что тогда делать? Это задача базы или всё же решается в коде?
Лично я бы попробовал:
1. Нормально спроектировать базу
2. Написать правильно работающие сами по себе операции
3. Использовать transaction isolation level = serializable
...
4. Profit (не надо думать о "конкурентных списаниях" и прочей низкоуровневой / не относящейся к бизнес-требованиям ерунде).

"Общий" совет, конечно — но конкретных примеров Вы тоже не показали. ;)
источник

am

a m in pgsql – PostgreSQL
Yaroslav Schekin
Лично я бы попробовал:
1. Нормально спроектировать базу
2. Написать правильно работающие сами по себе операции
3. Использовать transaction isolation level = serializable
...
4. Profit (не надо думать о "конкурентных списаниях" и прочей низкоуровневой / не относящейся к бизнес-требованиям ерунде).

"Общий" совет, конечно — но конкретных примеров Вы тоже не показали. ;)
3. Это неспортивно.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
a m
3. Это неспортивно.
Ну так это и не спорт, а бухгалтерия (и т.д.). ;)
источник

am

a m in pgsql – PostgreSQL
А если там хайлоад бухгалтерия, то помирать с этим серьязейблом?
источник

SP

Slava Pinchuk in pgsql – PostgreSQL
a m
А если там хайлоад бухгалтерия, то помирать с этим серьязейблом?
банк и есть бухгалтерия и да хайлоад бухгалтерия и есть банк
источник

SP

Slava Pinchuk in pgsql – PostgreSQL
a m
А если там хайлоад бухгалтерия, то помирать с этим серьязейблом?
Любая операция с Вашей банковской картой бухгалтерия )
источник

am

a m in pgsql – PostgreSQL
Slava Pinchuk
банк и есть бухгалтерия и да хайлоад бухгалтерия и есть банк
Рокетбанк давно закрыли. Вас забыли уволить.
источник

SP

Slava Pinchuk in pgsql – PostgreSQL
a m
Рокетбанк давно закрыли. Вас забыли уволить.
Мня там нет :D
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
a m
А если там хайлоад бухгалтерия, то помирать с этим серьязейблом?
То использовать адекватное "железо", например.
И, кстати, почему Вам кажется, что он как-то связан с "помирать", особенно на практике?
источник

SP

Slava Pinchuk in pgsql – PostgreSQL
ладно, никакого спама. Я подумаю как задать конструктивный вопрос , попробую с разных сторон а там посмотрим. Спасибо за мысли всем, кто ответил.
источник

A

Anatoly in pgsql – PostgreSQL
Привет, коллеги. Можно как-то при имеющихся файлах pg_wal на горячей базе их откатить на дату создания этих файлов?
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Anatoly
Привет, коллеги. Можно как-то при имеющихся файлах pg_wal на горячей базе их откатить на дату создания этих файлов?
Flashback-а нет
источник

A

Anatoly in pgsql – PostgreSQL
и они уже применились на таблицы? может можно их удалить и рестартануть кластер, он без них встанет
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Anatoly
Привет, коллеги. Можно как-то при имеющихся файлах pg_wal на горячей базе их откатить на дату создания этих файлов?
Кого откатить?
WAL невозможно "проиграть назад", если вопрос об этом.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Anatoly
и они уже применились на таблицы? может можно их удалить и рестартануть кластер, он без них встанет
Сразу после таких действий нужно снести уже "битый" кластер, и восстановить его из backup.
источник

am

a m in pgsql – PostgreSQL
Yaroslav Schekin
То использовать адекватное "железо", например.
И, кстати, почему Вам кажется, что он как-то связан с "помирать", особенно на практике?
Запускал в свое время хайлоад бухгалтерию и там все умерло даже без серьязейбла.
источник

A

Anatoly in pgsql – PostgreSQL
Yaroslav Schekin
Сразу после таких действий нужно снести уже "битый" кластер, и восстановить его из backup.
так накатились в таблицы данные? там битый скорее всего чинится проставлением версии
источник