
Alexander
19.06.2017
12:11:29
или руками стартануть mysqld

Bocharnikov
19.06.2017
12:11:55
вот руками я и стратую
ну погоди
щя

Google

Alexey
19.06.2017
12:17:43
для этого существует build number
есть релиз, у которого есть статус (alpha, beta, release candidate, general availability), есть уникальный номер, по номеру можно получить раздел в документации со списком изменений. ты на каждый билд намбер и git hash собрался раздел в документации писать?

Fike
19.06.2017
12:24:52
ох
есть список фич к релизу
они имплементятся, выкатываются, в другой ветке готовится следующий
после этого идут только баг фиксы к этим фичам
после того, как на кандидат нет жалоб, он просто промоутится до релиза
предложение выкатывать сырое из-за проблем с поддержкой выглядит отлично до того момента, пока пользователи, по умолчанию считающие все просто версии стабильными по умолчанию, не начнут это ставить
и вот тогда в поддержке действительно будет ад

Alexey
19.06.2017
12:30:47
а серьёзно, сколько тебе лет и кем ты работаешь? вот если так, честно. судя по юношескому задору, не больше 25-ти, а судя по экспертным познаниям во всех областях — админ Вася в "Пупкин Телеком". ты бы сказал, я бы просто перестал время тратить

Fike
19.06.2017
12:31:07
ахаха
давайте все сведем к возрасту
26

Ринат
19.06.2017
12:31:24
старый(

Google

Ринат
19.06.2017
12:31:26
как и все мы

Fike
19.06.2017
12:32:29
И вообще я разраб. Жаба, жвм, стримы.

Alexey
19.06.2017
12:32:40
я понял. спасибо

Ivan
20.06.2017
09:44:18
Привет! Сорри, что не совсем в тему канала :)
14-го июля в Питере проводим конференцию по мониторингу. Приглашаем всех желающих :)
Если есть желание выступить с докладом - будем рады видеть, места еще есть! :)
Регистрация тут: https://rossinno.timepad.ru/event/510831/ или тут: https://www.meetup.com/Big-Monitoring-Meetup/events/240837973/
Вопросы по участию или выступлению - через личные сообщения :)


Danil
21.06.2017
12:02:10
Всем привет! Есть БД пополняемая новыми записями каждые пол часа. Есть софт, который делает выборку из базы каждые 5-10 минут для сбора и отображения статистики за последние сутки от текущего времени с разбивкой по часам. Можно ли сделать представление (view) с привязкой к текущему времени?
Смысл в том, чтобы перенести вычисления и формирование статистики на сервер БД т. к. софт генерит кучу запросов каждый раз и подыисает, пока БД отдаст все данные
можно ли в запросе использовать переменную с текущим временем сервера для формирования представления?

r
21.06.2017
12:19:35
Не совсем понятно, дай запрос, который во вью будет и покажи где нужно использовать время сервера

Danil
21.06.2017
12:24:41
короче, попробую объяснить ещё раз. сразу говорю я не профи в БД. есть база в которую в несколько таблиц подгружаются данные скриптами каждые полчаса. ест софтина которая тянет выборки данных за последние сутки с разбивкой по часу. обновляются эти данные каждые 5 минут. т. е. каждые 5 минут имеем кучу запросов: по 24 на каждый элемент статистики, и таких элементов порядка 200.

r
21.06.2017
12:26:11
Т.е. есть желание использовать вью для агрегации данных и тащить оттуда?

Danil
21.06.2017
12:26:12
Я нашел что в мускуле есть представления - типа временных таблиц. Хочется на стороне сервера создать такие представления чтобы забирать всю статистику несколькими запросами. Только загвоздка в привязке к текущему моменту

r
21.06.2017
12:26:59
Т.е. я так понимаю, что нужно приходить во вью и получать из неё данные ,допустим за последний час. Правильно?

Danil
21.06.2017
12:27:39
да есть, и есть еще таймстемп для каждой записи, но важнее привязка к именно дэйттайм
пока нашел только, что вью обновляется по факту запроса и не ясно как привязатся к текущему времени

r
21.06.2017
12:29:25

Danil
21.06.2017
12:29:39
в самом софте весьма замороченная математика с датой и временем для этого
сейчас к сожалению не могу скинуть т. к. с телефона.

Google

r
21.06.2017
12:31:09
Самый простой способ получать данные за последние 24 часа примерно такой:
SELECT * FROM table_view WHERE create_time BETWEEN NOW() AND NOW()-INTERVAL 24 HOUR;

