@pgsql

Страница 208 из 1062
Andrey
28.12.2016
17:25:38
Это сейчас о чем?
Это юзкейс такой

KrivdaTheTriewe
28.12.2016
17:25:42
Аггей
28.12.2016
17:25:50
И про отказоустойчивость не забудьте

Google
KrivdaTheTriewe
28.12.2016
17:26:14
И про отказоустойчивость не забудьте
С этим у касандры лучше чем у постгри

Аггей
28.12.2016
17:26:17
1С. Все уже сделали до вас.
Очевидный троль )

KrivdaTheTriewe
28.12.2016
17:26:40
Но постгря она для другого

Аггей
28.12.2016
17:27:04
С этим у касандры лучше чем у постгри
Вот поэтому я и говорю - посгря для метаинформации - касандра или еще множество всего - для документов

Andrey
28.12.2016
17:27:16
Очевидный троль )
Милейший, когда дорастете хотя бы до терабайта декомпозированных данных - тогда и будете обзываться.

KrivdaTheTriewe
28.12.2016
17:27:22
Когда нужны транзакции, хранить информацию служебную о пользователях и так далее

Очень сложную аналитику по маленькому датасету

Andrey
28.12.2016
17:28:05
Мальчик мой, я подрос - мне уже можно
JSON в nosql базе - это несколько не тот случай.

Аггей
28.12.2016
17:28:35
Vladislav
28.12.2016
17:29:27
Nosql это все, что не классический sql
Хотите сказать, вертеть большие данные в классическом SQL не возможно?

Аггей
28.12.2016
17:30:24
В данном случае nosql очевидно, ввиду документов
Сейчас это реализовано - postgres - метаинформация - файлы на ФС - с дублированием.

Google
Аггей
28.12.2016
17:31:03
Хотите сказать, вертеть большие данные в классическом SQL не возможно?
Возможно, но иногда есть более подходящие средства. Я привел пример выше.

Vladislav
28.12.2016
17:31:28
Аггей
28.12.2016
17:32:05
Идентификатор документа, контрольная сумма, дата запроса, источник документа

Классический SQL - не серебрянная пуля. Как впрочем и NoSQL.

Петр
28.12.2016
17:40:01
Сейчас это реализовано - postgres - метаинформация - файлы на ФС - с дублированием.
сдается мне, что когда файлов станет поболее, то фс будет тормозить

Аггей
28.12.2016
17:40:08
JSON в nosql базе - это несколько не тот случай.
Немного о том с чем работаю 1 БД Oracle 11G RAC (Exadata) - 5 ТБ данных. 1 БД Oracle 11G RAC - 1,5 ТБ данных. 1 БД Oracle 11G RAC - 1 ТБ данных. Postgres штук 5-6 БД c ~100 - 600 ГБ И много баз поменьше (postgres, oracle, mysql, mssql).

Петр
28.12.2016
17:41:06
есть куда расти)

Аггей
28.12.2016
17:42:21
сдается мне, что когда файлов станет поболее, то фс будет тормозить
Тормозят массовые операции. (xfs btree вызывает большое число syscall), и давно уже понятно что менять пора схему хранения. Но при таких объемах это небыстро и решения надо подбирать тщательно

есть куда расти)
Согласен. Развитие идет постоянно. NoSQL на самом деле открыл для себя сравнительно недавно - причем плотно мало с чем работал. Поддерживаю пару redis, memcached, couchbase. Немного монгу

Аггей
28.12.2016
18:01:15
Когда-то был ext4, но inode кончились

Yury
28.12.2016
18:04:12
Inode в ней бесконечные
это не беслпатно

а inode можно зарание задать

по больше

Аггей
28.12.2016
18:06:49
Рано или поздно и побольше кончится. В целом в тот момент стало понятно - нужно что-то другое

Не файлы на фс

Google
Аггей
28.12.2016
18:17:33
Т.е. на postgres ext4 лучше xfs? Или xfs нужно уметь "готовить"?
Речь о работе с фс на которой много миллионов файлов

Айтуар
28.12.2016
18:18:39
Речь о работе с фс на которой много миллионов файлов
А что postgres может наплодить столько файлов?

для postgres ext4 лучше
А можно узнать чем лучше?

Петр
28.12.2016
18:19:57
мы выбрали ext4, пока все норм (хотя в e2fsprogs часто косяки встречаются)

Аггей
28.12.2016
18:20:42
А можно узнать чем лучше?
Поддерживаю вопрос. Особенно в части асинхронного io

Wom
28.12.2016
18:23:15
Тоже интересно

Петр
28.12.2016
18:25:22
https://blog.pgaddict.com/posts/postgresql-performance-on-ext4-and-xfs

Айтуар
28.12.2016
18:25:24
сколько не встречал статей в Интернете, кто то одно хвалит и графики даже приводит, кто то другое.

Аггей
28.12.2016
18:26:35
Думаю разница будет не очень велика )

Возможно я ошибаюсь. Но асинхронные операции и параллельную запись поддерживает только xfs. Но пруфы в голове не всплывают

Art
28.12.2016
18:48:33
Но никак не монга, в общем-то, тоже.

Google
Art
28.12.2016
18:48:45
rdbms покрывают 99% задач, для остального есть es.

