Size: a a a

pgsql – PostgreSQL

2020 June 10

4

4g in pgsql – PostgreSQL
ФСБ Беларуси
привет.
хочу поставить postgresql на ssd, но при этом хочу не убить быстро ресурс ssd. есть идеи? (СУБД будет обслуживать 10 мелких сайтиков, nextcloud и gitlab)
Из ресурсов хост-системы (proxmox)  - Intel DC S4500 480 GB в RAID 1  + Toshiba P300 2TB в RAID 1

я так понимаю, нужно выносить на HDD WAL / pg_stat_tmp / pg_stat?
Так его не рекомендуется ставить под сервер СУБД (я про ssd). Ну так-то можно конечно, вопрос только на сколько его будут насиловать. У него по характеристикам перезапись всего объема каждый день в течении 5 лет.
Если будет превышать, то надо просто брать другую модель. 🤷🏻
Просто под сервер виртуализации вполне себе, но с СУБД думаю стоит брать из уровня повыше по надёжности.
имхо конечно
источник

ВК

Виталий Кухарик... in pgsql – PostgreSQL
Victor Yegorov
ну… RAC тоже в известной степени “костыли”…
+1
источник

ВК

Виталий Кухарик... in pgsql – PostgreSQL
Konstantin Knizhnik
Нужно хорошо понимать, для чего вам нужен кластер.
1. Просто HA (если одна из нод вышла из строя, то чтобы система продолжала работать)
2. Масштабирование read-only нагрузки и  OLAP запросов
3. Масштабирование read-write нагрузки (OLTP запросы)

Для 1) Постгрес предлагает набор "Сделай сам" - репликация с помощью потусторонних тулзов (Патрони, Сталон, ...)
2) Можно сдедать с помощью той репликации (hot standby).
Но для OLAP лучше подходят специализированные решения типа CitusDB, TimescaleDB, GreenPlum или даже Postgres-XL. Для облаков есть Amazon RDS и Aurora.
Для того, чтобы выполнять на репликах read-only запросы надо их как-то уметь отделять от апдейтов. Это можно делать на уровне приложения или с помощью pgbpool/pgbouncer-rr.
Или же использовать pgpro:multimaster
3)  обязательно подразумевает шардинг - т.е. горизонтальное партицирование. Эффективнее всего это делать на уровне приложения. Но если не возможно или не хочется, то можно использовать CitusDB, pgpro:pg_shardman
👍
источник

s

sexst in pgsql – PostgreSQL
Yaroslav Schekin
> Если что, то я про pgsql_tmp.

Я тоже. Я имел в виду — ограничить с помощью temp_file_limit, да и всё.

> но тогда мы будем на каждый коннект память выделять, независимо от того нужна она или нет.

Ничего подобного. Work_mem — просто рекомендательное "ограничение", причём на один узел запроса.
Т.е. если запросам в данной сессии столько памяти не нужно — она и не выделяется вообще.
А если требуется больше, т.е. другого выхода нет (я тут как-то приводил примеры) — PostgreSQL попробует выделить сколько нужно, проигнорировав work_mem, кстати.

> Сунуть pgsql_tmp на приемлемый по размеру рамдиск

Мой совет выше — просто чтобы с ram disk не заморачиваться. Хотя таким образом можно ограничить "в общем", минус в непредсказуемых ошибках в запросах в сессиях, когда эта память будет почти исчерпана (т.е. сессии начнут "красть" друг у друга ресурсы). ;)

> такой подход может немало оперативки сэкономить.

