@clickhouse_ru

Страница 27 из 723
Anatoly
05.12.2016
07:45:17
потому что я его потом буду читать

Vladislav
05.12.2016
07:45:21
Это вообще из серии разработки софта, а не работы с БД

Dmitry
05.12.2016
07:45:21
отлично

Anatoly
05.12.2016
07:45:53
Это вообще из серии разработки софта, а не работы с БД
тут соглашусь. если от пользователя БД спрятана за ГУИ и он никогда не пишет запросы, можно хоть msgpack сделать языком запросов

Google
Dmitry
05.12.2016
07:46:08
я про это и говорю

в отдельных случаях

когда запрос генерится по каким-то внешним фильтрам

SQL просто банально неудобен

Anatoly
05.12.2016
07:46:40
удобен.

Igor
05.12.2016
07:46:51
неудобен - возможно, но он уже слишком популярен везде

Dmitry
05.12.2016
07:46:53
Ежику и кактус вкусен

о чем спорить

Anatoly
05.12.2016
07:47:00
я про это и говорю
только разработчики потом будут вынуждены научиться читать мсгпак и всё.

Dmitry
05.12.2016
07:47:12
разработчики чего?

монга, кстати, не заставляет BSON читать

Name
05.12.2016
07:47:39
Вопрос изначально был отм что нужен SQL . тк работать будут люди. они набирают пальцами SQL который знают. JSON это способ описания объекта а не запроса

Dmitry
05.12.2016
07:47:50
эээ

Google
Dmitry
05.12.2016
07:47:56
SQL конвертируется в AST

так или иначе

Anatoly
05.12.2016
07:48:10
разработчики чего?
того, кто будет прятать от юзера язык запросов. вообще, мне непонятно, почему вы считаете, что надо прятать SQL от аналитиков

Dmitry
05.12.2016
07:48:12
по нему строится план

Anatoly
05.12.2016
07:48:14
они обычно его знают

Dmitry
05.12.2016
07:48:23
JSON точно так же конвертируется в AST

и по нему строится план

только JSON сам по себе уже дерево

Anatoly
05.12.2016
07:49:12
только JSON сам по себе уже дерево
ещё раз. был бы yml - было бы дерево

а так - скобочки в кавычках

Dmitry
05.12.2016
07:49:26
yml - надмножество json

какая разница?

Anatoly
05.12.2016
07:49:35
только более читабельное. я в курсе.

кавычек и скобок с запятыми нет.

Dmitry
05.12.2016
07:49:48
я не про json говорю

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

чем из дерева генератором делать SQL

Anatoly
05.12.2016
07:50:46
юзер делает запрос руками в текстбоксе иногда

Dmitry
05.12.2016
07:51:07
мы начали про графит

Anatoly
05.12.2016
07:51:15
а про то, когда ты точно знаешь, что тебе нужно, удобнее скормить в запросе само дерево
однофигственно, кмк. ладно, чат не про это - интересно продолжить, го в личку

Google
Andrew
05.12.2016
07:51:16
только более читабельное. я в курсе.
читабельность - штука относительная. непечатный синтаксис далеко не всегда способствует читабельности

Dmitry
05.12.2016
07:51:18
юзер в графане мышкой мышит

ага

вы еще про оракловых гуру расскажите, которые по SQL план запроса по запаху определяют

Anatoly
05.12.2016
07:51:48
юзер в графане мышкой мышит
я там запросы ручками писал. я днище, видимо :)

Slach
05.12.2016
07:51:52
кстати для grafana никто clickhouse адаптера еще не сделал?

Igor
05.12.2016
07:52:25
https://grafana.net/dashboards/869 https://grafana.net/dashboards/882 не то?

Dmitry
05.12.2016
07:52:28
на самом деле одно другому не мешает

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

Vladimir
05.12.2016
07:53:11
https://grafana.net/dashboards/869 https://grafana.net/dashboards/882 не то?
Адаптер это штука позволяющая брать кликхаус как датасорс

Igor
05.12.2016
07:53:14
сорри )

Dmitry
05.12.2016
07:53:37
да, если бы был такой - выкинули бы influx нафиг

Vladimir
05.12.2016
07:54:06
юзер в графане мышкой мышит
Ну оно четко все преобразуется в select ... Where Path in ... And Time > ...

