
Kirill
05.05.2016
11:59:27
так можно затестить только как сторонний FDW ходит из постгреса в mysql
)

Pavel
05.05.2016
11:59:56
Всмысле?

Kirill
05.05.2016
12:00:53
в смысле что это не будет походже на реальную работу на постгресе

Google

Pavel
05.05.2016
12:01:49
Я вижу это себе так: поднимаем постгре на отдельном сервере, с помощью fdw подключаем его к продовской базе. Далее на отдельном сервере выкатываем ветку с приложением которое настроено на постгре, и перенаправляем на этот апстрим 1-10% запросов.

Alex
05.05.2016
12:01:55
@schors есть же скрипты для перегонки из одной субд в другую, зачем себя так терзать ?

Kirill
05.05.2016
12:02:30
http://pgloader.io/ для этого очень хорош

Pavel
05.05.2016
12:02:32

Phil
05.05.2016
12:02:37

Alex
05.05.2016
12:02:45
@chebotarevp и утыкаемся в сеть до мускуля. и медленность самого враппера

Kirill
05.05.2016
12:05:40

Pavel
05.05.2016
12:06:47
okay.jpg

Alex
05.05.2016
12:07:38
https://wiki.postgresql.org/wiki/Converting_from_other_Databases_to_PostgreSQL

Paul
05.05.2016
12:07:52

Dan
05.05.2016
12:09:52
неистово плюсую

Alex
05.05.2016
12:11:37
@not_logan чем перегонять базу думаете ?

Paul
05.05.2016
12:12:32
изучаем варианты как раз. скрипты конвертации дампа не вариант - дамп полностью калечится. PGLoader предварительно показал очень плохую производительность

Google

Alex
05.05.2016
12:13:25
https://github.com/mihailShumilov/mysql2postgresql
я бы вот это советовал

Paul
05.05.2016
12:14:48
неработоспособно. Во-первых одноядерный (и зависает). Во-вторых он нам дамп сломал

Alex
05.05.2016
12:15:00
О_О

Paul
05.05.2016
12:15:36
у нас база во-первых сложная, во-вторых - большая

Alex
05.05.2016
12:15:41
у вас видимо какая-то специфичное использование мускуля.
это не большая бд...
мы перегоняли и большие базы
Так что странно что ломается.

Denis
05.05.2016
13:16:35
xx: интересно, а это полное задротство - подключать сейвы игры к системе контроля версий?

Александр
05.05.2016
13:17:14
И снапсшоты

Kirill
05.05.2016
13:20:02

Paul
05.05.2016
13:25:03

Pavel
05.05.2016
14:10:05

Pavel
05.05.2016
14:14:11
А зачем сейвы хранить в скв если можно и так сделать несколько разных сейвов в меню?

Dmitry
05.05.2016
14:15:10
сделай так в bloodborne, плиз)

Alexey
05.05.2016
14:15:32

Pavel
05.05.2016
14:17:13
Вот у меня вчера появилась аналогичная идея - свое CV закачать на гитхаб в маркдауне. Коллеги могут делать пулл-реквесты со скиллами.

Alex
05.05.2016
14:17:17
а еще можно маркет сейвов с разными ачивками =)

Google

Александр
05.05.2016
14:18:31
все придумано до нас

Alexey
05.05.2016
14:19:17
Была какая-то либа на питоне вроде бы, которая умела из markdown резюме выдавать pdf, html, etc. И в интернет это показывать.

pl
05.05.2016
14:21:12
resume.github.com

Eugene
05.05.2016
14:22:33
боян же

Pavel
05.05.2016
14:23:19
А я не знал, неплохо

Eugene
05.05.2016
14:28:19
что-то он скрытые данные не юзает https://resume.github.io/?MechanisM ну вроде и хорошо

Kirill
05.05.2016
15:12:25
раз уж тут все знают что такое системы контроля версий и гитхаб, кто-нибудь пишет модульные тесты для хранимок, есть CI, что используете, что нравится, что не нравится ?

Pavel
05.05.2016
15:23:51
Не пишем хранимки любой ценой, используем jenkins

Paul
05.05.2016
15:24:05

Pavel
05.05.2016
15:24:25
Который по пушу в гитхаб начинает перемывать код разными анализаторами и тестировщиками

Dmitry
05.05.2016
15:24:39
поддерживаю - не пишем хранимки и еще не используем триггеры)

Alex
05.05.2016
15:26:18
Что же делать тем кто активно их использует ? :)

Paul
05.05.2016
15:27:28
боюсь другого ответа вы тут не получите

Kirill
05.05.2016
15:27:42

Alex
05.05.2016
15:27:51
Зачем страдать ? некоторые тестят через автотесты Cucember

