@dba_ru

Страница 130 из 718
Fike
10.05.2017
13:32:34
и сохраняй как строку, разделяя их этим разделителем

lost
10.05.2017
13:32:51
индексы и джоины по этой хрене будут страшные

очинь страшные

ёмаё

Google
Fike
10.05.2017
13:33:18
ну так-то 160 байт какого-нибудь хэша будут гораздо короче, да

lost
10.05.2017
13:33:19
че парились

Fike
10.05.2017
13:33:35
ладно бит не байт

lost
10.05.2017
13:33:46
unix_timestamp + id, кастуешь к бигинту какому-нибудь

вот тебе идентификатор

Fike
10.05.2017
13:34:13
лол коллизии сразу же

и числовой ли там идентификатор?

lost
10.05.2017
13:34:51
+ имелся ввиду конкатенация...

время параметр аддитивный, так что коллизий быть не должно

Fike
10.05.2017
13:37:21
1 + 2 = 2 + 1

lost
10.05.2017
13:38:19
конкатенация и сложение это не одно и то же

Fike
10.05.2017
13:38:44
так при чем тут тогда аддитивность

lost
10.05.2017
13:40:06
у тебя дата возрастает постоянно,в конец интовой даты ты дописываешь идентификатор

Google
Fike
10.05.2017
13:41:16
так а в чем тогда разница, если это то же самое

lost
10.05.2017
13:41:35
в том что числовые операции быстрее чем строковые

в том что способы выделение памяти на разные типы данных разные

Fike
10.05.2017
13:42:05
я еще раз напомню, что там никто не говорил, что там идентификатор - это число

lost
10.05.2017
13:42:37
маловероятно, что праймари будет нечисловой

Fike
10.05.2017
13:42:43
лол

uuid-срач вернись и скажи свое слово

lost
10.05.2017
13:43:12
я подозревал

что про него упомянут

Vladislav
10.05.2017
13:48:19
и сохраняй как строку, разделяя их этим разделителем
тоже пришли к этому, но хотелось бы что-то адекватнее

Fike
10.05.2017
14:05:08
ну вы максимум можете перевести это все в байтовое представление, соединить два массива и, скорее всего, получить то же самое

либо так или иначе начать обрезать с возможностью коллизии (которая может быть допустима в вашем случае, черт его знает)

Vladislav
10.05.2017
14:19:32
Нашли у себя функцию HASH в БД ? Идеально зашла

Maksim
10.05.2017
16:51:04
Добрый день, кто нибудь работал с liquibase ? есть проблема небольшая. при выполнении миграций он пытается создать две свои служебные таблицы и не получается, т.к. запросы не воспринимаются базой данной, может можно поменять схему? (типы полей только надо поменять)

Fike
10.05.2017
16:57:39
https://github.com/liquibase/liquibase/blob/9ae7f90a0bbbbcec229a0788afa74831db348ced/liquibase-core/src/main/java/liquibase/sqlgenerator/core/CreateDatabaseChangeLogTableGeneratorSybase.java похоже, только написанием полноценного адаптера под целевую БД

ну или, если повезет - какой-то из адаптеров содержит совместимую команду, и получится мимикрировать под левый движок

Maksim
10.05.2017
17:09:54
ну или, если повезет - какой-то из адаптеров содержит совместимую команду, и получится мимикрировать под левый движок
мне надо под clickhouse его прикрутить. properties создал. драйвер положил - коннектится но выдает exception db т.к. не понимает такой запрос. в кх другой формат создания таблиц. зато вставки происходят нормально. кстати он свои записи миграций update"ит ?

Fike
10.05.2017
17:10:29
не знаю, я просто раскрутил исходник. можно ровно так же найти в соседних файлах.

Maksim
10.05.2017
17:12:21
не знаю, я просто раскрутил исходник. можно ровно так же найти в соседних файлах.
ну правильно я поменяю этот исходник и к mysql он больше не сможет обращаться)) у нас два типа бд и мы хотим и туда и туда миграции выполнять

Google
Fike
10.05.2017
17:13:28
я не предлагаю менять ничего конкретного. я просто говорю, что ответы на такие вопросы лежат вот прям в исходниках. при необходимости, да, можно отнаследоваться, перетереть конкретные файлы или написать адаптер и жить спокойно.

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

Maksim
10.05.2017
17:15:53
да может и не сложно только я на java не пишу.. у меня была идея просто самому ему создать эти таблицы. но он как-то их проверяет и почему думает что она не создана. может схемы сравнивает.. еще в доке нашел какой-то параметр own shema но информации мало, может это не то

Fike
10.05.2017
17:16:51
он скорее всего пытается сделать какой-нибудь select 1 и любую ошибку интерпретирует как отсутствие таблицы

Maksim
10.05.2017
17:22:23
он скорее всего пытается сделать какой-нибудь select 1 и любую ошибку интерпретирует как отсутствие таблицы
вот именно что обычный sql кликхаус норм ест. но вот различие схем баз. тут косяк.. и не могу придумать через какую тулзу централизованно сделать билдированние

Артур Евгеньевич
10.05.2017
18:25:39
всем привет давайте решать задачки)

Найти производителей, которые выпускают более одной модели, при этом все выпускаемые производителем модели являются продуктами одного типа. Вывести: maker, type

там есть ответы но не хочется готовое смотреть решение, может кто натолкнет в правильное русло)

Fike
10.05.2017
18:28:34
какая разница, прочтешь ты овтет там, или мы напишем его здесь?

