
Alexander
19.11.2016
15:10:00
то есть какой-нибудь там Linked In вполне может такое использовать?
и это будет оправдано?

Fike
19.11.2016
15:11:10
даже я это могу использовать, хоть я и не линкед ин

Google

Pavel
19.11.2016
15:11:54
В реальных проектах не 3 таблицы а обычно 333. Поэтому потребность в денормализации возникает раньше чем на 10 миллионах пользователей

Alexander
19.11.2016
15:12:34
при каком количестве кортежей в этих таблицах такие методы оправданы?

Evgeniy
19.11.2016
15:13:04
у вас какие-то безумные вопросы

Pavel
19.11.2016
15:13:11
Если кортежей больше или равно 1928746
?

Alexander
19.11.2016
15:13:58
Павел ответил раньше, чем я спросил)

Fike
19.11.2016
15:14:31

Alexander
19.11.2016
15:15:22

Fike
19.11.2016
15:16:21
у плохих разрабов да

Pavel
19.11.2016
15:16:23
На самом деле примерно так и есть. В сферическом проекте в вакууме на сферическом сервере если у тебя в табличе около 2 млн. записей и эта таблица интенсивно используется проектом, то возникают неудобства

Alexander
19.11.2016
15:16:27
денормализация это уже от безысходности?)

Pavel
19.11.2016
15:16:45
Цифры +-1.5 млн. в зваисимости от оттюненности сервера и структуры данных

Alexander
19.11.2016
15:17:07

Google

Pavel
19.11.2016
15:17:44
Если у тебя крутой сервер с 256gb RAM быстрой и SSD дисками, то запас довольно хорош.

Fike
19.11.2016
15:18:24
если 192, тогда думай о денормализации, да

Pavel
19.11.2016
15:18:40
Да, именно такие числа.

Павел П.
19.11.2016
15:18:58

Alexander
19.11.2016
15:22:00
можно ли оправдать денормализацию упрощением процесса создания запросов на выборку данных?
то есть ускоряем разработку компонентов, делающих запросы к нашей базе
то есть , к примеру, у нас есть много дешёвых разработчиков, которые не могут делать джоины, они косячат с ними и поэтому...
к примеру, кодят какие-нибудь студенты-индусы)

Pavel
19.11.2016
15:26:33
Ящитаю нет, разработчики которые не умеют правильно использовать джоин, не должны касаться любых проектов.
+ денормализация за собой тянет много проблем с консистентностью, поэтому будет только труднее

Jonh
19.11.2016
15:28:26

.
19.11.2016
15:28:43
а как использовать джоины правильно?

Alexander
19.11.2016
15:31:24
?

Pavel
19.11.2016
15:31:38
Ну это же стандартные задачки типа выберите из таблицы всех авторов, кто написал хотя бы одну книгу

Alexander
19.11.2016
15:33:55
ну, когда там что-нибудь через 5 табличек идёт, там уже что-нибудь такое страшное может получиться)
некоторые боятся)

Pavel
19.11.2016
15:34:45
Тогда при денормализации не хуже ли будет?
в 5 местах обновлять таблички

Alexander
19.11.2016
15:35:46
ну это своего рода кеш) 1 умный программист делает обновления кешей) а 10 программистов-новичков просто юзают этот кеш, не задумываясь, как оно там работает

Pavel
19.11.2016
15:35:49
некоторые боятся)
Возможно стоит посмотреть в сторону mongodb, там ничего не боятся, даже если часть данных потерялась.

Google

Fike
19.11.2016
15:41:57
Только не монга

Alexander
19.11.2016
15:42:06
ок, в общем, нормальная форму в основном используют потому, что так правильнее (стандарт и всё такое) или потому что так меньше проблем (с обновлением данных)
второе же?
[потому что если первое - почему тогда никто не использует составные PK ]

Yuriy
19.11.2016
15:43:24
Ребята, подскажите плиз, в постгрисе есть ли встроенные метрики для узнавания скорости выполнения запросов, по возможности штатными средствами
Прошу прощения, если офтоп, просто ищу направление для розысков

Alexander
19.11.2016
15:44:28
там можно медленные запросы в лог писать

Yuriy
19.11.2016
15:45:05
мне нужно фиксить время запросов (всех)

