@pgsql

Страница 196 из 1062
Sergey
16.12.2016
15:38:42
Доберусь домой - закину схему, если интересно

lemi
16.12.2016
15:38:50
с json в Postgres все еще сложновато работать

blkmrkt
16.12.2016
15:39:30
hstore? в Postgres
наверное не, потому что могли измениться глубокие документы, а так же куски массивов json

Google
Sergey
16.12.2016
15:41:16
В postgre это норма
показания расходятся. Ты говоришь норма, а @lleming что нет

кому верить?

blkmrkt
16.12.2016
15:41:24
плюс проблема в том, что эта таблица сейчас 22ТБ, и приближается к лимиту в 32ТБ - не знаю что будет потом

Yegor
16.12.2016
15:41:28
Все зависит от юз-кейса, например Wix.com вообще все данные хранит в json в mysql, хотя там даже нет поддержки json на уровне базы

blkmrkt
16.12.2016
15:42:55
да и не представляю сейчас как это все мигрировать на nosql - только что выгружать в тот же S3, да заливать обратно

Anatoliy
16.12.2016
15:44:08
Я производил обратную операцию mongo -> postgres и могу сказать что то еще удовольствие

blkmrkt
16.12.2016
15:46:38
у монги вообще лимит 32ТБ на всю БД, офигеть

Yegor
16.12.2016
15:46:54
Ну монга то же шардинг делает

Google
Yegor
16.12.2016
15:47:31
Монга шардинг делает и postgres шардинг делает, но постгри НИМОДНА, ни WEBSCALE

blkmrkt
16.12.2016
15:47:48
блин, не вижу экономического смысла шардить, пока можно пихать харды в тот сервер который есть сейчас

Fike
16.12.2016
15:48:09
блин, хорошая у вас тут дискуссия

Yegor
16.12.2016
15:49:04
блин, не вижу экономического смысла шардить, пока можно пихать харды в тот сервер который есть сейчас
Потому что табличка это один файл и если он у тебя будет ебово огромным то все будет тормозить

Fike
16.12.2016
15:49:25
но это же два сервера держать

Петр
16.12.2016
15:50:34
блин, не вижу экономического смысла шардить, пока можно пихать харды в тот сервер который есть сейчас
уверен, что вакуум успеет пройти на 32ТБ таблице до того как наступит xid wraparound? ))

Yegor
16.12.2016
15:50:55
почему же, они по 1ГБ режутся
Это медленно, если у тебя будет запрос по нескольким файлам

Но это конечно спорная тема, что быстрее - прочитать несколько раз файл или агреггировать данные по сети

lemi
16.12.2016
15:51:28
пока запроса нет то непонятно медленно ли это

blkmrkt
16.12.2016
15:51:33
уверен, что вакуум успеет пройти на 32ТБ таблице до того как наступит xid wraparound? ))
вот этого тоже боюсь, правда у меня эта таблица не апсертится, данные никогда не меняются, пока еще этой проблемы не встречал

Yegor
16.12.2016
15:51:50
А ты можешь просто ничего не удалять и вакуум не страшен))

lemi
16.12.2016
15:54:09
Это медленно, если у тебя будет запрос по нескольким файлам
запросы делают не по файлам а по данным запрос из нескольких файлов но лежащих в рядом секторах будет побыстрее чем из одного файла но хорошенько раскиданного по разным секторам

Fike
16.12.2016
15:54:11
Монга шардинг делает и postgres шардинг делает, но постгри НИМОДНА, ни WEBSCALE
я вот что хотел спросить: как там с foreign keys и решардингом?

blkmrkt
16.12.2016
15:54:19
а google bigtable не распространяется чтоб у себя ее поставить?

Fike
16.12.2016
15:54:20
ну и джойнами до кучи

blkmrkt
16.12.2016
15:56:32
можно еще blocksize изменить на 32КБ в постгре, тогда макс лимит будет 128ТБ

но советуют просто сделать партиционирование таблицы

Fike
16.12.2016
16:01:50
я сильно сомневаюсь, что здесь нужен постгре

Google
blkmrkt
16.12.2016
16:01:56
вот и я тож

Fike
16.12.2016
16:02:09
во всяком случае, предлагаемый тюнинг

blkmrkt
16.12.2016
16:03:23
я позавчера так и не разобрался, почему при заполнении нулями пейджа с битыми данными, ломается предыдущий пейдж в постгре

Петр
16.12.2016
16:04:22
мне интересно, если просто построчно вытаскивать в параллели с кол-вом в 1,5% ядер на сколько быстро можно вытащить все данные)

blkmrkt
16.12.2016
16:04:25
вероятно команда dd if=/dev/zero of=/var/lib/postgresql/9.5/main/base/16385/16443 bs=8K seek=92803 count=1 conv=notrunc пишет нули куда-то между пейджами, которые видит постгре?