Fike
28.12.2016
18:49:06
а для выборок по различным ключам делают вторичные коллекции с иным primary key - это раздувает датасет и не везде применимо, но ратовать за sql, потому что он умеет во вторичные индексы - это хаха

ну, можно хранить данные в чистом виде в файлах и получить покрытие 95% задач

Alexey
28.12.2016
20:25:01
Возможно я ошибаюсь. Но асинхронные операции и параллельную запись поддерживает только xfs. Но пруфы в голове не всплывают
Подскажите, пожалуйста, что означает "асинхронные операции и параллельная запись"?

Fike
28.12.2016
20:28:00
пиши/читай под локом

задача-то покрыта

Alexey
28.12.2016
20:28:25
А как в postgres реализован large objects?

Evgeniy
28.12.2016
20:35:08
Хуево

Alexey
28.12.2016
20:37:13
Хуево
А можно получить более развёрнутый ответ?

Quet
28.12.2016
20:39:04
А можно получить более развёрнутый ответ?
https://www.postgresql.org/docs/9.6/static/storage-toast.html ?

raksita
28.12.2016
20:40:22
https://www.postgresql.org/docs/9.6/static/storage-toast.html ?
кмк, https://www.postgresql.org/docs/current/static/largeobjects.html

Alexey
28.12.2016
20:40:58
PostgreSQL also supports a storage system called "TOAST", which automatically stores values larger than a single database page into a secondary storage area per table

Quet
28.12.2016
20:41:09
кмк, https://www.postgresql.org/docs/current/static/largeobjects.html
мож быть, не знаю что он имел в виду )

Alexey
28.12.2016
20:41:10
Не факт ,что TOAST используется

Я тоже)

raksita
28.12.2016
20:41:56
насчёт LO могу сказать, что тот ещё гемор

Alexey
28.12.2016
20:42:11
Почему?)

raksita
28.12.2016
20:42:18
если использовать, то сразу брать для них extension

https://www.postgresql.org/docs/current/static/lo.html

Google
Alexey
28.12.2016
20:42:24
мож быть, не знаю что он имел в виду )
Ну наверно всё-таки то, как это внутри устроено. Там просто файловый интерфейс

raksita
28.12.2016
20:42:58
Почему?)
Потому что нет удаления, надо всё сделать руками, чтобы работало

Alexey
28.12.2016
20:43:33
int lo_unlink(PGconn *conn, Oid lobjId);

Quet
28.12.2016
20:43:41
задача-то какая? файлы лучше в постгресе не хранить )

raksita
28.12.2016
20:44:11
int lo_unlink(PGconn *conn, Oid lobjId);
ага, не только лишь все приложения это делают

Alexey
28.12.2016
20:44:35
Ну вы подскажите что-нибудь ещё. А то просто какие-то утверждения. Задачи нет. Я сейчас всегда в постгресе храню, думал, что это нормально.

raksita
28.12.2016
20:45:22
extension стоит?

Alexey
28.12.2016
20:45:24
Там streaming интерфейс, поэтому можно не выгружать весь файл, а отдавать по chank-ам...

raksita
28.12.2016
20:45:29
lo

Alexey
28.12.2016
20:45:57
Нет

Fike
28.12.2016
20:48:05
Ну вы подскажите что-нибудь ещё. А то просто какие-то утверждения. Задачи нет. Я сейчас всегда в постгресе храню, думал, что это нормально.
чисто теоретически: - прочитать файл прямо с диска: чтение Х байт с диска, пересылка Х байт по сети - прочитать файл из БД: чтение Y>=X байт с диска, пересылка Z>=X байт по сети/сокету к приложению, пересылка Х байт по сети, причем все это еще проходит через буфера в юзерлэнде, если нет возможности прогнать через zero copy

Alexey
28.12.2016
20:48:19
Там streaming интерфейс, поэтому можно не выгружать весь файл, а отдавать по chank-ам...
Конечно это не означает, что файл из ФС нельзя кусками отдавать

А почему пересылка Z байт?

Darafei
28.12.2016
20:51:52
потому что uuencode

Fike
28.12.2016
20:54:35
я не знаю сетевого протокола постгре, но, насколько понимаю, возвращенный ответ будет как минимум чуть больше самих данных. скорее всего, там будет незначительная разница, но скзаать, что там тот же Х, я не могу.

Darafei
28.12.2016
20:57:23
в текстовом протоколе оно пойдёт или хексом, или строкой с эскейпингом https://www.postgresql.org/docs/9.6/static/datatype-binary.html

Alexey
28.12.2016
20:59:28
текстовый протокол == сетевой?

Darafei
28.12.2016
21:02:55
текстовый протокол == сетевой?
у постгреса есть текстовый и бинарный output, https://www.postgresql.org/docs/9.6/static/protocol-flow.html

Roman
28.12.2016
21:03:09
а inode можно зарание задать
Можно, но так же легко промахнутся с их числом. А операции с метаданными в xfs быстрее. Плюс, в xfs сейчас более-менее работает aio

Darafei
28.12.2016
21:04:37
текстовый протокол == сетевой?
мало кто имплементирует бинарный output, к сожалению. а кто имплементируют, те потом давятся кастомными типами :)

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