Danil
21.06.2017
12:31:35
а могут помочь события или планировщик формировать таблицы за каждый час и потом сделать их объединение во вью?

r
21.06.2017
12:33:56
`insert_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
а нужно по часаМ?

Danil
21.06.2017
12:35:24
есть такое и у меня, но проблема в том, что данные собираются постфактум из внешних источников и имеют в своем составе поле дэйттайм когда реально был результат. и привязываться надо именно к нему.

r
21.06.2017
12:35:56
ща проверю, но думаю все должно быть нормально

Danil
21.06.2017
12:36:08
т. е. есть поля типа: id, name, type, result1, result1, starttime, endtime, timestamp
нужно группировать по name и учитывать как starttime так и endtime

r
21.06.2017
12:36:51

Danil
21.06.2017
12:38:20
для результата либа sum либо count либо max

r
21.06.2017
12:38:47
тогда попробую помочь
на первый взгляд трудностей не должно быть
по крайней мере по условие - за последние 24 часа

Danil
21.06.2017
12:49:01
например есть набор записей с одинаковым полем name, starttime и endtime произвольные. нужно выбирать сумму или количество по полю result за каждый час с (х):00:00 по (х+1):00:00 за период сейчас-24 час до сейчас
геморой именно в отсечке по часу и привязке к 0 минут 0 секунд.

Google

Danil
21.06.2017
12:50:31
в поинципе можно привязываться именно к starttime
результат нужен в виде таблицы: период(час) /результат за период

r
21.06.2017
12:53:35
понял

Danil
21.06.2017
12:56:20
читаю про функции времени мускула - есть функция HOUR вроде она должна возвращать количество часов и есть EXTRACT которая выдает из дэйттайм год/месяц/день/час/минуту/секунду

r
21.06.2017
12:56:39
Примерно вот так мы вибираем записи за неделю
-- Понедельник прошлой недели
SET @_from_date = STR_TO_DATE(DATE_FORMAT(CURDATE() - INTERVAL 1 WEEK - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY, '%Y-%m-%d 00:00:00'), '%Y-%m-%d %H:%i:%s');
# по
-- Воскресенье прошлой недели
SET @_to_date = STR_TO_DATE(DATE_FORMAT(CURDATE() - INTERVAL 1 WEEK - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY + INTERVAL 6 DAY, '%Y-%m-%d 23:59:59'), '%Y-%m-%d %H:%i:%s');

Danil
21.06.2017
12:56:49
только я вот думаю, а не загнется ли сервер от таких запросов?

r
21.06.2017
12:56:52
лучше глядеть на это в одну строку
)
соответственно условие имеет вид:
WHERE datetime BETWEEN @_from_date AND @_to_date

Danil
21.06.2017
12:59:03
а как можно сравнить нагрузку на сервер между кучей простых запросов и таким замороченным вью? может оно того и не стоит?

r
21.06.2017
13:00:44
смотрите показатели LA
утилизацию процессора, озу
чтение с дисков
собственно все

Danil
21.06.2017
13:01:18
или смотреть в тор на машине?

r
21.06.2017
13:01:46
linux?

Danil
21.06.2017
13:02:03
да ubuntu server lts

r
21.06.2017
13:02:07
htop

Google

r
21.06.2017
13:02:14
будет понятнее

Danil
21.06.2017
13:02:32
ок
а можно собрать вью из других вью?
и как они будут тогда обновляться?

r
21.06.2017
13:03:03
iostat -xt 1
для диска
iostat - Report Central Processing Unit (CPU) statistics and input/output statistics for devices, partitions and network filesystems (NFS).
вью не хранит данные
при обращении ко вью (только SELECT)
выполняются те запросы, которые вы туда накидаете

Danil
21.06.2017
13:05:10
это я вроде понял. я имел в виду сделать кучу вью на каждый час суток от сейчас и собрать их в сводный суточный вью чтобы забирать все одним запросом
вложенность вью допускается?

lost
21.06.2017
13:06:14
а что мешает вместо вью сделать хранимую процедуру и привязаться ко времени?

Danil
21.06.2017
13:07:28

lost
21.06.2017
13:07:48
это не сложнее представления, нисколечка

Danil
21.06.2017
13:08:33
можете хоть простой пример дать для понимания?
я так понял что хранимые процедуры это удобные обертки для sql запросов

lost
21.06.2017
13:11:24
можно и во вьюхе сделать привязку к последним 24 часам, но тогда придется тянуть лишние данные

Danil
21.06.2017
13:11:53
ну можно ещё собрать в процедуру несколько запросов как я понял

lost
21.06.2017
13:13:12
можно