@mysql_ru

Страница 42 из 142
Alexander
14.07.2017
09:24:50
если у тебя такой биллинг, то увы - у меня для тебя плохие новости

называется - говнокод/архитектура/etc.

Fike
14.07.2017
09:25:21
Ой, давайте не будем апеллировать к тому, что у меня. Я просто показываю примеры, где проблемы будут на поверхности

Alexey
14.07.2017
09:25:32
а отправлять запросы на разные сервера в асинхронной репликации — это вообще что? и мастер-мастер тут причём

Google
Alexey
14.07.2017
09:25:47
сейчас нам тут расскажут всё за эти ваши распределённые системы

lost
14.07.2017
09:25:54
https://www.percona.com/blog/2015/01/29/multi-threaded-replication-with-mysql-5-6-use-gtids/

Fike
14.07.2017
09:26:00
Если у тебя мастер-мастер, то, наоборот, какой смысл слать все на один сервер?

lost
14.07.2017
09:26:02
Вот вам проблема с бекапами

Alexey
14.07.2017
09:26:07
про CAP ещё никто не вспомнил. странно даже

lost
14.07.2017
09:26:23
Теоремочки вход пошли

Fike
14.07.2017
09:27:02
Если бы кто-то еще читал, что в CAP подразумевается под C и A

Alexey
14.07.2017
09:27:18
Вот вам проблема с бекапами
а, так это всё давно было и неправда. там же на мой баг ссылаются https://bugs.mysql.com/bug.php?id=74528

а оно в итоге оказалось всё не так плохо. в итоге сошлись на том, что баг в документации скорее, а не в коде

Dmitry
14.07.2017
09:28:00
короче, если у вас работает мультимастер

1) проверьте что все работает

2) вам везет до поры до времени

lost
14.07.2017
09:28:54
Мы делали архитектуру под юзкейс

Google
Dmitry
14.07.2017
09:29:08
ну какбы я верю что можно так

можно на уровне приложения делать мультимастер так то

lost
14.07.2017
09:29:45
Конфликты есть конечно, но они разрешаются

Dmitry
14.07.2017
09:30:01
ну, вы наверное большие молодцы

без сарказма

Alexey
14.07.2017
09:30:26
я вообще не понимаю, как люди рассуждают про эйсид и CAP, не спросив про use case

Fike
14.07.2017
09:30:43
ох уж эти люди

lost
14.07.2017
09:30:48
можно на уровне приложения делать мультимастер так то
Можно долго говорить про сферического коня в вакууме, но ведь не всегда все идеально

Fike
14.07.2017
09:30:59
тут единственный возможный юзкейс - аппенд-онли, который очень странно делать на мускуле

Dmitry
14.07.2017
09:31:03
Alexey
14.07.2017
09:31:10
там кстати более модный баззворд есть, чем CAP. забыл, но CAP уже не в тренде!

Fike
14.07.2017
09:31:19
FLP что ли?

Dmitry
14.07.2017
09:31:23
все офсеты и прочее - костыли

Fike
14.07.2017
09:31:35
BASE?

lost
14.07.2017
09:32:01
Dmitry
14.07.2017
09:32:28
ну просто говорить что ЭТО РАБОТАЕТ и говорить МЫ НАКОСТЫЛИЛИ И ПОТОМУ ЭТО РАБОТАЕТ

есть разница же

хотя это все придирки, собсна

Fike
14.07.2017
09:33:09
ну есть еще забавная штука, проявляющаяся в "мы думаем, что оно работает, потому что пока не видели свидетельств обратного"

Google
lost
14.07.2017
09:35:41
ну когда ты кактусов поднаелся уже знаешь что можно, а что нежелательно)

Alexey
14.07.2017
09:38:03
есть такая забавная шизофрения, поправив очки начинать с умным видом рассуждать про распределённую consistency не спросив, нужна ли она в конкретном приложении. cuz, you know, account, billing and shit. не каждое приложение — это обновление баланса на банковском счёте. и далеко не каждому приложению эта распределённая consistency нужна

Fike
14.07.2017
09:38:38
оп, вот и до шизофрении добрались

Alexey
14.07.2017
09:38:39
этим и зарубежный IT страдает, но особенно сильно заметно у нас. "мы забивали гвозди молотком и отбили себе пальцы. никогда не забивайте гвозди молотком"

