@clickhouse_ru

Страница 78 из 723
Alex
28.02.2017
22:52:48
по дефолту там 9009

Алексей
28.02.2017
22:53:16
Спасибо?

Magistr
01.03.2017
05:38:27
Ну можно живой пример чтоб они этим хвастались?)
у меня были проекты на аэроспайке, вполне хорошее решение если внимательно читать доки ) многие проблемы фиксят так что обновляться стоит часто.

Константин
01.03.2017
06:02:13
Я уже выше спрашивал - расскажите - как кладёте в КХ стату? на митапе даже вопрос озвучили)
Способ немного топорный, приходит запрос в php - там его раскладываем и кладем в list в redis, раз в 5 минут сливаем в КХ. Получаются пачки по 50-200к

Google
Константин
01.03.2017
06:12:31
Вопрос к разработчикам: В конфиге прописал interserver_http_host

SELECT hostName() ┌─hostName()─┐ │ CH-2-1 │ └────────────┘

хотя, как говорит комент к параметру конфига, то, он как раз таки и влияет на вывод функции hostName()

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

Dmitriy
01.03.2017
07:08:26
Доброе утро. Подскажите как лучше перелить данные из одного кластера в другой? Я думал из консоли через трубу две каманды select и insert Используя clickhouse-client

Константин
01.03.2017
07:09:20
как раз этим и занимаюсь, только не с кластера в кластер, а с сингл инстанса в кластер

я прописал конфиг кластера на сингле

на сингле создал дистрибьютед таблицу

и через insert select переливаю данные из локальной таблицы в distributed

Dmitriy
01.03.2017
07:15:49
спасбо.

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

Vitaliy
01.03.2017
08:42:15
Привет! как эфективно хранить ipv6 адреса, если трафика от них почти нет?

Google
Valeriy
01.03.2017
08:57:31
FixedString(16) чем плохо? Пропуски должны хорошо пожаться, я думаю.

Vitaliy
01.03.2017
09:04:38
не знаю, может чем-то он плох...

Andrey
01.03.2017
09:06:29
FixedString(16) чем плохо? Пропуски должны хорошо пожаться, я думаю.
я не спец по CH - но даже в PostgreSQL хранить IP как строки плохая практика, если есть специальный бинарный формат а в CH я прямо уверен он есть

Valeriy
01.03.2017
09:08:05
Хранить, конечно, надо в таких строках в бинарном виде, есть для этого специальные функции: https://clickhouse.yandex/reference_en.html#IPv6NumToString(x)

Vitaliy
01.03.2017
09:09:26
а может под это дело сделать бинартый тип данных? а не хранить это все в строке

Боб
01.03.2017
09:15:05
Если для таблицы зада индекс EventDate, Timestamp, Country то запрос select * from table WHERE EventDate=toDate('2017-01-01') AND Country=RU будет использовать учитывать что данные уже упорядочены как надо? Или надо обязательно все поля индекса перечислять, даже если там любое значение подходит, например: WHERE EventDate()=toDate('2017-01-01') AND TimeStamp BETWEEN toDateTime('2017-01-01 00:00:00') AND toDateTime('2017-01-01 23:59:59') AND Country = 'RU'

Timestamp - это то же что EventDate, только с точностью до секунд, т.е. упорядоченность хронологическая.

Pavel
01.03.2017
09:53:30
А есть ли планы обновить юзера с metrika на clickhouse для Docker образов?

https://hub.docker.com/r/yandex/clickhouse-server/~/dockerfile/ <-- а-то вот тут до сих пор USER metrika

Dmitriy
01.03.2017
10:28:40
Если те же данные в том же порядке, то сработает. Для последних 100 кусков.
подскажите а об этом в документации говорится что бы почитать поподробнее?

Alex
01.03.2017
10:30:27
подскажите а об этом в документации говорится что бы почитать поподробнее?
https://clickhouse.yandex/reference_ru.html#%D0%A0%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85

Блоки данных дедуплицируются. При многократной записи одного и того же блока данных (блоков данных одинакового размера, содержащих одни и те же строчки в одном и том же порядке), блок будет записан только один раз. Это сделано для того, чтобы в случае сбоя в сети, когда клиентское приложение не может понять, были ли данные записаны в БД, можно было просто повторить запрос INSERT. При этом не имеет значения, на какую реплику будут отправлены INSERT-ы с одинаковыми данными. То есть, обеспечивается идемпотентность INSERT-ов. Это работает только для последних 100 вставленных в таблицу блоков.