D
05.05.2016
15:27:52
Очевидно что хранимки и триггеры немогут использвать те кто использует готовые ORM, просто потому что им это не удобно

Pavel
05.05.2016
15:27:53
И что нельзя от них избавиться? Обычно это экономия на спичках. Типа запилили код который работает в виде хранимки поближе к базе, побыстрее на 3% получилось. Но зато ни отлаживать ни поддерживать все это сил нет никаких.

Dmitry
05.05.2016
15:28:00
ну в принципе это код. Сценарий простой - выкачиваем исходники, накатываем миграции - далее запускаем сценарий тестов.
1. Запрлняем БД
2. Тест
3. Чистим БД

Paul
05.05.2016
15:28:24

Google

Paul
05.05.2016
15:28:46
можно вообще кластер под тесты создавать и по результатам - убивать его обратно

Dmitry
05.05.2016
15:29:03
кукумбер-то тут зачем?) я понимаю для e2e тестов - а вот в БД

Alex
05.05.2016
15:29:04
@chebotarevp я сторонник использования хранимок и некотрого Data Layer "API" в частности

Paul
05.05.2016
15:30:00

Alex
05.05.2016
15:30:19
@dbalakov а в чем проблема то ? взял функцию фходные данные выходные получил какой то результат

Kirill
05.05.2016
15:30:36
ну, есть plpgunit и pgtap, делаю свой "велосипед" для CI вот и интересуюсь )

Dmitry
05.05.2016
15:30:41
проблем нет - просто он не нужен, имхо

Kirill
05.05.2016
15:31:20

Alex
05.05.2016
15:31:31
Да никто на двух стульях не пытается усидеть. Есть логика которую лучше отрабатывать на стороне субд, меньше издержки.
Есть просто вещи которые быстро запилить не получится на стороне приложения, либо породит сотни тысяч запросов.

Paul
05.05.2016
15:33:04

Dmitry
05.05.2016
15:33:36
вот тут полностью согласен - только луше без хранимок - PG умный - можно всегда собрать хитрый запрос и DAO должен в этом помогать
Да никто на двух стульях не пытается усидеть. Есть логика которую лучше отрабатывать на стороне субд, меньше издержки.

Pavel
05.05.2016
15:34:20

Alex
05.05.2016
15:34:32
не всегда это можно, есть CTE конечно, но когда это вываливается в 200-400 строк ... то не проще ли обернуть в SQL функцию ?

Dmitry
05.05.2016
15:35:04
не проще - у меня эти строчки генеряться в рантайме зачастую

Alex
05.05.2016
15:35:31
это пока вы в их производительность не уперлись, а потом будете выводить...

Pavel
05.05.2016
15:35:41

Alex
05.05.2016
15:36:04
тогда уж DBDшник

Kirill
05.05.2016
15:36:43

Google

Dmitry
05.05.2016
15:36:50
“это пока вы в их производительность не уперлись, а потом будете выводить...” - производительность чего?

Alex
05.05.2016
15:37:03
выполнения запроса...

Kirill
05.05.2016
15:37:11
парсера/оптимизатора

Pavel
05.05.2016
15:37:47
Все языки +- одинаковые и тьюринг-полные, но это же не делает разработку проще. И на PLpgSQL можно такого наворотить что ничего не понятно будет. Уж лучше на питоне писать встроенные хранимки.

Alex
05.05.2016
15:38:09
plpython это не хранимки ?

Vladimir
05.05.2016
15:38:16
А почему тригеры не писать?

Kirill
05.05.2016
15:38:27

Alex
05.05.2016
15:38:31
вопрос не к тому что можно натворить, а к тому насколько ты близко находишься к бд
и иногда изнутри сделать многие вещи сделать дешевле по времени.

Dmitry
05.05.2016
15:39:28
А почему тригеры не писать?
неочевидное поведение БД - где-то у тебя создание сущности (например) на хранимке, где-то в коде, где-то в триггере
сложно отлавливать из-за чего тормозит и прочее

Alex
05.05.2016
15:39:29
У меня были кейсы когда из 1-2 минут выполнения запросов пачками, это оптимизировалось до 20-100ms на стороне базы.

Dmitry
05.05.2016
15:40:04
ну у меня был кейс когда оптимизация дала 2 порядка
больше чем в 100 раз

Kirill
05.05.2016
15:40:35

Dmitry
05.05.2016
15:41:01
я уже понял, что в этом чате можно было не уточнять)

Pavel
05.05.2016
15:41:42

Alex
05.05.2016
15:42:13
Извините, это потребует включения в тематику, а тут вступит в силу NDA
но возьмите массовые операции наподобие ленты в вк
как пример

Dmitry
05.05.2016
15:43:08
ии какая там хранимка?)