Петр
16.12.2016
16:05:11
не должен вроде, я пробовал, все норм было у меня...

Петр
16.12.2016
16:05:53
неточно выразился видимо, ну если у тебя 100 ядер, то параллельно 150-ю процессами вытаскивать построчно

blkmrkt
16.12.2016
16:06:36
неточно выразился видимо, ну если у тебя 100 ядер, то параллельно 150-ю процессами вытаскивать построчно
а может быть, только нужно создать вторую таблицу куда вытащенное складывать, а у меня места больше нет :)

только внешний медленный hdd

Петр
16.12.2016
16:06:46
аа

lemi
16.12.2016
16:15:09
смещение на 1 байт

Петр
16.12.2016
16:17:45
что это за смещение? можно поподробнее?

blkmrkt
16.12.2016
16:46:26
смещение на 1 байт
да интересно, гуглил подобное, но не нашел у других подобных проблем

Петр
16.12.2016
16:48:29
такого не может быть, как я полагаю в файлах страницы по 8к

blkmrkt
16.12.2016
17:10:57
еще попробовал дамп другой таблицы сделать, так сервер вообще крашится на text_to_cstring -> toast_decompress_datum -> pglz_decompress

Петр
16.12.2016
17:13:10
да, бывает и такое там у тебя много что перебито видимо датафайлы, clog, multixact да и файлы ОС

Петр
16.12.2016
17:14:14
а, ну да

Google
blkmrkt
16.12.2016
17:14:41
но наверное от этого спасет тоже заливка нулями страниц, да?

главное обнаружить какие крашатся

а вот допустим что битые данные от того что сервер постгрес был внезапно убит – какова вероятность что там дофига битых пейджей?

a ok

lemi
16.12.2016
17:46:25
а как вычисляли расположение страницы на диске ?

blkmrkt
16.12.2016
17:46:57
а как вычисляли расположение страницы на диске ?
посмотрел первую цифру в ctid до запятой, ну и seek=этацифра в dd

точнее я сейчас осознал что нужно было делать этацифра+1, тк тот рекорд не выплюнулся в psql

lemi
16.12.2016
17:47:29
первая цифра это номер страницы ?

Admin
ERROR: S client not available

lemi
16.12.2016
17:48:28
вторая номер тьпла в странице

как узнать в каком файле эта страница

blkmrkt
16.12.2016
17:49:45
Петр
16.12.2016
17:50:03
щас поломаете все базы

blkmrkt
16.12.2016
17:50:07
тут дело в том что я наглядно вижу как заполнение нулями одной страницы делает предыдущую страницу нечитаемой

lemi
16.12.2016
17:50:15
а если таблица это набор файлов ? по Oid файла сортировали ?

blkmrkt
16.12.2016
17:50:44
а если таблица это набор файлов ? по Oid файла сортировали ?
да вот это для меня загадка, я делал под диктовку @PeterEgorov

blkmrkt
16.12.2016
17:51:09
сейчас тереблю основной файл, который не кусковой

Петр
16.12.2016
17:51:21
да точно она опрделена

blkmrkt
16.12.2016
17:52:09
может знаете готовый инструмент, который умеет это автоматически делать?

Google
lemi
16.12.2016
17:52:42
а что вернет select pg_relation_filenode('tablename::regclass) ? одну запись или несколько

Петр
16.12.2016
17:54:40
92803 страница гарантированно в первом файле находится, что тут обсуждать

blkmrkt
16.12.2016
17:55:05
у меня ошибка была на ctid 92815. Обнулил 92815, теперь в (92814,45) появился invalid timestamp

Петр
16.12.2016
17:56:43
просто ты сохрани дампы страниц до и после проблемной страницы, обнули ее и снова сравни соседние страницы

ⰿⰰⰾⱏ
16.12.2016
17:57:31
мимо

прошу прощенья

Петр
16.12.2016
17:58:29
похоже твоя проблема не решается зачисткой проблемной страницы, где-то что-то еще нужно вычистить

lemi
16.12.2016
18:06:03
heh есть спец extension для таких случаев

pageinspect

можно raw data со страниц выковырять

Петр
16.12.2016
18:06:45
неа

он не сможет ничего выковырять с неисправной страницы

по крайней мере у меня не получалось

lemi
16.12.2016
18:08:49
чисто теоритически можно попробовать через dd скопировать отдельно попорченную Page и открыть в Hex Редакторе наверняка какая сигнатура у Заголовка ест

Петр
16.12.2016
18:09:11
так можно

lemi
16.12.2016
18:16:17
а таблица в которой затирают большая?

Петр
16.12.2016
18:17:41
600 млн, 130 гб где-то, на сколько помню

blkmrkt
16.12.2016
18:30:03
а таблица в которой затирают большая?
да, 600млн записей примерно

lemi
16.12.2016
18:30:31
понятно почему так бэкапо сложно :)

Страница 196 из 1062