Dmitriy
01.03.2017
10:32:51
я прошу прощения, а что понимать под блоком?

в доке, вроде написано что это такое. спасибо

Alex
01.03.2017
10:41:29
хотя, как говорит комент к параметру конфига, то, он как раз таки и влияет на вывод функции hostName()
Этот параметр не влияет на вывод функции hostName() в кликхаусе. И наоборот, вывод этой функции не влияет на репликацию. В комменте там говорится, что если interserver_http_host не указать, то его дефолтное значение будет как вывод шелловской команды hostname -f

mAX
01.03.2017
10:51:14
Товарищи, задача по типу фильтрации товаров на Яндекс Маркете.. Есть база около 1 млн товаров электротехнической продукции, там у каждого товара несколько десятков параметров. Как и на маркете это да/нет, диапазоны значений (вес, длина, допустимые токи и т.д.), перечисления по типу разрешения экранов мониторов.. Хотелось бы имеет возможность добавить все эти свойств в колонки и как можно быстрее делать фильтрацию этих товаров по свойствам.. Вобщем как на маркете. Изменять данные не нужно.. Добавляются один раз. Насколько я понимаю CH должен хорошо подходить под эту задачу? Волнует тот факт что нету null и не очень понятно как задать отсутствие определённого свойства у объекта. Прошу подтвердить или опровергнуть мои мысли)

Колонок вот только может получится несколько сотен возможно.. И тупые запросы в которых много where с and or и сортировка

Dmitry
01.03.2017
10:54:37
Подойдет

>Волнует тот факт что нету null и не очень понятно как задать отсутствие определённого свойства у объекта. Сделать поле Int8 с тремя значениями

mAX
01.03.2017
10:56:57
Понятно, спасибо! Попробую.. Эксперимент провести вроде бы должно быть легко!)

Google
Alex
01.03.2017
10:57:09
Если выборки например для показа и нужны все свойства товаров, грубо говоря SELECT *, то не очень подойдёт

Dmitry
01.03.2017
10:58:45
Если выборки например для показа и нужны все свойства товаров, грубо говоря SELECT *, то не очень подойдёт
Ну ладно, нормально будет работать, просто не так быстро как для аналитики. Тем более если нужно много отфильтровать и мало показать PREWHERE поможет

вчера на митапе говорили
В любом случае если можно обойтись без null - лучше обходиться

null тоже не бесплатно

mAX
01.03.2017
10:59:31
Если выборки например для показа и нужны все свойства товаров, грубо говоря SELECT *, то не очень подойдёт
Достаточно лишь одного select id where и куча or and А дальше из key-value хранилища быстро можно получить сам товар со всеми свойствами

Игорь
01.03.2017
10:59:36
не поспоришь

Dmitry
01.03.2017
11:00:35
для хранения bool все равно используется int8 или uint8 (1 байт), так что отсутсвующее значение можно легко добавить

Dmitriy
01.03.2017
11:01:45
Алексей говорил что null реализованы не доконца. лучше не использовать, хоть они и есть

Dmitry
01.03.2017
11:02:09
и это тоже

с ними ещё бывают проблемы

mAX
01.03.2017
11:02:53
Да, согласен.. Можно обойтись и без null. Но с ними как-то удобнее))

Dmitry
01.03.2017
11:02:58
У нас есть больше сотни таблиц и везде мы обходимся без null

Alex
01.03.2017
11:03:20
Хороший индикатор того, что можно не опасаясь использовать null-ы - когда они появятся в документации ;)

mAX
01.03.2017
11:03:21
Спасибо за консультацию, будем пробовать!)

Alex
01.03.2017
11:03:32
А сейчас там много неочевидного поведения, да и просто багов

Константин
01.03.2017
11:12:33
как-то странно, на кластере выполняю запрос в distributed таблицу - запрос выполняется секунды 3, вижу только один прогрессбар, а не несколько

это нормально?

Dmitriy
01.03.2017
11:16:55
думаю да . у меня также версия CH 1.1.54164.

Google
Felixoid
01.03.2017
11:17:59
Вопрос по поводу наследования профилей https://clickhouse.yandex/reference_ru.html#%D0%9F%D1%80%D0%BE%D1%84%D0%B8%D0%BB%D0%B8%20%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BA сказано, что могут наследоваться друг другом. Может ли один профиль наследовать настройки из нескольких других?

