
Andrey
28.12.2016
17:25:38

KrivdaTheTriewe
28.12.2016
17:25:42

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

Andrey
28.12.2016
17:26:02

Google

KrivdaTheTriewe
28.12.2016
17:26:14

Аггей
28.12.2016
17:26:17

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
Когда нужны транзакции, хранить информацию служебную о пользователях и так далее
Очень сложную аналитику по маленькому датасету

Аггей
28.12.2016
17:27:39

Vladislav
28.12.2016
17:27:39

Andrey
28.12.2016
17:28:05

Аггей
28.12.2016
17:28:35

Vladislav
28.12.2016
17:29:27

Аггей
28.12.2016
17:30:24

Google

Аггей
28.12.2016
17:31:03

Andrey
28.12.2016
17:31:21

Vladislav
28.12.2016
17:31:28

Аггей
28.12.2016
17:32:05
Идентификатор документа, контрольная сумма, дата запроса, источник документа
Классический SQL - не серебрянная пуля. Как впрочем и NoSQL.

Петр
28.12.2016
17:40:01

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

Петр
28.12.2016
17:53:15
он вроде тормознутей ext4 и уменьшать его нельзя

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

Yury
28.12.2016
18:04:12
а inode можно зарание задать
по больше

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

Google

Айтуар
28.12.2016
18:16:32

Yury
28.12.2016
18:17:24

Аггей
28.12.2016
18:17:33

Yury
28.12.2016
18:17:35

Айтуар
28.12.2016
18:18:39

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

Аггей
28.12.2016
18:20:42

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:25:53

Аггей
28.12.2016
18:26:35
Думаю разница будет не очень велика )
Возможно я ошибаюсь. Но асинхронные операции и параллельную запись поддерживает только xfs. Но пруфы в голове не всплывают

Fike
28.12.2016
18:44:51
ох жирно
в общем, когда нужен сильно нестандартный поиск, sql тоже сосет, и выкручиваются эластиком/solr/sphinx, но никак не sql

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

Art
28.12.2016
20:27:20

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

raksita
28.12.2016
20:40:22

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

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

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

Alexey
28.12.2016
20:48:19
А почему пересылка 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
текстовый протокол == сетевой?

Roman
28.12.2016
21:01:20

Darafei
28.12.2016
21:02:55

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

Darafei
28.12.2016
21:04:37