Dmitry
05.12.2016
07:54:37
ну или {"path": {"$in": [....]} .....

Vladimir
05.12.2016
07:54:38
Я не думаю что если бы тут был json то было бы сильно лучше

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

Даже работает

Dmitry
05.12.2016
07:55:36
а нужны ли они?

из инфлюкса графана забирает напрямую

Vladimir
05.12.2016
07:55:52
а нужны ли они?
Легаси нельзя раз и заменить

Google
Dmitry
05.12.2016
07:56:02
если графит есть, то да

я даже вот про что

у influx'а достаточно удобно работать с тегами

в плане того, что пишется -- тип метрики и соответсвующие ей теги

CH колоночный

в нем можно было попробовать теги положить в виде колонок

скажем загрузку интерфейсов пишем как Interface | Load | In, object=<железка>, interface=<порт>

Vladimir
05.12.2016
07:57:39
в нем можно было попробовать теги положить в виде колонок
Можно, я думаю маленький конвертер сделать попробовать даже под наши задачи

Dmitry
05.12.2016
07:58:03
в таблице метрик сделать при этом колонки object и interface

тогда ряд ненужных костылей вроде interface.load.in.<object>.* уйдет

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

Vladimir
05.12.2016
07:59:02
в таблице метрик сделать при этом колонки object и interface
Я больше думаю про отдельную таблицу с текущими тэгами, без истории

Slach
05.12.2016
07:59:15
https://github.com/lomik/carbon-clickhouse вот тут можно было бы как то парсить метрики в нормальные колонки =)

Dmitry
05.12.2016
07:59:21
у influx эта таблица - самое слабое место

к ней постоянно lookup'ы идут

она в памяти должна быть

и пока не прососется - он просто писать не может

по сетевой части тегов относительно немного

несколько десятков от силы

Roman
05.12.2016
08:02:05
> @BloodJazMan https://github.com/lomik/carbon-clickhouse вот тут можно было бы как то парсить метрики в нормальные колонки =) Есть такое желание. Только пока непонятно как это вписать в протокол графита и поддержать во всей цепочке доставки (carbon-c-relay etc)

Google
Slach
05.12.2016
08:05:29
О! Роман! и вы тут

Огромное вам спасибо за go-carbon

вы мне прямо сильно жизнь облегчили в свое время

=) Ну собственно я могу issue на github открыть мне видится это дело как набор параметризованных regexp которые просто экстрактят значение атрибута из названия метрики и все

т..е. эти данные только в конфиге carbon-clickhouse оставиться и все можно будет пробрасывать стандартным образом

Slach
05.12.2016
08:16:55
ну тогда не regexp, а wildcards что нибудь типа такого [attributes:diamond-cpu] data-attibuted-table = graphite_attiributed_diamond_cpu attibute-wildcards= "servers.{host}.cpu.{cpu_name}.{metric_name}"

Vladislav
05.12.2016
08:17:01
Вот все те, кто говорит, что SQL не удобен, вы кроме как с колокльни разработки кастылей и велосипедов в своем софте вообще расматриваете использование БД?

Dmitry
05.12.2016
08:18:32
нет, не рассматриваем

для нас СУБД - элемент решения

в идеале - невидимый юзеру

Fike
05.12.2016
08:19:11
ребят, может хватит про SQL?

Slach
05.12.2016
08:19:18
вот да

Dmitry
05.12.2016
08:19:31
вернемся к моему вопросу

Slach
05.12.2016
08:19:33
в этом чатике давайте про кликхаус и все что с ним связано

Dmitry
05.12.2016
08:19:42
возможно ли отделить storage отдельно?

по примеру WT, Inno и Rocks?

Slach
05.12.2016
08:22:34
https://github.com/yandex/ClickHouse/tree/master/dbms/src/Storages где то тут посмотрите

Vladimir
05.12.2016
08:24:31
ну тогда не regexp, а wildcards что нибудь типа такого [attributes:diamond-cpu] data-attibuted-table = graphite_attiributed_diamond_cpu attibute-wildcards= "servers.{host}.cpu.{cpu_name}.{metric_name}"
да все равно довольно дорого, т.к. проверку "парсился ли" нужно делать на каждую метрику )

и немного вообще странно, т.к. проще делать колонку host, колонку cpu_name и забить на совместимость с графитом

Dmitry
05.12.2016
08:25:11
да, спасибо

Страница 27 из 723