Evgeniy
19.11.2016
15:45:42
log_min_duration_statement

Alexander
19.11.2016
15:45:47
log_min_duration_statement = 100
и он будет писать в лог все запросы, которые выполняются больше 100мс

Yuriy
19.11.2016
15:46:20
т.е. если 0 - то будет писать в лог все ?

Evgeniy
19.11.2016
15:46:23
да
или включить просто log_duration

Alexander
19.11.2016
15:46:54
поставь 500 и смотри, если пусто - снижай , и так далее

Evgeniy
19.11.2016
15:47:40
ну и репортик потом pgbadger сделай

Yuriy
19.11.2016
15:48:13
Спасибо, коллеги, пошел изучать тему
Да, еще хотел спросить
кто что использует для нагрузочного тестирования базы ?

Google

Yuriy
19.11.2016
15:50:11
т.е. цель - максимально знать пиковую нагрузку сервера

Evgeniy
19.11.2016
15:52:49
ты наверное имеешь ввиду пиковую производительность всё же
с конкретным своим приложением
поэтому берется твоё приложение с базой и эмулируется пользовательская нагрузка на приложение

Pavel
19.11.2016
16:10:48

4ch7ung
19.11.2016
18:09:25
Здравствуйте, недавно услышал предложение по оптимизации базы данных путём избавления от внешних ключей, всех.
На базах данных не специализируюсь, предложение услышал впервые. Есть ли у кого-то комментарии по этому предложению?

Павел П.
19.11.2016
18:10:44
Можно и индексы так-то все удалить - только место занимают.

Admin
ERROR: S client not available

Mike Chuguniy
19.11.2016
18:11:50
Да базы данных вообще не нужны! (с) один системный архитектор.

4ch7ung
19.11.2016
18:15:07
В принципе ожидал таких оценок. Но можно уточнить связанные с таким подходом плюсы и минусы?

Paul
19.11.2016
18:15:55

Павел П.
19.11.2016
18:16:38

4ch7ung
19.11.2016
18:16:45
Скорость обработки запросов к этой базе. Предлагается такая оптимизация для уменьшения издержек на проверку этих ключей

Paul
19.11.2016
18:16:52
вот это единственный вариант, который в голову приходит

Pavel
19.11.2016
18:17:31
а целосность полностью ложится на приложение

4ch7ung
19.11.2016
18:17:34
Кстати, об орм даже речи не шло на том этапе, когда такое предложили

Paul
19.11.2016
18:18:00

Pavel
19.11.2016
18:18:20
знаю несколько инсталяций таких. Живы. Были факапы, но вроде работают даже.

Google

Paul
19.11.2016
18:18:36
типа база - простой склад данных. Такая гигантская куча с универсальным интерфейсом

Alexander
19.11.2016
18:18:50

Paul
19.11.2016
18:19:19
я знаю одного человека, который использует MyISAM для хранения данных. Делает вполне осознанно

4ch7ung
19.11.2016
18:19:25

Alexander
19.11.2016
18:19:48

Paul
19.11.2016
18:19:50
но он интересный дядька. У него был проект, в котором все данные были раскиданы по группе редисов. Других стораджей просто не было. И это работало.

Alexander
19.11.2016
18:20:23

4ch7ung
19.11.2016
18:20:34
В нулёвом пока проекте на этапе архитектуры такие решения предполагать скорее ок или нафиг?

Pavel
19.11.2016
18:20:53
а вы уверены, что вам нужен sql, а не nosql?

Paul
19.11.2016
18:21:00
да и целосность тоже

Alexander
19.11.2016
18:21:13
а сейчас InnoDB же по умолчанию?
я не знаю, давно не использовал MySQL/MariaDB

Pavel
19.11.2016
18:21:42

4ch7ung
19.11.2016
18:21:49

Pavel
19.11.2016
18:21:59
и в innodb до сих пор count делается миллиарды лет

Paul
19.11.2016
18:22:03
а сейчас InnoDB же по умолчанию?
чтоб я помнил. Я всегда базу тюнингую перед запуском. По-моему в перконе - innodb, но file_per_table отключен, и все физические данные лежат в гигантском не-уменьшаемом бинарном файле

Alexey
19.11.2016
18:23:13