Fike
14.07.2017
09:39:18
да нет, впиливать ACID в виде распределенного eventual consistency-инструмента - это нормальная практика, все в порядке

Alexander
14.07.2017
09:40:18
хех, чтобы дышать - рассуждения не требуются. видимо, давно уже на автомате такие вещи учитываю :)

Fike
14.07.2017
09:40:43
В том и дело, что должно быть понимание, что и зачем используется. И что уровни изоляции не транзитируются автоматом в распределенку.

Alexey
14.07.2017
10:13:56
а как R соотносится c distributed consistency?

Dmitry
14.07.2017
10:16:20
да я не только про distributed consistency

Alexey
14.07.2017
10:18:13
я могу придумать много примеров, где нужна R, но не нужна C в распределённом смысле

и мульти-мастер вполне себе имеет смысл

Fike
14.07.2017
10:19:15
в смысле реляции есть, но данных для этих реляций нет?

Все равно нужен будет порядок в создании родитель -> дочерняя запись. А это таки C в распределенном смысле, "после каждой записи последующие чтения видят либо эту запись, либо более новые значения".

Valijon
14.07.2017
15:20:22




Можете помочь разобраться, в чем проблема?

Google
Mikhail
14.07.2017
15:23:57
Не по сабжу, но всё же. Сколько по времени выполняется такой запрос?

Valijon
14.07.2017
15:26:40
Не по сабжу, но всё же. Сколько по времени выполняется такой запрос?
у меня таблица довольно маленькая /* Affected rows: 0 Found rows: 1 Warnings: 0 Duration for 1 query: 0.000 sec. */

lost
14.07.2017
15:54:10
перепиши этот ужас на UNION

Alexey
14.07.2017
15:55:14
прочитай про delimiter и сделай как там делают: https://dev.mysql.com/doc/refman/5.6/en/stored-programs-defining.html

lost
14.07.2017
16:03:22
кстати, DATEDIFF(deadline, now()) внутри COUNT ничего не изменит

да и по-хорошему можно переписать, упаковав всю логику внутрь count() и сделать вместо 10 запросов 1

Pavel
15.07.2017
01:43:45
друзья, вот скажите мне, в чем разница между UNION и FULL OUTER JOIN INTERSECT и INNER JOIN EXCEPT и LEFT JOIN

гугл говорит, что это все принципиально разное, но я вот вижу почему-то одно и то же

Fike
15.07.2017
02:48:20
как union может быть похож на full outer join?

Pavel
15.07.2017
02:50:59
ну, судил больше по паре картинок с описанием этого

так или иначе, у UNION и JOIN довольно много, как по мне, общего

Аггей
15.07.2017
05:44:02
Нет же

Union intersect... Описано объединение записей одного "вида". Итоговая таблица имеет тот же состав полей, что и исходные данные - это как операции над одним отношением. В join - объединение нескольких таблиц...

Pavel
15.07.2017
05:52:54
вроде понял, спасибо

Kallianatia
17.07.2017
06:34:18
https://t.me/folderarchive — канал, где сливают платный полезный образовательный контент и курсы.

Ринат
17.07.2017
11:28:38
SELECT p.name FROM post p WHERE p.forum_number = 36 AND (SELECT count(*) FROM link WHERE post_id = p.post_id AND author_id = p.author_id) > 10 ORDER BY p.updated_at DESC LIMIT 80;

Норм запрос? или как то лучше можно написать

хочу выбрать посты

Google
Ринат
17.07.2017
11:29:12
в которых ссылок от автора больше 10 на пост

Fike
17.07.2017
11:42:05
group by, having

Ринат
17.07.2017
11:42:34
не понял

там в select не только name, там в целом всё выбирается

Fike
17.07.2017
11:43:23
выбрать все ссылки, сджойнить по постам, сгруппировать по постам, отсечь неподходящие

Ринат
17.07.2017
11:53:18
всё понял кроме последнего

а

having ом отсечь > 10

так?

lost
17.07.2017
11:53:45
типа того

Ринат
17.07.2017
11:53:51
но тогда я получу выборку ссылок

а я во фреймворке хочу получить массив обхетов постов

ссылки я потом вытащу уже через связи, тут нужно выборку постов сначало

Страница 42 из 142