Каким образом (по сравнению с тем, чтобы просто ограничить)?
Ха. Век живи, век учись.
Я вообще помнил это почему-то иначе: указанное количество work_mem выделяется под каждую сортировку/хеширование/whatever, а всё, что в этот размер не влезло, пишется дальше на диск. Если есть условный запрос, который хочет 900М под какой-то sort, то можно, конечно, выставить work_mem в 1G, чтобы оно в память влезало. Но тогда автоматом каждая фигня в запросе, требующая work_mem, будет аллокацию целого гигабайта наперёд делать, даже если ей и мегабайта за глаза. В итоге пять мелких копеечных сортировок в запросе => 5  гигов под него отщипнуло.
Полез я перечитывать походу, в упор не помню про выделение ме́ньших кусков.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
4g
Так его не рекомендуется ставить под сервер СУБД (я про ssd). Ну так-то можно конечно, вопрос только на сколько его будут насиловать. У него по характеристикам перезапись всего объема каждый день в течении 5 лет.
Если будет превышать, то надо просто брать другую модель. 🤷🏻
Просто под сервер виртуализации вполне себе, но с СУБД думаю стоит брать из уровня повыше по надёжности.
имхо конечно
Хмм... кем не рекомендуется и почему?
И даже в отношении надёжности — современные HDD намного лучше?
источник

s

sexst in pgsql – PostgreSQL
Yaroslav Schekin
А вообще, по этому вопросу: +1 вот к этому https://t.me/pgsql/230997
Т.е. эти "фокусы" — почти наверняка напрасная трата времени, да и всё.
А вот тут плюсую. Даже интелы относительного home grade задолбаешься убивать записью.
С другой стороны вынести wal достаточно бесплатно, а профит от этого большой.
источник

DP

Darafei Praliaskousk... in pgsql – PostgreSQL
Бекапы в другой датацентр, и хватит
источник

s

sexst in pgsql – PostgreSQL
Если что, у меня личная выборка из нескольких десятков интелов, в основном MLC, несколько SLC. Ни одного за почти 10 лет не сдохло, даже не приблизились. Пишется в некоторых местах весьма прилично.
Вот TLC, тем более QLC, под базу - реальное днище.
источник

4

4g in pgsql – PostgreSQL
Yaroslav Schekin
Хмм... кем не рекомендуется и почему?
И даже в отношении надёжности — современные HDD намного лучше?
Нет, речь не про hdd конечно.
Ориентирование производителя продукции.
Но опять же все зависит от задач - т.е. какой объем данных ежедневно будет переписываться на этом диске.
Я прост видимо уже сплю и пропустил что автор вопроса указал небольшие нагрузки.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
4g
Нет, речь не про hdd конечно.
Ориентирование производителя продукции.
Но опять же все зависит от задач - т.е. какой объем данных ежедневно будет переписываться на этом диске.
Я прост видимо уже сплю и пропустил что автор вопроса указал небольшие нагрузки.
А, понятно. :)
источник

4

4g in pgsql – PostgreSQL
От некоторых все равно слышаться нотки недоверия к ssd, но лично я считаю что существующие модели на рынке во первых могут покрыть практически любые потребности, а что касается брака,  который на мой взгляд, является большей частью недоверия, так тут вопрос больше к выбору в рамках бюджета и к планам резервного копирования, скорости восстановления работоспособности, дублирование, троирование и т.п.
А во вторых - накопителей типа ssd мне кажется это вообще отчасти "расходный материал", конечно неприятно когда он перестает работать
источник

Ð

Ð in pgsql – PostgreSQL
я тут неделю назад сервак с ссд взял, сегодня уже смарт полетел
источник

Ð

Ð in pgsql – PostgreSQL
но это первый такой случай, обычно все норм
источник

4

4g in pgsql – PostgreSQL
А что за ссд?
источник

Ð

Ð in pgsql – PostgreSQL
ну как норм, год-два и менять
источник

Ð

Ð in pgsql – PostgreSQL
4g
А что за ссд?
источник

Ð

Ð in pgsql – PostgreSQL
такой вот
источник

l

lnuynxa in pgsql – PostgreSQL
бушный что ли брал?
источник

Ð

Ð in pgsql – PostgreSQL
да вроде новый был
источник

l

lnuynxa in pgsql – PostgreSQL
ну тогда это проблемы сосунга, пусть меняют, не?
источник