Артур Евгеньевич
10.05.2017
18:28:58
большая, когда сам с подсказками додумываешь лучше усваивается чем чтение готовых

проблема сейчас с вот этим

при этом все выпускаемые производителем модели являются продуктами одного типа.

Артур Евгеньевич
10.05.2017
18:29:17
select maker, type, count(*) from Product group by maker

Fike
10.05.2017
18:29:29
там все равно все сводится к одним и тем же логическим операциям, которыые ты и так понимаешь либо выведешь без труда (отсеять тех, у кого только один продукт и т.п.)

Артур Евгеньевич
10.05.2017
18:31:57
на эту задачу нет ответа кстати

Fike
10.05.2017
18:32:45
тебе нужно просто вывести всех производителей, у которых больше одного продукта, и у всех продуктов которого только один тип

Артур Евгеньевич
10.05.2017
18:32:58
select maker, type from Product group by maker, type having count(*) > 1;

Fike
10.05.2017
18:33:26
это можно напрямую переносить условие за условием

Артур Евгеньевич
10.05.2017
18:33:45
"и у всех продуктов которого только один тип"

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

Google
Fike
10.05.2017
18:34:07
угу, в голову приходит сделать подзапросом или тем же подзапросом в виде джойна, но, возможно, есть более элегантные решения

Артур Евгеньевич
10.05.2017
19:08:16
вот решение

SELECT maker, MAX(type) FROM Product GROUP BY maker HAVING COUNT(DISTINCT type) = 1 AND COUNT(0) > 1

KOT
11.05.2017
07:44:27
Помогите пожалуйста разобраться с несколькими настройками MySQL, а именно: sync_binlog sync_master_info sync_relay_log и innodb_flush_log_at_trx_commit Читаю доки и немного запутался, что в них происходит.

Они все насколько я понял связаны с тем, как часто движок записывает в файлы информацию

Насколько я помню разбор сути innodb_flush_log_at_trx_commit там речь идёт о записи операций в буффер после камита и сбрасывания данных на диск раз в 1-2 секунды.

Если важно непроебать не один камит, то юзать всегда 1, если можно забить на пару секунд ради скорости, то можно 2

Admin
ERROR: S client not available

KOT
11.05.2017
07:50:40
Но тут вдруг нарисовываются эти 3 синка и везде топят за то, что их надо ставить в позицию 1. Мой кейс: - если потеряю инфу нескольких секунд - наплевать - нужна сохранность реплики без проседания скорости Точно так сильно нужны 1-ки в синках?

Dmitry
11.05.2017
11:23:02
@Kote_deWoland видел тут недавно статью, где посоны писали что нинужна

щас

https://ruhighload.com/post/%D0%9E%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F+%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8+%D0%B2+Mysql?utm_source=mail&sa=3071:be30b951db0f644c18ae8500fb6519f7

тока учти - если оно ебнет, ты сам себе красивый

Fike
11.05.2017
11:27:14
Понаблюдаю-ка за прострелом ноги

lost
11.05.2017
11:32:47
максимум innodb_flush_log_at_trx_commit = 2 на репликах, и то, иногда дороже выходит чем fsync на каждую транзакцию

KOT
11.05.2017
11:42:14
тока учти - если оно ебнет, ты сам себе красивый
Сейчас почитаю, как раз ехать далеко. Но как я уже сказал, потеря чутка данных меня не парят, мне важнее, чтобы реплика не наебнулась.

Dmitry
11.05.2017
11:42:34
потеря чутка данных это одно

и эцсамое

что значит "реплика не наебнулась"?

Dmitry
11.05.2017
12:16:23
что значит "реплика не наебнулась"?
у mysql репликация в один поток последовательно, возникла ошибка при проведении транзакции на слейве - все остановилось и ждет вмешательство - наебнулась

Google
Dmitry
11.05.2017
12:16:47
вмешались (устранили ошибку, засинкали мастер слейв таблицы) - поднялась

KOT
11.05.2017
12:19:41
Поплавал. Написали - выключайте, не пояснив механику и последствия. Это сто пудово инспектор гаи писал, тот который права за бабло выдаёт.

что значит "реплика не наебнулась"?
Когда она перестаёт реплячить

Dmitry
11.05.2017
12:22:05
Так а синки тебе чем мешают?

Она перестает из-за дупликейшн ерор например

Или констрейн например ругнулся

Или ещё какая хня

KOT
11.05.2017
12:52:18
Так а синки тебе чем мешают?
Скорость проседает, нет? Особенно если учесть, что на амазоне диски лежат отдельно.

Fike
11.05.2017
12:52:53
я бы сначала убедился, чт опроседает

lost
11.05.2017
12:57:50
а io посмотреть на диск там есть возможность?

плюс какой тип репликации используется

в 5.7 по дефолту row выставлен, может сразу удастся определить на каком именно этапе тормозит всё это дело

Dmitry
11.05.2017
13:20:41
Скорость проседает, нет? Особенно если учесть, что на амазоне диски лежат отдельно.
ты определись - тебе скорость нужна, или чтобы репликация не падала

и вообще, может стоит тогда подумать - зачем тебе амазон?

возьми дедиков или виртуалок где-то на быстрых ссд и фигачь

Maksim
11.05.2017
16:27:43
скажите плиз можно ли создать юзера mysql только с правами сделать mysqldump и делать select ?

Dmitry
11.05.2017
16:57:02
Да

Grant select ...

Страница 130 из 718