Константин
01.03.2017
11:25:11
Когда впервые видел демо работы КХ на ютубе, там было несколько.

Alexander
01.03.2017
11:31:52
Нажимайте периодически на ENTER, будут появлятся новые прогрессбары (собственно, сам прогресс). Скорее всего вы видели именно это

Alexey
01.03.2017
12:03:48
Привет! как эфективно хранить ipv6 адреса, если трафика от них почти нет?
Да, FixedString(16). Причём можно сделать два столбца - один - только для IPv4 типа UInt32 (в случае IPv6 заполняется нулём), а другой - FixedString(16) - и для IPv4 и для IPv6. Если для отчёта нужен только IPv4, то использование столбца типа UInt32 будет эффективнее. Впрочем, это уже усложнение.

Denys
01.03.2017
12:05:59
Ребята, а если большую ReplicatedMergeTree таблицу джойнить саму на себя с фильтрацией - нормальный кейс для КХ?

mAX
01.03.2017
12:13:32
Товарищи, а КХ-клиент под винду не собирали?

mAX
01.03.2017
12:16:06
Который консольный, красивый

Pavel
01.03.2017
12:16:45
Нет. И он не соберётся, так как для этого надо собрать весь КХ.

mAX
01.03.2017
12:17:05
Понятно, спасибо!

/stat@combot

Combot
01.03.2017
12:17:09
combot.org/chat/-1001080295593

Боб
01.03.2017
12:46:05
@milovidov_an Боб Смит: Если для таблицы зада индекс EventDate, Timestamp, Country то запрос select * from table WHERE EventDate=toDate('2017-01-01') AND Country=RU будет использовать учитывать что данные уже упорядочены как надо? Или надо обязательно все поля индекса перечислять, даже если там любое значение подходит, например: WHERE EventDate()=toDate('2017-01-01') AND TimeStamp BETWEEN toDateTime('2017-01-01 00:00:00') AND toDateTime('2017-01-01 23:59:59') AND Country = 'RU' ?

mAX
01.03.2017
12:57:13
Товарищи, если в КХ данные таблицы хранятся по колонкам, то верно ли что для всех колонок всегда есть уже построенный индекс?

Dmitry
01.03.2017
13:00:34
Нет. Индекст есть только по PK

Combot
01.03.2017
13:04:49
combot.org/chat/-1001080295593

Боб
01.03.2017
13:53:58
Нет. Индекст есть только по PK
Понятно что по ПК. Тут получается что используется часть ключа. Читал в канале что кликхаус умеет использовать ключи с пропусками, но подробной информации об этом не нашел.

Т.е. сможет ли он использовать ключ эффективно именно в этом сценарии

Google
Dmitry
01.03.2017
13:55:55
что значит ключи с пропусками?

Renat
01.03.2017
14:13:05
хочу странного: возможно ли выполнить detach таблицы и attach, но уже с другим PK?

Alex
01.03.2017
14:14:32
что значит ключи с пропусками?
Наверно имеется в виду вот что: представим, что у нас дата вообще одинаковая во всех записях. Тогда можно указывать условие на второе поле индекса (пропустив первое), и индекс всё равно будет использоваться.

Dmitry
01.03.2017
14:15:00
хочу странного: возможно ли выполнить detach таблицы и attach, но уже с другим PK?
Нет, ибо attach подразумевает что данные уже отсортированы по ключу и менять их не надо

Renat
01.03.2017
14:22:32
Создать новую таблицу с нужным PR + insert from select - единственный способ?

Dmitry
01.03.2017
14:24:18
да

Alex
01.03.2017
14:48:12
Т.е. сможет ли он использовать ключ эффективно именно в этом сценарии
Индекс не будет использоваться (точнее, будет использоваться только для условия на date), даже если указать условие на timestamp. Скорее всего у вас с одинаковым timestamp совсем немного событий. От сортировки по country в таком случае мало толку, она не позволит отсечь большие диапазоны строк.

Vladimir
01.03.2017
14:58:17
Вопрос - поддерживаются ли источник данных Postgres в словарях? MySQL, КХ, executable скрипт, http, файл - вижу есть. А постгрес?

ну либо odbc коннектор.

Dmitry
01.03.2017
14:58:41
"или любой ODBC источник."

https://clickhouse.yandex/reference_ru.html#Внешние словари

для посгреса наверняка ODBC есть

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